Android逆向经验总结
来源:互联网 发布:淘宝店主实拍 编辑:程序博客网 时间:2024/06/06 05:52
1.有选择性选择设备
adb devices -l
List of devices attached
emulator-5554 device product:sdk model:sdk device:generic
adb -s emulator-5554 shell
root@android:/ #
2.调试模式启动程序
am start -D -n com.yaotong.crackme/com.yaotong.crackme.MainActivity
此时应用程序会等待被调试。此时可以做IDA附加等动作。
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8604
流程
执行android_server
端口转发 adb forward tcp:23946 tcp:23946
调试模式启动程序 adb shell am start -D -n 包名/类名
IDA附加,Debugger->Debugger Options 可以设置调试选项。
静态找到目标函数对应所在模块的偏移地址
Ctrl+S找到对应模块的基地址,两个地址相加得到最终地址
G跳转至地址,然后下断
F9运行
执行jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
断下,进行调试
3.2 IDA 附加,下断点
3.3 kill -18 <pid> 运行进程
if(dvmDexFileOpenPartial(addr,len,&pDvmDex) != 0)
{
ALOGE("Unable to create DexFile");
goto bail;
}
libvm.so 载入IDA,搜索字符串:Unable to create DexFile
adb devices -l
List of devices attached
emulator-5554 device product:sdk model:sdk device:generic
adb -s emulator-5554 shell
root@android:/ #
2.调试模式启动程序
am start -D -n com.yaotong.crackme/com.yaotong.crackme.MainActivity
此时应用程序会等待被调试。此时可以做IDA附加等动作。
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8604
流程
执行android_server
端口转发 adb forward tcp:23946 tcp:23946
调试模式启动程序 adb shell am start -D -n 包名/类名
IDA附加,Debugger->Debugger Options 可以设置调试选项。
静态找到目标函数对应所在模块的偏移地址
Ctrl+S找到对应模块的基地址,两个地址相加得到最终地址
G跳转至地址,然后下断
F9运行
执行jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
断下,进行调试
3.kill用法
#define SIGCONT 18
#define SIGSTOP 19
3.2 IDA 附加,下断点
3.3 kill -18 <pid> 运行进程
kill的思想是暂停反调试,使得可以附加,后续想继续调试,只有一个思想,就是阻止程序结束,即暂停进程->调试器附加->阻止自杀->尽情调试.
if(dvmDexFileOpenPartial(addr,len,&pDvmDex) != 0)
{
ALOGE("Unable to create DexFile");
goto bail;
}
libvm.so 载入IDA,搜索字符串:Unable to create DexFile
0 0
- Android逆向经验总结
- Android:apk反编译步骤,打包、签名和逆向工程经验总结
- Android:apk反编译步骤,打包、签名和逆向工程经验总结
- android 经验总结
- Android 经验总结
- android经验总结
- Android逆向
- Android 逆向
- android逆向
- [Android逆向]-Android逆向基础
- Android dialog应用经验总结
- android webview经验总结
- android wifi移植经验总结
- Android DVB 项目经验总结
- Android技术经验总结
- android 工模问题经验总结
- Android项目实战经验总结
- Android 开发经验总结
- vmware esxi 报错an error occurred while saving the snapshot:change tracking target file already exists
- linux下解压zip文件时,文件名乱码的解决
- (4.1.19)【Android UI设计与开发】第06期:底部菜单栏(一)使用TabActivity实现底部菜单栏
- PAT 1002. A+B for Polynomials (25)
- ORACLE数值类型详解--NUMBER、BINARY_FLOAT、BINARY_DOUBLE、BINARY_INTEGER、FLOAT
- Android逆向经验总结
- why maven use jdk 1.6 but my java -version is 1.7
- storm应用场景(转载的)
- 一步一步写算法(之循环和递归)
- (4.1.20.1)利用Theme自定义Activity间的切换动画
- design_pattern_composite
- mybatis异常:Could not find result map java.util.Map 问题分析及解决
- (4.1.21)Android 主线程和线程之间相互发送消息
- select count(*)和select count(1)的区别