某小视频App v10.x 手机号加密算法分析

公众号: 奋飞安全
• 阅读 697

一、目标

今天的目标是 手机号加密,app变化太快,以前都是明文的。

某小视频App v10.x 手机号加密算法分析

TIP: 某小视频App v10.2.30.24518

二、步骤

字符串匹配

也许是手机号都是1xx开头,也许是这个加密字符串有个特征头。 反正经过我们观察,发现它大概率是 3sCt 开头。

而这种加密算法大概率是在Native层去做的。所以我们首选是去 hook_libart 里面的 GetStringUTFCharsNewStringUTF

结果木有结果。

Base64

这个 3sCt 开头的字符串,很像Base64的结果。我们尝试用Base64去解一下,发现能解开。

那就毫不犹豫的尝试 Hook android.util.Base64 。

依然木有结果,这就比较神奇了,唯一的解释是 App木有用标准的Base64库函数,而是自己写了一个Base64算法。毕竟Base64的算法满天飞,有手就行。

搜字符串 "mobile"

现在死马当活马医吧。只能尝试去搜搜字符串了。

某小视频App v10.x 手机号加密算法分析

结果并不多,比较有重大嫌疑的就是这两处了。

我们点进去分析 m434739f 函数

某小视频App v10.x 手机号加密算法分析

这个App已经混淆到令人发指了,居然还能出现 atlasEncrypt 这么明显的函数,一定得好好Hook它。

m60341e 也值得我们注意,这个类很像是Base64算法,这也解释了为啥Hook android.util.Base64 木有结果

开始写代码吧

var IKSecurityExCls = Java.use("com.xxxixxxu.android.security.KSecurity");

IKSecurityExCls.atlasEncrypt.implementation = function(a){
    var StrCls = Java.use('java.lang.String');
    var inStr = StrCls.$new(a);

    var result = this.atlasEncrypt(a);
    console.log(inStr + " >>> atlasEncrypt(Hex) " + bytesToHex(result));
    console.log(inStr + " >>> atlasEncrypt(Base64) " + bytesToBase64(result));

    return result;
}

跑一下

某小视频App v10.x 手机号加密算法分析

没错,就是这个 3sCt

三、总结

自定义的Base64算法有个特征,大概率会有个

private static final char[] f323023h = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'};

常量数组的定义,所以下次遇到类似的情况可以考虑搜一下这个常量字符串。当然前提是标准的Base64算法,之前我们遇到的魔改的Base64算法,就是打乱的这个常量数组的顺序。

App的分析得一直跟踪,才不会落伍,我们之前分析过这个App,也找到过 #KSecurity# 这个类。所以下次再遇到它升级后的版本加密了其他东西,可以考虑先把这个 #KSecurity# 类的函数Hook一遍再说。

某小视频App v10.x 手机号加密算法分析 我们登上并非我们所选择的舞台,演绎并非我们选择的剧本

TIP: 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系,本文涉及到的代码项目可以去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一起学习探讨技术。有问题可以加我wx: fenfei331 讨论下。

关注微信公众号: 奋飞安全,最新技术干货实时推送

点赞
收藏
评论区
推荐文章
Irene181 Irene181
3年前
盘点Python加密解密模块hashlib的7种加密算法
大家好,我是黄伟。今天给大家介绍hashlib模块!前言在程序中我们经常可以看到有很多的加密算法,比如说MD5sha1等,今天我们就来了解下这下加密算法的吧,在了解之前我们需要知道一个模块嘛就是hashlib,他就是目前Python一个提供字符加密的模块,它加密的字符类型为二进制编码,所以直接加密字符串会报错。importhashlibstring'任
某A系电商App x-sign签名分析
一、目标前不久(我去,都大半年了)分析过我们找到了几个伪装成so的jar包。虽然rpc调用ok了,但是它的实际运算过程还是在so里面的。今天我们从它们同族的App来入手,利用Native层字符串定位的方式来定位下在哪个so中去做的运算。App版本:v4.15.1二、步骤特征字符串定位一开始选择的特征字符串是x,后来发现没有xsign好使In
某汽车社区App 签名和加解密分析 (二) : Frida Dump so
一、目标App安全的主战场在Native层,分析Native层的so,最趁手的兵器就是Frida和Unidbg了。今天我们的目标是某汽车社区Appv8.0.1so的分析。二、步骤特征字符串定位我们在上一篇教程已经定位了,数据加密和解密函数再java层的位置。按照常理来说,这个java类文件中,应该有个System.loadLibrary("
某电商App 返回数据加密解密分析(四)
一、目标最近在抓包某电商App的时候发现一个加密数据,它在做通讯地址请求的时候,请求数据做了加密。返回数据中的地址信息也是密文。今天我们的目标就是这个数据的加密解密。App版本:v10.3.0二、步骤分析一下1、数据的结尾是"",说明是Base64编码,那么我们可以尝试去HookBase64相关函数,然后打印堆栈。2、返回数据格式是json,那么我
某神奇App data加密算法解析(一)
一、目标李老板:奋飞呀,我遇到一个超级牛掰的App,它请求的时候有个data参数加密,用尽了你介绍的所有的方法,都找不到它是如何加密的。奋飞:子曾经曰过,老板的嘴,骗人的鬼。有这么牛掰的App,那么我们这帮兄弟早就失业了。某神奇Appv10.1.0点社区随便打开一篇有评论的文章今天的目标就是这个data二、步骤搜索特征字符串目标是data,所以我
手把手教你搭个Frida + Sekiro Rpc框架
一、目标联手机签名是个比较取巧的方案,之前我们介绍过android连真机签名公网ip更新方案SekiroXposed签名解决方案现在frida用的比较多,并且Sekiro也升级了新版本,我们今天就来手把手教你搭个FridaSekiroRpc框架。二、步骤我们以这个手机号加密算法为例先运行服务器端官网在这里gitclone下来;在Li
某婚恋App _t 签名分析
一、目标最近也不让加班了,李老板每天早早的就回家,小视频也刷的没意思了。还是好好找个mm正经聊聊吧。今天我们的目标是某婚恋App的v11.3.2。二、步骤抓个包\t参数,看上去像是时间戳加上一个md5(掰指头数了数,一共32位)。jadx搜一搜\t,我去,10几万条结果。一时激动,都忘了我的独门秘籍了。这种签名一般会以字符串的方式存入一个m
某小说App返回数据 解密分析
一、目标李老板:奋飞呀,最近被隔离在小区里,没啥可干的呀。奋飞:看小说呀,量大管饱。我们今天的目标就是某小说Appv20210953二、步骤搜索url字符串App请求小说内容的时候没有加签名,但是返回的数据是加密的。那么我们先去jadx搜索一下这个url(novelcontent),看看有没有发现。结果是没有收获。那么很有可能这个url不是在apk中写
某问答社区App x-zse-96签名分析
一、目标今天我们的目标是某问答社区App的 xzse961:main版本:v8.21.1二、步骤搜xzse96常规做法是jadx打开apk,然后搜索xzse96。神奇的是,居然没有结果,这就有点意思了,App给我们加戏了,把一些明显的字符串做了加密隐藏。观察共性观察一下,签名有两个共性1、都是 1.0 开头2、后面接着的很像Base64那就先从h
Wesley13 Wesley13
3年前
JS MD5 返回二进制格式
今天靠大佬的帮助,成功的解决了一个弄了好久的问题。起因就是我们要对一个手机号进行加密。  加密方式是把一个字符串进行MD5加密之后,得到原始16字符二进制格式。然后把得到的这个字符作为AES的key对手机号加密,最后得到这结果。最奇怪的就是得到二进制格式,我以前做过md5加密,得到的都是字符串,不管是32位的,还是16位,但是这次居然要二
公众号:  奋飞安全
公众号: 奋飞安全
Lv1
奋飞,国家高级信息系统项目管理师,独立安全研究员。 http://91fans.com.cn/
文章
60
粉丝
4
获赞
44