python写的软件怎么逆向_App逆向|一个案例教你如何进行APP逆向

发布于:2023-05-22 ⋅ 阅读:(203) ⋅ 点赞:(0)

8b828fc284973f412c79a3207fbc1af4.png

点击上方“Python学习开发”,选择“加为星标”

第一时间关注Python技术干货!

今天有个好兄弟找我,因为抢不到票,很生气,直接想爬虫干他了。然后看了下请求。

6ce86404e1e4368c7adfbbbc90ed20cf.png

就是这个p_json_dig这个参数。

接下来,想直接打开jadx开搜了。发现被数字壳加固了。

上!FRIDA-DEXDump! 直接脱掉。

8253d66559620bbe75c15b37477b7111.png

搜索一波 发现就在这个dex里面,jadx启动!

affc90186beb694ff565166332140664.png

那岂不是hook Security.INSTANCE.restoreString 这个方法就完事了,看了下Security是android.widget.Security; 这个类里面的,发现没找到。

c0872e1e65df79264c27a006856b4650.png

应该是在别的dex里面 搜一波

ad28e960a5b46dedf46322bdee258135.png

ad9dd05940e3956756050fb25b6d981a.png

找到了 是个native的方法。不多说 先hook一波,objection上!

0b4cd633a990fa6b4754ef8dfa3f499a.png

直接hook上 然后触发这个请求。

调用栈 入参 出参 全部自吐,美滋滋。

5ae567e008998e8e53cfcfb726e00c4d.png

那就可以主动调用了。

但是我还想追一追 康康这个算法是啥。

6d5bd217caf5977164abd71e28742ada.png

把这两个 so 拿出来康康,

一个 native的方法注册 要么静态注册 要么动态注册。

搜了下发现crypto的so里面没有函数注册,那就在wallshow的so里面康康

ea03ca7e5fb4faa9cbedd64eae31bc73.png

不是静态注册

542d9f8abf9b30c73e56e549809397ac.png

那就是动态注册了,上一波yang神的脚本

hook_registerNatives.js

4158eeb41652e92001363e71ff7ce84e.png

直接逮到,拿他的偏移去IDA去康康

542c6141e6ec4064f578c949b659dafb.png

29d3f8e272d115c9a54b9d2596c16ab8.png

算法一目了然,rsa加密,就不还原了。

一行代码都没写就找到了,美滋滋,大佬的工具真好用。

比较懒 写个主动调用吧。

eedd98a01ad31809abc899fa8252de80.png

用objection hook一下验证下入参格式。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到