gdb调试android native程序的辅助插件
花了几天看了一下gdb的python api,然后写了一个很水的gdb插件,主要用来辅助gdb调试android native程序,不用再看着gdb的恶心界面了。使用过其他的gdb辅助插件,在x86,x86-64架构的调试都做的很棒了,但是拿来远程调android还是有很多问题,没有一个能正常使用的(有可能本人姿势有问题,请大家指点)。所以还是动手自己写了一个,目前功能不多,只是写了大概框架,以后还会继续丰富。希望大家能关注并给个star,谢谢
代码写的有点乱,不是专业的,勿喷
<<<<<插件github地址>>>>>
插件主要功能:
1. 界面美化
2. 解析JniNativeInterface方法,在使用ida调试的时候,通常会导入一个jni.h文件,然后ida处理之后就可以识别调用的一些JniNativeInterface方法,所以我也加入了这个功能。脚本里保留了一个JniNativeInterface方法的列表,通过比对blx rx中rx寄存器的地址来提示调用的方法(有可能不太稳定,测试不够多)。
3. 要使用jni函数解析功能,首先要获取JNIEnv的地址,然后使用set $sgdb_jnienv = address来设置这个变量。
4. 后续功能
之后会实现一些常用的调试命令,在调试的时候可以把很多的复杂操作封装成一条gdb命令。
如果有好的想法也可以fork之后修改了来pull request。
学习了,谢谢分享
页:
[1]