ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

安卓逆向之某手sig

2021-03-21 10:59:02  阅读:358  来源: 互联网

标签:安卓 sig so hook 参数 dword 某手 5070


版本: 6.8.2
在这里插入图片描述
通过抓包可以看出,sig和__NS_sig3都是请求数据时所必须的字段,本文主要说一下sig。
sig的关键代码定位比较容易,直接全局搜索就可以看到。在这里插入图片描述
在这里插入图片描述
不难看出这里调用了CPU.a方法,返回值应该就是我们想要的sig的结果,直接点过去看下a方法的实现。
在这里插入图片描述
这里是调用了core.so中的getClock方法得到的sig,三个参数中,我们重点需要看一下第二个参数bArr。可以直接hook这个方法,来把这个字节数组转成字符串,看下是将那些信息传进去做了处理。
在这里插入图片描述
从hook结果可以看出,第二个参数是有一大坨key,value的东西拼接的一个字符串。在之前抓包的结果中搜索,发现这些key,value都是请求时的参数。只要将这些指定的参数拼接成字符串,然后通过getClock的处理就可以得到最终结果了。
如果使用rpc技术或者unidbg,那么分析到这里就可以了,不需要再去分析so里面到底做了什么。但是本着一颗学习的心,我们还是要研究一下so中做了哪些处理。毕竟抠代码才是王道,rpc什么的还是有些限制的。
用ida打开libcore.so,找到getClock,f5看一下伪c代码。
在这里插入图片描述
圈起来的部分是做了一些判断,判断不过就返回0,与加密无关,所以直接忽略。
重点来看一下v12=dword_5070这里,在下面dword_5070参与了运算。看一下dword_5070到底是什么东西,hook也可以,ida动态调试也可以。我为了方便就直接hook了。
在这里插入图片描述
hook结果发现这是一个字符串,多次hook发现它是不变的。
然后继续向下看。重点看一下sub_158C,sub_15BC,sub_1720这三个函数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到这,再联合sig的最终结果的形势,很容易想到这是一个md5的处理。而之前的dword_5070参与了运算,应该就是加了盐。直接拿刚才hook到的字符串来运算一下,看看结果是否一样。
在这里插入图片描述
运算结果一模一样,就是一个加了盐的md5。到此sig参数分析完成。

原本想拿某书作为我逆向之路的第一个破解对象,但是似乎对我这个小白不太友好,它的反调试让我感到很疑惑。靠frida似乎很难完成so的破解,它的参数结构复杂,不像某手这样简单直观。
在此欢迎各路大佬前辈们进群交流:546452230

标签:安卓,sig,so,hook,参数,dword,某手,5070
来源: https://blog.csdn.net/weixin_42545308/article/details/115042528

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有