首页
社区
课程
招聘
[原创][原创]迟来的iPhone软件的远程调试环境搭建
发表于: 2011-4-15 18:30 12434

[原创][原创]迟来的iPhone软件的远程调试环境搭建

2011-4-15 18:30
12434
在此先对钱老师说声对不起!(其中缘由不必分说了)

现在使用iPhone 的童鞋越来越多了吧,在相关论坛你或许也能找到些相关帖子但是其内容并不多,废话不多说了;

首先我们必须确认下你的手机是否是已经越狱了,存在Cydia 这个文件夹不;

手机端必备工具:
1.OpenSSH
openssl_0.9.8k-9_iphoneos-arm.deb
openssh_5.8p1-9_iphoneos-arm.deb

2.adv-cm命令行 工具
adv-cmds_119-5_iphoneos-arm.deb

3.调试工具gdb
gdb_962-5_iphoneos-arm.deb
readline_6.0-7_iphoneos-arm.deb
sqlite3_3.5.9-12_iphoneos-arm.deb
sqlite3-dylib_3.5.9-1_iphoneos-arm.deb
sqlite3-lib_3.5.9-1_iphoneos-arm.deb

4. ARM指令集
arm.chm

Windows端工具
1.  用于远程连接的工具
Putty

2.  还有就是IDA了

准备一个网络环境 (最好有Witf)
工具齐全了现在我们可以来说下调试和修改的步骤了:

1.  使用 同步助手 文件管理 找到
 

路径为 /var/root/Media/Cydia/AutoInstall/

然后把上面手机必备工具中的文件全丢到这文件夹里, 就是那些 后缀名为 .deb 的文件

然后重启手机就OK啦

2.  把你的手机加入你的局域网中,记录手机的IP地址
打开Putty设置Putty
 
记得连接类型是SSH 端口默认22
3.  好了,现在用Putty连接手机, 
一般iPhone 默认用户名为root 密码为 alpine

4. 登入成功的如入下
 
然后试试gdb 命令 gdb

 

OK 没问题

5. 由于种种原因 只能用附加进程去调试 所以现在打q 退出gdb调试器
   在root# 下输入 ps ax 查看你要调试软件的进程

以下是gdb 常用命令
附加进程  gdb –p 进程号

设置显示   display /5i $pc              
 /i 汇编
 5为显示的条数
 $pc 为当前地址

单步指令 ni  单步步过
     si  单步步入

下断点   b *地址
删除断点 d b
显示寄存器 i r
等这些常用 具体自己再去查找

比如你要调试植物大战僵尸的软件
你首先用同步助手 的文件管理 里找到 植物大战僵尸的安装目录 拷贝它的应用文件PvZ
用IDA 分析 PvZ  

下断点的地址 和 IDA 显示的地址是一样的 无需再次转换 
剩下的就是分析了

如果你找到关键地方的时候如何修改呢
这个 就用 匹配二进制码得方法修改  
在winhex 中打开PvZ 匹配二进制码 找到想要的地方然后修改你想要的值
相关指令可以查ARM
当PvZ 改完后 拷贝覆盖手机里的原文件

打开游戏 你就可以YYXX了

PS 现在我的  植物大战僵尸  无CD 一个阳光127  金钱9W 够花了~

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 56
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
调调同学改游戏能写详细点么,膜拜。我新手有些步骤不太明白,改游戏改不好
2011-4-15 20:52
0
雪    币: 287
活跃值: (583)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
膜拜调调大牛
2011-4-16 11:25
0
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
顶一个。。。志扬。。。哥想你了
2011-4-16 12:28
0
游客
登录 | 注册 方可回帖
返回
//