【安卓逆向】分析某人直播.apk登录组包

在这里插入图片描述
安卓逆向交流QQ群692903341
1.打开"人人.apk",进入登陆页面,输入用户名和密码,并用fiddler软件抓包
在这里插入图片描述
fiddler抓包如下图所示
在这里插入图片描述
红框所示为登录时向服务器发达的包,下面我们要分析这里面每个字段的产生
2.打开ddms,点击下图红框的按钮,点击人人.apk登录按钮后,马上点击红框处的按钮,查看登录按钮调用的函数
在这里插入图片描述
抓取的结果如图所示:
在这里插入图片描述
在抓取的结果中搜索OnClick函数,可以找到红框所示的函数
在这里插入图片描述
用andrroid studio动态调试,在此处下断点,发现点登录按钮会在该函数断下,可确认该函数就是登录按钮对应的函数
3.用jadx-gui分析登录函数
先用SDK/tools目录下uiautomatorviewer.bat抓取登录按钮的ID
在这里插入图片描述
在这里插入图片描述
上图红框处就是登录按钮的ID
回到com.renren.mobile.android.login的OnClick函数可判断下面的代码就为点击登录按钮执行的代码
在这里插入图片描述
这里从用户名和密码框取出字符保存,然后调用了N函数(com.renren.mobile.android.login.N),进入N函数
在这里插入图片描述
4.进入
com.renren.mobile.android.service类的
public static void a(final String str, final String str2, int i, String str3, String str4, Context context, LoginStatusListener loginStatusListener)
在这里插入图片描述
从上图可以发现POST表单中除了
api_key,call_id和第二个sig字段没有,基本都有了。
在这里插入图片描述
在此处可以发现api_key,call_id。
经分析可以得到里面关键字段来源:
api_key:在string.xml里9e1874c67e0b42d79cc16f787b644339
password:看RSA的Key是否为空,如果为空表示用MD5加密,如果不为空用RSA加密
uniq_id:IMEI号
rKey:密钥
call_id:localJsonObject.put(“call_id”, System.currentTimeMillis());是一个时间戳
第一个sig:对上面所有字段算MD5值
在这里插入图片描述
5.现在还差第二个sig的值没有找到,下面开始找第二个sig
在这里插入图片描述
再到上图红框的函数去(可通过搜索setSecretKey)
com.renren.mobile.net.http

可见改函数是吧传进来的字段保存到com.renren.mobile.net.http类的secretKey字段中

搜索secretKey
在这里插入图片描述
在这里插入图片描述
发现使用该字段的地方只有2处,其中一个是构造函数,只有蓝框处最有可能,我们可以在两处都下断点,动态调试,发现断在cba函数
在这里插入图片描述
在这里插入图片描述
执行下面语句前字符串的值
在这里插入图片描述在这里插入图片描述
可见添加第二个sig字段就在该函数
用jdax-gui分析该函数
在这里插入图片描述
在进入a函数
在这里插入图片描述
从上面的代码可以分析出第二个sig是用前面所有字段和secreKey的值进行排序组合后计算MD5值
至此POST表单的所有数据分析完毕。

猜你喜欢

转载自blog.csdn.net/YJJYXM/article/details/101678443