记录一次androidStudio动态调试破解加密参数的过程!!
先说点废话!!我是做python爬虫的一个程序员,因为新工作要爬app,再爬取的过程中遇见很多加密的参数sign,token等等!!为了工作也是接触到了android逆向,在52破解论坛学习到很多有帮助的东西!第一次发帖!!有不对的地方大佬们请轻喷指正!!!今天说的是一个小说app,直接charles抓包结果看到两个加密参数requestId和rqid!
看着这两个参数直接就androidkiller搜索一波,先搜这个requestId。
可以结合到java代码来对照的分析
requestId这个值分析得差不多了,直接搜索rqid,因为我搜索出来的rqid有很多,但是都在一个smali文件里所以我就不在这去看smali带了,等会儿调试的时候每一个出现rqid的位置都打上断点看程序走的哪一个就ok了
分析到这,咱们就可以把dedug模式加上回编译apk然后安装到模拟器里面了。
在拷smali代码的时候就拷加密smali所在的文件就可以,不用管smali2
这一步做完了,接着就去配置androidStudio里面的内容先导入smali拷贝的文件然后按图操作就行
这配置完接着配置端口信息
这些都搞定了后就可以开始输入调试命令了adb shell am start -D -n 包名/入口,我调试的这个应用是adb shell am start -D -n com.dudiangushi.dudiangushi/com.flood.tanke.ActLoading
模拟器跑起来出现这个界面就别管它了,然后在androidStudio运行debug
现在在androidStudio导入的smali代码找到刚才我们发现requestId加密拼接字符串的位置进行断点
明显可以看出这个requestId现在看来就没什么卵用啊,md5又不可逆,它这个后台也没法验证啊,所以接下来这个rqid才是它这个请求的重点,开始分析的时候也说了rqid很多,就不去分析smali代码了直接在这些rqid的字符串处全部打上断点,运行看程序走的哪一个就可以了!!
结果分析java层看着更头痛,再换一个思路,断点后可以让程序一步一步执行,虽然麻烦点,但是谁让咱java没看明白呢
因为这已经找到了rqid是怎么来的了,只需要在赋值之前调用方法的位置打个断点然后一步一步执行就行了
这个一步一步的执行需要看右下角寄存器值的变化,这里就不说一步一步的过程了,直接说找到字符串拼接的位置
我调试这个位置的时候直接找的搜索位置,这样跟更帮助找到加密位置。
到此这两个加密参数咱们就破解出来了!!然后就可以愉快的发请求去拿数据了!!分享到这吧~~~app我就挂7天的百度云!!!!练手抓点紧哦!!!
链接:https://pan.baidu.com/s/1GoTX6di3OU1JdPqa226Bew 提取码:7slg
然后再说点废话,目前我遇见加壳和so加密层次的,我就拉闸了!!目前还在一步步学习!!希望大神们多分享点实操帖子,让我们这些刚接触逆向分析的小白学习一哈哈!!!磕头了!!咚咚咚~~~~
Ramen 发表于 2019-8-6 13:52
请问爬虫工程师前景如何呀 , 逛知乎感觉不怎么好 , 我以后还打算转爬虫呢 , 楼主可以发表一下看法吗
这个我也说不好,分布式爬虫啊》》数据清洗》》数据分析》》人工智能/大数据!!还是得网上层走,爬虫只是数据最底层了,我是不建议转!!还是得看你自己的学历和算法什么的!!我是没学历,算法也不咋懂,就是一个爬数据!!你的算法功底和学历都没问题就往人工智能靠呗!! 911speedstar 发表于 2019-8-9 10:20
追踪到au.j时,点击j,出现错误 // INTERNAL ERROR //
什么原因啊
au.j就不用在进去了,就是一个md5加密实现的过程!直接把拼接出来的字符串拿去做md5加密就行了。那个au.j应该是自带方法断点就会出错。我也不太清楚。 收了,谢谢楼主分享 谢谢楼主分享 谢谢@Thanks! 学习一下,以前没这么干过 实操总能让人眼前一亮 请问爬虫工程师前景如何呀 , 逛知乎感觉不怎么好 , 我以后还打算转爬虫呢 , 楼主可以发表一下看法吗 支持技术贴噢 这种我一般直接hook
页:
[1]
2