通过这里的文献https://dllhook.com/post/213.html 可以知道在 CallFunction 函数下断即可~~


先将linker从手机里面pull出来:

adb pull /system/bin/linker  d:/apk/


IDA载入 linker:

然后可以用红框的方法搜函数名或者字符串定位到 CallFunction 函数

1.png


转到汇编窗口分析:

2.png


记住这个偏移地址:0x15B8


下面实战下:

1.调试模式启动目标程序

adb shell am start -D -n com.example.piao.nativedemo/.MainActivity

2.启动android_server

adb shell
su
android_server

3.端口转发

adb forward tcp:23946 tcp:23946

4.IDA附加

查看:https://dllhook.com/post/208.html

5.找到断点位置

A.找到模块基址:

3.png

断点地址 = 0xF72EA000+0x000015B8 = 0xF72EB5B8

4.下断、然后F9:

4.png

5.继续运行App

jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700


可以看到IDA已经顺利命中断点~

5.png


F7进入即可调试.init .init_array

init.png

你可能感兴趣的文章

评论区

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。