ios那些事之如何在ios5上运行gdb
运行环境:
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的更多相关文章
- 如何在yarn上运行Hello World(二)
在之前的一篇文章我们介绍了如何编写在yarn集群提交运行应用的AM的yarnClient端,现在我们来继续介绍如何编写在yarn集群控制应用app运行的核心模块 ApplicationMaster ...
- C#语言支持的特性,.NET却不支持,那么C#不被.NET支持的部分又是如何在.NET上运行的呢?
阅读<C#高级编程>系列丛书中,介绍C#与.NET的关系,提到C#是语言,.NET是平台(C#不是.NET的一部分),说".NET支持的一些特性,C#并不支持",这个可 ...
- 如何在yarn上运行Hello World(一)
1.YARN是什么 YARN (Yet Another Resource Negotiator,另一种资源协调者) 是hadoop上的一种资源调度器,它是一个通用资源管理系统,可以为上层应用提供统一 ...
- vs2012+ winform+.net4.0发布如何在xp上运行
今天在英文版vs2013打包发布4.0(非4.0 client)的winform时,遇到了在xp上无法运行的情况,.net framework 4.0在xp上已安装.在打包前,winform工程,即菜 ...
- FineReport做成之后如何在Tomcat上运行
问题描述: 自己用FineReport做成的报表画面,要在Tomcat上运行启动 第一步:下载Tomcat 网址: http://tomcat.apache.org/download-80.cgi 下 ...
- 如何在mac上运行vue项目
使用终端安装Vue运行环境 1.安装 Homebrew Homebrew 是osx下面最优秀的包管理工具,没有之一.先在终端查看是否已安装brew brew -v 如果返回 Homebrew 的版本号 ...
- 如何在ARM上运行k3s? 窥探k3s启动过程!,内附容器多平台包构建
开始之前 最近在对华为云鲲鹏服务器(一种ARM服务器arm64)运行容器可行性做验证,顺便了解了很多ARM和容器相关的知识.一提到arm运行容器首先想到的是k3s,下面是用k3s快速搭建一个kuber ...
- 如何在submit上运行php文件
一..把php加入到环境变量 二.在sublmie中新建编译系统 三.添加一下代码,修改成php当前的目录地址,保存在默认的路径下,命名为php.sublime-build { "cmd&q ...
- 如何在MAC上运行exe程序
1. 首先下载并运行CrossOver 运行CrossOver需要收费,试用期为14天,运行CrossOver 2. 选择exe应用程序,新建容器,安装exe程序 3.安装成功后,运行exe应用程序启 ...
随机推荐
- 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
近年提出的四个轻量化模型进行学习和对比,四个模型分别是:SqueezeNet.MobileNet.ShuffleNet.Xception. SqueezeNet https://arxiv.org/p ...
- 44道JS难题
国外某网站给出了44道JS难题,试着做了下,只做对了17道.这些题涉及面非常广,涵盖JS原型.函数细节.强制转换.闭包等知识,而且都是非常细节的东西,透过这些小细节可以折射出很多高级的JS知识点. 你 ...
- falcon监控指标
mysql监控指标: 流量状态: Bytes_received/s #平均每秒从所有客户端接收到的字节数,单位KB Bytes_sent/s #平均每秒发送给所有客户端的字节数,单位KB
- HTML - 图片标签相关
<html> <head></head> <body> <!-- src : 图片的路径 (本地资源路径, 网络资源路径) title : 图片的 ...
- window 批量修改或去除文件后缀名
for /r %i in (*.!ut) do ren "%i" *. 转自:https://blog.csdn.net/zhang_ruisen/article/details/ ...
- 在Xsheel Linux上安装nodejs和npm
最近window系统转向linux系统开发,linux系统的确适合程序员的开发. 作为前端安装了nodejs和npm,遇到了一些坑,赶紧记录下来 第一种安装方法:安装nodejs : sudo a ...
- php数据结构课程---5、树(树的 存储方式 有哪些)
php数据结构课程---5.树(树的 存储方式 有哪些) 一.总结 一句话总结: 双亲表示法:data parent:$tree[1] = ["B",0]; 孩子表示法:data ...
- python 虚拟环境virtualenv搭建
一.安装虚拟环境 pip install virtualenv -i https://pypi.douban.com/simple 用国内镜像,速度更快 二.创建虚拟目录 在需要存放软件工程的 ...
- 我的js运动库新
1.一些样式的获取和设置 //通过id获取当前元素 //params:id function $id(id) { return document.getElementById(id); } //向cs ...
- https://blog.csdn.net/u012235003/article/details/54576737
https://blog.csdn.net/u012235003/article/details/54576737