Mac IDA动态调试Android应用so文件

使用环境:

macbookpro m1芯片(win试过未调试成功,具体原因未知。两者调试流程相同)

ida9.1

魅族root note9

应用:ollvm_ndk

调试流程:

1.手机上安装ollvm_ndk,并把其中的so文件放在电脑上

2.访达找到ida,右键显示包内容,搜索server,找到android_server和

android_x64_server,win找到配置ida的位置,也有这两个文件,不能通用。

3.把这两文件推送到手机上的/data/local/tmp(其他目录也一样),设置权限并执行./android_server,如果调试失败就执行64的

4.打开ida,放入之前获取的so文件,搜索java_xxxxxx,点击代码下一个断点。这里讲的是附加进程调试,启动新进程调试比较复杂(我还不会🙅🏻‍♀️)

5.点击debugger > select.... >remote arm linux/android debugger。

运行命令adb forward tcp:23946 tcp:23946进行端口转发

点击debugger >process options... > hostname填入127.0.0.1即可

点击debugger>attach to process.. >(手机上打开应用)点击serarch>搜索kanxue并点击这个进程


6.之后会弹出一个框,显示两个so文件是否相同,点击same即可。

7.在手机上的应用点击一下,即可进入之前断点的位置。

设置硬件断点

平常断点的原理就是把原来的代码修改成断点代码,如果一些自解密代码修改成debugger修改成断点就会变成一个错误的结果。

硬件断点不会修改内存数据

相关推荐
故事还在继续吗11 小时前
Mac 本地部署大模型
macos·llm·qwen
邵奈一13 小时前
M1 Max Mac版本实测 Rapid-MLX 项目(据说比ollama快4倍)
人工智能·macos·大模型
koping_wu13 小时前
【Claude Code】Mac安装Claude Code、通过阿里云百炼接入Claude Code
macos·阿里云·云计算·ai编程
nashane13 小时前
HarmonyOS 6学习:SpeechRecognitionEngine初始化报错排查实录
ide·macos·xcode·harmonyos 5
Hical_W1 天前
Hical 踩坑实录五部曲(二):MSVC / GCC / Clang 三平台 C++20 编译差异
linux·windows·经验分享·嵌入式硬件·macos·开源·c++20
wjhx1 天前
关于xcode中使用图标
ide·macos·xcode
互联网行业信息差1 天前
iOS开发常见问题与最新工具使用心得
macos·ios·cocoa
清泉Kikyō1 天前
Mac使用vscode claude 插件使用 deepseek flash
macos·deepseek
一块小土坷垃2 天前
## BetterTouchTool 5.736 特别版 – macOS 触控板增强工具深度体验
macos·开源软件
ahauedu2 天前
macOS 系统在处理文件时,会自动生成一些以 ._ 开头的隐藏文件
macos