当前位置:编程学习 > wap >>

ios那些事之如何在ios5上运行gdb

为啥要在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=

   


接着做以下几步


[plain] 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 
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
 

[plain] 新建并保存文件 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> 
新建并保存文件 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>


[plain] 使用下载的ldid 
ldid -Sentitlements.xml gdb 
 
使用scp把gdb拷贝到ios设备上 
scp gdb root@<iOS Device IP Address>:/usr/bin/ 
使用下载的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行为了:)

 


摘自  Melody_lu123
 

补充:移动开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,