ios那些事之如何在ios5上运行gdb
2012-05-21 10:50
302 查看
为啥要在ios上运行gdb? 这个问题见仁见智喽。对于搞开发的同学们来所, 有了gdb更方便跟踪分析别人的程序,取长补短:)这里不是教大家crack:)
运行环境:
Mac OS 10.7.4
Xcode 4.3.2
IOS 5.0.1 jailbreak ipod 4
首先找到Xcode中自带的gdb
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb
下载ldid,http://code.google.com/p/networkpx/downloads/detail?name=ldid&can=2&q=
接着做以下几步
参照SCS3_2011_Bachmann.pdf中的描述可以知道如何使用(需要翻墙才能下载到该pdf)
另外,
在进行disassemble的时候,需要使用clutch之类的工具先把从app store上下载下来的app进行decryption,然后再使用相关的nm、ida、class-dump-z来进行相应的汇编代码查询,找到需要关注的函数入口点的地址。
最后才在target的deivce上进行gdb attach --pid,把断点设置在之前找到的地址上,就可以进行你想要的crack行为了:)
参考资料:
http://www.ijailbreak.com/cydia/how-to-install-gnu-debugger-gdb-on-ios-5/ http://hackulo.us/forums/index.php?/topic/90872-clutch-released/
运行环境:
Mac OS 10.7.4
Xcode 4.3.2
IOS 5.0.1 jailbreak ipod 4
首先找到Xcode中自带的gdb
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb
下载ldid,http://code.google.com/p/networkpx/downloads/detail?name=ldid&can=2&q=
接着做以下几步
cd /tmp cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin . lipo -thin armv7 gdb-arm-apple-darwin -output gdb
新建并保存文件 entitlements.xml <!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”> <plist version=”1.0″> <dict> <key>com.apple.springboard.debugapplications</key> <true/> <key>get-task-allow</key> <true/> <key>task_for_pid-allow</key> <true/> </dict> </plist>
使用下载的ldid ldid -Sentitlements.xml gdb 使用scp把gdb拷贝到ios设备上 scp gdb root@<iOS Device IP Address>:/usr/bin/
参照SCS3_2011_Bachmann.pdf中的描述可以知道如何使用(需要翻墙才能下载到该pdf)
另外,
在进行disassemble的时候,需要使用clutch之类的工具先把从app store上下载下来的app进行decryption,然后再使用相关的nm、ida、class-dump-z来进行相应的汇编代码查询,找到需要关注的函数入口点的地址。
最后才在target的deivce上进行gdb attach --pid,把断点设置在之前找到的地址上,就可以进行你想要的crack行为了:)
参考资料:
http://www.ijailbreak.com/cydia/how-to-install-gnu-debugger-gdb-on-ios-5/ http://hackulo.us/forums/index.php?/topic/90872-clutch-released/
相关文章推荐
- ios那些事之如何在ios5上运行gdb
- ios那些事之如何在ios5上运行gdb
- ios那些事之如何在ios5上运行gdb
- 如何获得ios系统持续运行时间
- iOS开发那些事-如何编译iOS程序
- IOS如何以兼容模式运行在iphone4、5、6的屏幕上
- iOS: 如何判断代码运行在DEBUG还是RELEASE模式下?
- iOS 如何查看一段代码运行的时间
- 如何防止iOS程序在运行中进入待机模式
- 如何编译出兼容4.3, 4.3以下和以上版本的iOS静态库文件?及在4.2真机上运行?
- iOS App开发那些事:如何选择合适的人、规范和框架?
- ios tableView那些事 (六) 如何处理tableView上的文字
- ios-multitasking-应用转入后台时,如何继续后台运行任务
- iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行
- iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行
- C语言的那些事——如何运行生成的.exe文件
- 如何将自己编写的软件放在真机上运行(ios证书相关的)
- iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行
- 如何让程序以root权限运行在IOS上
- iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行