使用IDA进行so库动态调试

对某APP进行抓包并IDA调试签名生成过程。顺便安利一下四哥的博客,学习Android逆向很好的资料。
Android逆向之旅之IDA调试so源码
蒸米大哥的乌云经典之作 安卓动态调试七种武器之孔雀翎 – Ida Pro

抓包搜索plaintext

so库搜不到java_com.*函数,猜测为动态注册

实际上这个动态注册没什么卵用(搜索encryptString仍然能搜到)

以下为IDA调试so详细步骤(7.0和6.8效果差不多)
chmod 777 /data 否则下一步会报错

adb push android_server /data

chmod 777 android_server

./android_server

adb forward tcp:23946 tcp:23946

IDA Attach进程(注意如果真机不处于debug模式将显示不了进程,可用BDopener解决)

(上面一步可以按pid排序,一般是最大的)

双击并Ctrl+F 搜索encryptStringApi

下断点

关键的几个地方

要加密的json数据

加密后并base64的数据
使用了http://www.seacha.com/tools/aes.html这个网址

======================分割线=================
不用keypatch的插件也支持动态的时候在十六进制窗口修改数据(汇编指令),与keypatch的区别就在于前者能直接修改汇编指令,后者只能通过十六进制数据窗口