本文为看雪论坛优秀文章
看雪论坛作者ID:chionyuna
本文章仅作学习交流用途,最近看个样本,是4代注册协议了,来兴致分析了下。跟3代比,没有了finger和pri。我猜测data和ep也是八九不离十,也是这两个东西。jni注册是这3个函数,比之前少了很多,后面hook了下w11是主函数加密。之前tn,pri都是在java层加密的。现在全部放在了ndk中。进去w11这个之后,就是ollvm混淆的,hook一遍入参之后:这里先从rsakey出发,为了验证之前的猜想。查看引用,这里推荐用unidbg去跑这个脚本,刚好之前龙哥也跑过sm,拿来就用。Debugger debugger = emulator.attach();
debugger.addBreakPoint(module.base + 0x17E00+ 1);
sub_8C1E8(v48, &byte_DB176, *orgation);
sub_8C1E8(v48, &byte_DB183, &byte_DB186);
sub_8C1E8(v48, &byte_DB18E, *appiddetaily);
sub_8C258(v48, &byte_DB194, COERCE_UNSIGNED_INT64(2.0), HIDWORD(COERCE_UNSIGNED_INT64(2.0)));
sub_8C258(v48, &byte_DB19B, COERCE_UNSIGNED_INT64(3.0), HIDWORD(COERCE_UNSIGNED_INT64(3.0)));
sub_8C1E8(v48, &byte_DB1A4, v52);// data 这个时候的data已经加密好了 随机数的md5key
sub_8C1E8(v48, &byte_DB1A9, v50);// tn a100str(有b1,就是data加密前的str)+ep+orgation+appid+sm_tn 的md5 加密,在一次rsa
sub_8C1E8(v48, &byte_DB1AC, v51);// ep 随机数的rsa
拿到这些,8c1e8一看就是hash.put这样的操作。先从ep开始分析。在5280c这块查看了引用(这是另一个so,本文中调试的so不是这个地址)。unidbg断下来之后。看看这个函数的参数。一般都是r0-r4.r0就是第一个参数。分析过3代的都知道,是根据一个随机数加密的rsa。这个随机数就是指纹最终加密的aes的key。用了这些c库,那就是随机值了,当前时间为随机种子。把它固定住好分析。然后再跟进去51200这个地址,大致看一下,也就是调用java层的rsa加密。确实是,那直接从unidbg中hook住这些结果看看。这是我写3代的时候写的代码,结合unidbg输出看看。继续分析tn,回到开始hash.put这里。也是同样的套路。废话我就不多说了。到这里要注意,aa994是一个append操作。byte_d51fa就是sm_tn。这个也很熟悉。51200就是rsa加密的函数。然后hook住这个v40。
v43是字符串拼接之后的东西,应该是md5了一下。拿去验证一下,结果是的。最后在验证一下这个值,是对的, tn的加密值也就出来了。
最后重头戏,看data。
data这里有很多处引用。慢慢分析吧,也可以根据unidbg先去打印一遍函数的执行流程,根据流程来trace。v68就是之前那个随机数了。v66是res,那么v67是啥。v54 = sub_6D46C(a3, &v67);这个函数引用了。a3就是我们需要加密的str。这个把a3做了一些操作。deflateInit2_(&strm, 9, 8, -15, 8, 0, &byte_D5C55, 56); deflateEnd(&strm);里面用到了压缩算法,那就是把整体的a3压缩了一遍,在aes一下。4c140里面是:
为了进一步的验证,我把hex提取出来。解压一下试试:没啥问题。最后为了验证那个aes的算法。我们生成出来的data是根据随机值加密的。
正常解。最终的算法我就不放了,自己研究一下就能搞定,都是标准算法。没有任何魔改的点。附上样本 链接:https://pan.baidu.com/s/17p3dWoFPMgPNHpNltqmEOg unidbg部分的代码,需要大家自己去龙哥星球下载啦。https://t.zsxq.com/JEUVfYf看雪ID:chionyuna
https://bbs.pediy.com/user-home-775817.htm
*本文由看雪论坛 chionyuna 原创,转载请注明来自看雪社区官网:https://www.bagevent.com/event/6334937
文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458393202&idx=2&sn=dca9ec0ffa544a7f6f8a87721b9281ab&chksm=b18f2af886f8a3eecbb3cae1ec0a05c3872ee3646d3f3ed77a81d0650c05a9245c02c722e844#rd
如有侵权请联系:admin#unsafe.sh