4g手机为什么不能用怪物猎人4g任务修改器器

关注我们:
相关商品评论
经验如何选择一款适合自己的手机?
中兴V5 MAX
更多中兴V5 MAX的评论首页--百度百家
创业以来最艰难的一封邮件
像春节这样的重大节日,三大电信运营商针对资费通常都会有不小的优惠力度,一方面贯彻提速降费大方针,另一方面也是为了拉拢用户。
从40后到90后,明星创投圈钱靠谱吗?
文化就像一条长河,作为支流的亚文化终将汇入主流,这也许就是二次元最好的归宿。
鉴于微软Lumia品牌在全球智能手机产业不温不火的表现,行业内一直有传言称,微软正在开发全新品牌和系列智能手机“Surface Phone”,随着近期...
协调一致、高质量、管理良好的数据并不仅仅有利于法规遵从性,而且随着行业的快速变化以及颠覆性新企业的不断进入,它还能提高以客户为中心企业的行业...
网易严选是一项创新的商业模式,对网易严选的法律风险分析相当复杂,不能沿用对商业模式侵权的原罪论,而应该根据具体行为具体分析。
这可能是领英历史上最惨痛的一天。40%的股价下跌,对于这个市值超过百亿的公司来说,新季度的财报就像是一场地震,将曾经社交网站的领军人物扫出百...
谷歌人工智能掌舵人John Giannandrea接管搜索业务,这一重大转变不仅将影响谷歌,更将影响整个互联网。
春节档有机会吗?高口碑,合家欢,但……
一位研究人员在网上购买了300次假冒奢侈品,发现其中有97%是通过中国的三大银行进行处理的。
二次元电商方向的创业者有哪些?用户是哪三大类?新兴平台们的表现又如何?未来的机会是什么?
时值中国春节之际,业内曝出中国所谓权威中国互联网数据统计分析机构艾瑞与今日头条因数据统计不同,双方高管互相指责对方的口水战。
日国美电器(0493.HK)公告称“收购艺伟之协议已获股东大会批准”。随着艺伟旗下590家门店装入上市公司,国美终于走完历...
事实上,中国联通的腐败风波,自2014年底中央巡视组进驻起一直余震未断,已先后有多位中高管“落马”。
对于原始数据的合理性有了充分认知之后,就很容易看穿流窜于各大网站与朋友圈儿的数据报告们的含金量到底如何了,当然这也教会了我们一个评价行业分析...
第四季度财报刚出,联想的表现超出了华尔街的估计。智能手机和电脑销售虽然有所放缓,但是有效控制成本,成为其利润增长的主要助力。尽管如此,汇率的...
一个真正意义上的调研报告,方法论这块是非常重要的。
科技从业者需要做的只是顺势而为。
传统电竞的模式经过十几年的发展日渐成熟,在移动互联网时代,移动电竞应不应该走传统电竞的老路子?我们今天就来聊一聊。
文章排行TOP ARTICLES
上个月耶伦终于加息,让市场预期了一年的政策终于落了地。但之后以...
醉月夜朦胧
HOT COMMENT
七日活跃作家ACTIVE WRITER
银库金融副总裁
干货最多的动漫产业新媒体
未来在这里发声
专栏作家、商业模式批评人
一个专门写博客的
百家号说明
百家号是什么
百家是百度新闻的原创内容类平台。每日发布的优质内容将会在百度新闻的网页版、移动端呈现,并被百度搜索和百度其他产品线收录。我们致力于将优秀写作者推荐给海量的用户,同时引入了百度联盟的广告分成模式,期望给予作者更公平的回报。百家号注册正式对外开放,现阶段主要针对科技领域的个人、机构和媒体。
加入百家号的好处
如何加入百家号
百度新闻客户端
百度新闻客户端
扫描二维码下载
订阅 "百家" 频道
观看更多百家精彩新闻先提前跟各位锋友说一声春节快乐!祝大家在假期里吃好喝好玩好睡好,躺着玩坐着玩趴着...
Home键,iOS设备上的实体按键,从初代iPhone诞生之初就沿用至今,它也是iOS设备里最标...
让我们充满期待进入新的一年,来品尝开发商们精心烹制、即将上席的开年大餐吧。
新年伊始,兔兔助手为大家带来了全新的版本,作为新年献礼,新增壁纸和游戏资讯两大功...
虽然不知道究竟是怎样的技术,但是听起来好像很高级的样子。
拥有Mac Pro的用(tu)户(hao)们,你们的机子出现问题了吗?
你希望看到iPhone有新的配色吗,暂时称它为“骚粉”如何?
日前谷歌对Android wear进行了一次大幅度升级,新版系统添加了几项重要功能。
最新作《Splash Cars》(狂溅飞车)的诞生,让玩家第一次认识到原来游戏开发商Craneba...
玩家仅需点击屏幕左右两侧即可控制角色进行移动,而炸弹就会从屏幕上方像下雨一样的落...
此前威锋网曾经报道,传统桌游《通路(Tsuro)》即将登陆iOS平台中,现在游戏终于如约...
变色龙在游戏中的出镜率非常高,这不,又有一款名为《贪吃舌(Pull My Tongue)》的新...
春节前的最后一个神奇周四,SQUARE ENIX 终于给我们端上了一份隆重无比的冷饭,重制版...
开发商想要将游戏打造成一款节奏明快的街机回合制射击游戏,而事实是他们也做到了。
在游戏中玩家要建立起一所专门为超级英雄们所学习、生活的学院,在这里钢铁侠、绿巨人...
一家名为Appostasy的公司就推出了一款名为PenSe的Apple Pencil配件,让你的苹果笔不在...
可以充电颜值又足够高的背包,确实非常吸引人。
当然是不薄的了,不过对这方面功能有需要的人也不会在乎这点厚度。
要知道,很多公司的平板都是直接配送手写笔的,包括微软和三星这样的大牌。
苹果表示,有 MFi 认证的助听器产品比传统的助听器更出色,理应获得美国联邦通讯委员...
其实手机壳还是小一点比较好,拿起来不那么困难,但是如果有特殊作用的话,那就另当别...
难怪没有一颗螺丝钉,原来是酷炫的分段式设计,这下逼格又不知高到哪里去了。
飞利浦这大腿抱得够紧的,不过相对来说,适用于苹果的配件的确要更好卖一些。
315967阅读
【ipod4g出品】用iPhone修改及调试游戏作弊版教程【精华】
注册时间 最后登录
在线时间11184 小时 UID
帖子 精华8
主题帖子人气
【ipod4g 加入技术组】
本帖最后由 ipod4g 于
16:15 编辑
看不懂的请飘过,不要继续。
这不是给新手看的,也代表你不需要解决程序的修改问题。
这些技巧不只用于游戏的修改。
下載 Windows 工具
Mac / Linux :
用內置的 Terminal 便可
没 wifi 用 iPhone Tunnel Suite 3.0
没 wifi 苹果电脑用 iPhoneSSH
iPhone/iPod Touch 在 cydia 內安裝 deb 包
安装这些 deb 包最方便的方法是在 Cydia 内搜索及直接安装,这里提供的下载包及依赖包的链接下载点是方便手工安装时用
OpenSSH (openssh) 及 OpenSSL(openssl) (与iPhone/iPod Touch 终端操作)
(更新支持 iPhone 5 / iPad 4)
unzip 及 zip (解压缩及压缩打包工具)
(更新支持 iPhone 5 / iPad 4)
(更新支持 iPhone 5 / iPad 4)
vbindiff (iPhone 上的十六进制查看差异及修改器)
(更新支持 iPhone 5 / iPad 4)
ldid (更新支持 FAT binary)
及 ldone 0.2
Link Identity Editor (ldid) 及 Darwin CC Tools (odcctools)(修改后用 ldid 签名, odcctools 包括 otool, linker , assembler汇编)
odcctools v782 包括 otool, linker , assembler汇编 (更新支持 armv6 及 armv7)
(2.12 MB, 下载次数: 975)
10:48 上传
点击文件名下载附件
(更新支持 iPhone 5 / iPad 4)
Diff Utilities (diffutils) (文本差异工具 diff)
less (文本查看工具)
Vi IMproved (vim) 或 nano (文本编辑工具)
(更新支持 utf-8) -&& &
(4.05 MB, 下载次数: 287)
04:19 上传
点击文件名下载附件
vim --cmd &set encoding=utf-8& test.txt
Debug server for iOS 7 (armv7/arm64) :
(428.99 KB, 下载次数: 112)
17:31 上传
点击文件名下载附件
这个 debugserver 程序就是配合实现远程调试,
在iPhone : /usr/bin/debugserver &远程主机的IP地址&:&端口号& --attach=&进程ID&
例如 debugserver 192.168.1.20:2088 --attach 962
例如 debugserver 192.168.1.20:2088 /var/mobile/Applications/AAEF-4A1E-81FF-D51BC325945A/ff3.app/ff3
远程主机可以是 Mac 运行 lldb, gdb 或是 IDA (见下面下载 IDA 64 Plus for Windows)
lldb (for Mac)
(77.57 KB, 下载次数: 30)
17:31 上传
点击文件名下载附件
(启动 lldb 后) gdb-remote &iOS 设备 的IP地址&:&端口号&
例如 (lldb) gdb-remote 192.168.1.21:2088
GNU Debugger (gdb-1821) (程序调试工具) iOS 7.0 (32 bits) 更新
(7.58 MB, 下载次数: 742)
23:31 上传
点击文件名下载附件
GNU Debugger (gdb) (程序调试工具) v1708 iOS 5.0 更新
GNU Debugger (gdb) (程序调试工具) iOS 4.3.x 更新
GNU Debugger (gdb) (程序调试工具)
adv-cmds (ps 工具)
grep (grep 文本搜索工具)
ARM 参考书籍
(主要是看第三章 Chapter 3)
[fly]修改及用 gdb 调试游戏流程[/fly]
(1) 安装及试玩游戏,每个游戏的修改方法都不同,没有玩过这游戏,怎样知道要修改什么呢?
这教程用了 Final Fantasy 2 作例子
(2) 用 iTunes 安装 Final Fantasy 2 破解版本 (未破解的不能反汇编)
(3) 用putty / ssh 连接iPhone / iPod Touch,假设你的iPhone / iPod Touch 的IP地址是192.168.1.104
Connection type: 选 SSH
Port 选 22
putty.jpg (56 KB, 下载次数: 0)
13:54 上传
PuTTY 连接 192.168.1.104 后
Login 输入 root
Password(假设你没有更改密码) 输入 alpine
Mac / Linux Terminal 内输入
(4) 进入游戏路径目录内(先决条件是已用 PuTTy / Terminal 连接iPhone / iPod Touch)
输入
cd /var/mobile/Applications/*/FinalFantasy2.app
复制代码(5) 到上一层路径目录建立 cheat 临时工作路径目录及游戏程式临时修改档
输入
cd ..
mkdir -p cheat
cd cheat
cp -p ../FinalFantasy2.app/FinalFantasy2 FinalFantasy2.original
复制代码(6) 反汇编原游戏程式
otool -tv FinalFantasy2.original & FinalFantasy2.original.txt
复制代码(7) 查看反汇编代码分析并找出要修改的地方(每个游戏的修改地方都不同, 这点最难)
要修改游戏,你会有以下的困难或问题:
(i) 没有高阶源代码,只有反汇编代码
反汇编代码分析是困难的但绝对不是不可能作分析,你可以找到些不错的ARM Assembly的参考书
在上面亦已提供了一些很好的 ARM 指令参考
常见的是以下这些基本的指令及其执行条件码:
MOV 或 MVN 寄存器数值的传送操作
ADD 或 SUB 加减的算术操作
CMP 或 CMN 比较操作
AND、ORR、EOR 逻辑操作
B、BL、BNE、BGE 分支/跳转指令
MUL 乘法操作 或 LSL 是 二进制左移,左移一位,即十进制乘2倍
LDR 或 STR 加载及存储数据
每个指令都可加上执行条件码根据上一个运算、逻辑或比较指令的结果决定是否执行指令
执行条件码 (Condition Codes):
① CS 及 CC(Carry)进位条件码,CS=进位,否则=CC(不进位).
② EQ 及 NE (Equal 或 Zero)相等或零条件码,EQ=运算结果为相等或零时,否则=NE(不相等).
③ VS 及 VC(Overflow)溢出条件码。 VS=溢出,否则=VC(不溢出)。
④ PL 及 MI 条件码。 PL(Plus/Positive)=结果为正,MI(Minus/Negative)=结果为负。
⑤ GT 及 LT 条件码。 GT(Greater Than)=大于(PL+VC+NE / MI+VS+NE),LT(Less Than)=小于(MI+VC / PL+VS)。
⑥ GE 及 LE 条件码。 GE(Greater Than or Equal)=大或等于(PL+VC / MI+VS),LE(Less Than or Equal)=小或等于(MI+VC / PL+VS / EQ)。
⑦ HI 及 LO 条件码。 HI(Higher Than)=无符号数(unsigned)高于(CS+NE),LO(Lower Than)=无符号数(unsigned)低于(CC)。
⑧ HS 及 LS 条件码。 HS(Higher or Same)=无符号数(unsigned)高于或相等(CS/EQ),LS(Lower or Same)=无符号数(unsigned)低于或相等(CC/EQ)。
⑨ AL 及 NV 条件码。 条件码默认为AL(Always)=无条件执行,NV(Never)是AL的相反=不执行。
例子及其注解意思CMP R0, R1& && & @寄存器数值 R0 及 R1 的比较
MOVGT R2, R0& &&&@如果结果 R0 &(大于) R1,则执行MOV R2, R0即 R2=R0
MOVLE R2, R1& &&&@如果结果 R0 &=(小或等于) R1,则执行MOV R2, R1即 R2=R1
复制代码LDR R1, [R0]& &&&@意思是 R1 = *R0,从R0指向的地址处的数据载入到寄存器 R1
STR R1, [R0]& &&&@意思是 *R0 = R1,把寄存器 R1内的数据写到 R0 内指向的地址处
复制代码
(ii) 看不懂游戏程式流程,没法分析
有很多人都喜欢用 IDA Pro Advanced 去做分析, 无疑这软件是个非常好的静态分析工具,它有图形视图显示代码流程作搜索及深层分析。除了可分析反汇编代码外,亦可反汇编一些 otool 不能处理的工作。 但 IDA Pro Advanced 在iPhone 的程式只适合做静态的分析。
你可以在这里下载 IDA Pro Advanced 5.2 及其参考书,建议你使用功能及视图比较强大的 Windows 版本。
IDA 64 Plus for Windows 百度云网盘下载 : &&
IDAPro.png (90 KB, 下载次数: 0)
16:34 上传
只看代码是不能作分析,要配合动态调试去了解程式的细节在实际运行时发生的数据及变化。在第15步就有用 gdb 作动态调试的例子去设置断点、继续、跟踪及分析代码。gdb 的参考书可在上面的链接下载。
(iii) 找不到游戏的数据例如金钱,经验值,装备,等级暂存在那?
方法一:在 gdb 设置断点分析
ARM CPU 有个特性便是一些加减计算要传送到CPU寄存器(register) 进行,因此你会经常看到这些要找的数据会先从内存用LDR 指令载入到寄存器, 经过一些计算(加或减)后及防溢位判断后便用STR 指令存储这寄存器回内存地址。
另外由于这些程式大多是用 Objective C 或 C++ 语言写成,这些程序员会用一些描述性的函数名,例如带有 Money, Price, Gold, Exp, Item, Life, Level 字段等。
利用这两点便可以将程序锁定在某些函数上,再利用 gdb 调试工具暂停在某些点一步一步地单步执行及查看一些寄存器,印证是否与你要找的数据是否有关。
& & 在FinalFantasy2 的这实例中, 是用这方法找到修改点
& & 用 less 工具去找寻 Money
& & putty / Terminal 输入
less FinalFantasy2.original.txt
复制代码在 less 工具內输入
/Money
复制代码去开始找寻(按 N 键去继续找寻),便会找到这段代码像是要存储金钱数据(SetMoney),是进入这段代码的开始地址
__ZN14cFF2GlobalWork19sysGAMEPrm_SetMoneyEj:
f300c ldr r3, [pc, #12] ; 0x7b22c
0007b21c e580120c str r1, [r0, #524]
10003 cmp r1, r3
0320c strhi r3, [r0, #524]
fff1e bx lr
复制代码首先在iPhone或iPod Touch 开始Final Fantasy 2 直至游戏已 Resume及进入游戏。
& & ① 在PuTTY / Terminal 找FinalFantasy2 的运行中的进程编号(process id)
& & PuTTY / Terminal 输入
ps ax
复制代码得到
1115& &??&&Ss& &&&1:30.86 /var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/FinalFantasy2.app/FinalFantasy2
复制代码找到FinalFantasy2 游戏现时运行中的进程编号是 1115
& & ② 用gdb 进入调试运行中的进程编号1115
& & PuTTY / Terminal 输入
gdb -p 1115
复制代码此时游戏会暂停,音乐也暂停
& & ③ 用gdb 设定断点breakpoint在十六进制地址0x7b218
& & PuTTY / Terminal 输入
break *0x7b218
复制代码④ 继续 continue 游戏
& & PuTTY / Terminal 输入
c
复制代码⑤ 将Final Fantasy 2 游戏进入战斗,战胜后游戏会在十六进制地址0x7b218处停止
& & ⑥ 暂停后,离开这分支__ZN14cFF2GlobalWork19sysGAMEPrm_SetMoneyEj
& & PuTTY / Terminal 输入
finish
复制代码⑦ 反汇编现时地址上面的代码
disassem $pc-28 $pc
复制代码得到
0x0003baac &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 180&: bl 0x78e30 &_ZN14cFF2GlobalWork8InstanceEv&
0x0003bab0 &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 184&: mov r4, r0
0x0003bab4 &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 188&: bl 0x78e30 &_ZN14cFF2GlobalWork8InstanceEv&
0x0003bab8 &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 192&: bl 0x7b230 &_ZN14cFF2GlobalWork19sysGAMEPrm_GetMoneyEv&
0x0003babc &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 196&: add r1, r0, r5
0x0003bac0 &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 200&: mov r0, r4
0x0003bac4 &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG 204&: bl 0x7b218 &_ZN14cFF2GlobalWork19sysGAMEPrm_SetMoneyEj&
复制代码这时会发现在_ZN14cFF2GlobalWork19sysGAMEPrm_GetMoneyEv
及_ZN14cFF2GlobalWork19sysGAMEPrm_SetMoneyEj
中间0x0003babc 地址的代码add r1, r0, r5 是最可疑的
& & ⑧ 取消断点1及设定新断点breakpoint在十六进制地址0x0003babc 及重新继续continue 游戏
& & PuTTY / Terminal 输入
disable 1
break *0x3babc
c
复制代码在iPhone或iPod Touch查看现时游戏的金钱例如是4888,将Final Fantasy 2 游戏进入战斗,战胜后游戏会新断点2地址0x3babc处停止
& & ⑨ 当游戏在新断点2暂停时查看寄存器就发现 r0 是当时的金钱余额及 r5 是战胜后得到的金钱
& & PuTTY / Terminal 输入
i r $r0 $r1 $r5 $pc
复制代码⑩ 假设已找到应修改的地址是 0003babc,便可继续下面第(8)步方法二:在 gdb 搜索内存数据值及设置观察点(watchpoint)
& & 游戏的数据都会暂存在堆(heap)内存, 于游戏退出前储存在 iPhone 或 iPod Touch的闪存记忆体内, 一些经验值或金钱的数字是比较独特,在内存重复出现的机会不多,这些唯一的数字便可用这方法去进行搜索。
& & 这里用了 Zenonia 2 v1.0 作例子,下面的游戏截图便看到用一个独特的经验值数字 672 去开始这方法
zen2bef.png (48 KB, 下载次数: 0)
03:14 上传
& & ① 在 PuTTY / Terminal 用&&ps ax&&的指令找到 ZENONIA2 游戏现时运行中的进程编号是 1123
& & ② 使用 gdb 进入运行中的进程编号 1123
& & PuTTY / Terminal 输入
gdb -p 1123
复制代码此时游戏会暂停,音乐也暂停
& & ③ 用 gdb 输入这些指令包括,内存开始地址(0x800000)、结束地址(0x880000)及要搜索的数字672如下:
& & PuTTY / Terminal 输入
set $x=0x800000
while(*++$x!=672 && $x&0x880000)
end
复制代码④ 输入 end 之后等候数十秒 ....,待gdb去搜索这段内存地址
& & ⑤ gdb 搜索完毕后
& & PuTTY / Terminal 输入
p/x $x
复制代码得到
$1 = 0x85e28c
复制代码这代表 gdb 已找到在 0x85e28c 的内存地址的存储数字是 672
& & PuTTY / Terminal 输入
x/dw 0x85e28c
复制代码得到确认 0x85e28c 的内存地址的存储数字是 672
0x85e28c:& & 672
复制代码⑥ 用 gdb 继续搜索
& & PuTTY / Terminal 输入 (或按方向键 ↑ 4次,然后回车,免重复输入)
while(*++$x!=672 && $x&0x880000)
end
复制代码再等十多秒,gdb 搜索完毕后
& & PuTTY / Terminal 输入
p/x $x
复制代码得到
$2 = 0x880000
复制代码这代表 gdb 已到结束的地址 0x880000,都没有找到。这也表示数字 672 是唯一出现在 0x85e28c 要找的内存范围内。
& & ⑦ 用 gdb 更改内存地址 0x85e28c 的存储数字为 1000
& & PuTTY / Terminal 输入
set {int}0x85e28c=1000
复制代码也可以用
set *0x85e28c=1000
复制代码PuTTY / Terminal 输入
x/dw 0x85e28c
复制代码得到确认已成功更改数字
0x85e28c:& & 1000
复制代码⑧ 继续 continue 游戏
& & PuTTY / Terminal 输入
c
复制代码⑨ 在回到游戏里退出 STATUS 画面再进入 STATUS,画面内数据重刷后,确认已成功更改经验值数字为1000
zen2aft.png (49 KB, 下载次数: 0)
03:14 上传
& & 留意:由于游戏数据在堆(heap)内存的地址不是固定的,所以每次运行的进程都要再搜索新的内存地址。另外,搜索的内存地址范围也会改变,如果在 0x800000 至 0x880000 范围内找不到的话,就要往后试 0x880000 至 0x900000 新的范围。
& && && &另外:用相同搜索方法也可以找到金钱数字在这次运行进程是在内存地址 0x874c04
& & ⑩ 找到经验值地址后便可设置观察点(watchpoint)于内存地址 0x85e28c
& & 设置观察点的目的是当内存地址值被读或被写时,会显示数据及暂停程序
& & PuTTY / Terminal 输入
watch *0x85e28c
复制代码及继续游戏
& & PuTTY / Terminal 输入
c
复制代码留意:游戏在观察点(watchpoint) 生效下运行是非常的慢,有些游戏是不能正常运作,有时候手机也要重启,所以下面的步骤是不一定可以进行的
& & (11) 将游戏进入战斗打怪后程序便会暂停在 0x9f508 地址,gdb 会显示
Hardware watchpoint 1: *8774284
Old value = 1000
New value = 1086
0x in CMvPlayer::CheckLevelUp ()
复制代码PuTTY / Terminal 输入
x/14i $pc-16
复制代码得到
0x9f4f8 &_ZN9CMvPlayer12CheckLevelUpEj+60&:& & b.n& & 0x9f508 &_ZN9CMvPlayer12CheckLevelUpEj+76&
0x9f4fa &_ZN9CMvPlayer12CheckLevelUpEj+62&:& & adds& & r0, r4, #0
0x9f4fc &_ZN9CMvPlayer12CheckLevelUpEj+64&:& & movs& & r1, #1
0x9f4fe &_ZN9CMvPlayer12CheckLevelUpEj+66&:& & movs& & r2, #0
0x9f500 &_ZN9CMvPlayer12CheckLevelUpEj+68&:& & subs& & r5, r5, r3
0x9f502 &_ZN9CMvPlayer12CheckLevelUpEj+70&:& & bl& & 0x9f338 &_ZN9CMvPlayer9OnLevelUpEii&
0x9f506 &_ZN9CMvPlayer12CheckLevelUpEj+74&:& & movs& & r3, #1
0x9f508 &_ZN9CMvPlayer12CheckLevelUpEj+76&:& & str& & r5, [r4, r6]
0x9f50a &_ZN9CMvPlayer12CheckLevelUpEj+78&:& & cmp& & r3, #0
0x9f50c &_ZN9CMvPlayer12CheckLevelUpEj+80&:& & beq.n& & 0x9f516 &_ZN9CMvPlayer12CheckLevelUpEj+90&
0x9f50e &_ZN9CMvPlayer12CheckLevelUpEj+82&:& & cmp& & r5, #0
0x9f510 &_ZN9CMvPlayer12CheckLevelUpEj+84&:& & beq.n& & 0x9f516 &_ZN9CMvPlayer12CheckLevelUpEj+90&
0x9f512 &_ZN9CMvPlayer12CheckLevelUpEj+86&:& & movs& & r5, #0
0x9f514 &_ZN9CMvPlayer12CheckLevelUpEj+88&:& & b.n& & 0x9f4c6 &_ZN9CMvPlayer12CheckLevelUpEj+10&
复制代码PuTTY / Terminal 输入
i r $r5 $r4 $r6 $pc
p/x $r4+$r6
复制代码得到
r5& && && && & 0x43E& & 1086
r4& && && && & 0x85DC00& & 8772608
r6& && && && & 0x68c& & 1676
pc& && && && & 0x9f508& & 652552
$5 = 0x85e28c
复制代码这时确认了 0x9f508 地址这句代码
& & str& & r5, [r4, r6]
& & 的意思是,r4 + r6 = 0x85e28c ,把寄存器 r5 内的数字(1086) 写到 0x85e28c 的地址
& & 程序因要写进这0x85e28c 的地址,所以暂停了,这就是观察点(watchpoint) 的强大功能。
& & PuTTY / Terminal 输入
bt
复制代码得到
#0&&0x in CMvPlayer::CheckLevelUp ()
#1&&0x0009ff2e in CMvPlayer::DoUpdate ()
#2&&0x in CMvObject::Update ()
#3&&0x000969cc in CMvObjectMgr::Update ()
#4&&0x in CMvGameState::UpdateGame ()
复制代码这时就可根据上面得到的信息在这段代码的前后范围进行跟踪、设置断点及进一步的分析
有新的方法时,再继续更新 ............
(iv) 不知道修改点在那及改为什么?
修改程序是不能插入程序代码,主要原因是移位后的程序是不能运行的。一般的做法是找到要修改的位置在原档案位置修改代码改为你需要的指令。 修改点一定要经过分析代码后再不断地用动态分析确定后,在适当的地方重覆试验及调试验证修改后的结果 。
一些RPG游戏的特性,例如是金钱或经验值是会在战斗后重算及更新,一般都是要找到及修改更新数据前的指令。金钱的修改点也可以修改在买卖装备时的指令。连续升级的修改主要是看该游戏是怎样升级,例如 Inotia 2是根据经验值去升级,只要找到判断经验值的指令代码地址,修改其判断的指令便可。
对于游戏来说,一般的指令修改例子如下:
① 修改寄存器的增加数字例如
& & Final Fantasy II 增加战胜后所得金钱
& & 地址 0003babc
& & add r1, r0, r5
& & add r1, r0, r5, lsl #5
② 修改寄存器减少的数字为零例如
& & Inotia 2 v 1.1.0 不扣技能点
& & 地址 00021b9c
& & sub r3, #1
& & sub r3, #0
& & 地址 00037b46
& & sub r1, #1
& & sub r1, #0
③ 修改比较的寄存器例如
& & 花儿朵朵开-v1.0 不死作弊版 (这里 r2 寄存器是花朵已绽放的数量)
& & 地址 00004ee8
& & cmp r2, r3
& & cmp r2, #1 ; 0x1
④ 修改arm 32 位为两个arm thumb 16 位代码例如
& & Inotia 2 v 1.1.0 roll点全18
& & bl 0x9914
& & mov r0, #9
& & mov r0, #9
& & 地址 05c40e, 0005c41c,
& & bl 0x9914
& & mov r0, #9
& & mov r0, #9
⑤ 要删除代码便要用 nop (no operation) 取代
& & thumb 16 bits nop 是 46c0&&
& & arm 32 bits nop 是 e1a00000
(8) 在FinalFantasy2 的这实例中,假设已找到应修改的地址是 0003babc,代码是 e0801005
0003bab8& && &&&eb00fddc& && &&&bl 0x7b230
0003babc& && &&&e0801005& && &&&add r1, r0, r5& &@意思是 r1 = r0 +r5 ; r0 是当时的金钱余额; r5 是战胜后得到的金钱
0003bac0& && &&&e1a00004& && &&&mov r0, r4
0003bac4& && &&&eb00fdd3& && &&&bl 0x7b218& &&&@分支到函数名 __ZN14cFF2GlobalWork19sysGAMEPrm_SetMoneyEj 去更新金錢余额
复制代码(9) 修改目标 : 将所得金钱乘大32倍
0003babc的应修改目标代码是
add r1, r0, r5, lsl#5 @意思是 r1 = r0 +( r5 二进制左移五位,即十进制乘大32倍)
复制代码(10) 找新ARM指令代码
add r1, r0, r5 的ARM指令代码是 e0801005
修改目标是要找到 add r1, r0, r5, lsl#5 的ARM指令代码 ?
用 vim 或 nano 建立 armtest.s 如下
& & .file &armtest.s&
& & .globl _main
& & .code 32
_main:
& & add r1, r0, r5
& & add r1, r0, r5, lsl #5
复制代码留意: 一些程式反汇编后是ARM Thumb, ARM Thumb 是16 bits 而ARM 是32 bits. ARM 32 bits 及 ARM Thumb 的分别请找上面 ARM Assembler 的参考(ARM Thumb 的可用指令是比 ARM 32 bits 少)。 如果要找 ARM Thumb 代码要将上面的.code 32改为.code 16 及加上 .thumb_func _main 如下
& & .code 16
& & .thumb_func _main
复制代码
汇编 arm 输入
as armtest.s -o armtest. otool -tv armtest.o
复制代码便看到
(__TEXT,__text) section
_main:
& & e0801005& & add r1, r0, r5
& & e0801285& & add r1, r0, r5, lsl #5
复制代码及得到add r1, r0, r5, lsl #5 目标ARM指令代码为 e0801285
(11) 建立修改程式第一版FinalFantasy2.v1及用十六进制修改器修改代码
输入
cp -p FinalFantasy2.original FinalFantasy2.v1& && &
vbindiff FinalFantasy2.v1
复制代码进入vibindiff 后按G及输入地址3AABC跳到要修改的位置如下
vbindiff1.png (59 KB, 下载次数: 0)
16:55 上传
留意: 在第8步时找到的位置是0003Babc,但修改程式的位置要减去十六进制0x1000得到3Aabc
(0x3babc 减 0x1000 等于 0x3aabc)
按E键开始修改,将
05 10 80 E0
<font color="#FF 80 E0
然后按Esc键及Y键确认修改
最后按Q键离开 vbindiff 修改器
vbindiff2.png (30 KB, 下载次数: 0)
16:55 上传
留意: 修改器显示的 05 10 80 E0 与反汇编的代码 e0801005 的位置顺序是倒的
(12) 反汇编修改程式第一版 v1 及比较原版本 original
输入
otool -tv FinalFantasy2.v1 & FinalFantasy2.v1.txt
diff FinalFantasy2.original.txt FinalFantasy2.v1.txt
复制代码也可以用 otool -otV
得到
& FinalFantasy2.original:
---
& FinalFantasy2.v1:
& 0003babc& & e0801005& & add& & r1, r0, r5
---
& 0003babc& & e0801285& & add& & r1, r0, r5, lsl #5
复制代码(13) 对修改程式第一版重新签名
输入
ldid -s FinalFantasy2.v1
复制代码(14) 将签名后的程式放回程式路径进行测试
首先备份原程式(留意:要用mv移动不要用cp)
输入
mv ../FinalFantasy2.app/FinalFantasy2 ../FinalFantasy2.app/FinalFantasy2.bak
复制代码安装修改后的程式及更新权限
输入
cp -p FinalFantasy2.v1 ../FinalFantasy2.app/FinalFantasy2
chown mobile:mobile ../FinalFantasy2.app/FinalFantasy2
chmod 0755 ../FinalFantasy2.app/FinalFantasy2
复制代码(15) 用 gdb 调试游戏
调试是用 gdb,在这里的目的是设置断点使游戏暂停,查看CPU的寄存器,印证修改是否成功。由于游戏占用很多内存,在游戏运行时调试再加ssh 连接很多时候都会崩溃。所以用 iPod Touch 3代 或 iPhone 3GS 做这项工作会有优势。
首先在iPhone或iPod Touch 开始Final Fantasy 2 直至游戏已Resume及进入游戏。
在iPhone或iPod Touch查看现时游戏的金钱例如是 7223
① 在putty / Terminal 找 FinalFantasy2 的运行中的进程编号 (process id)
PuTTY / Terminal 输入
ps ax
复制代码得到
1115& &??&&Ss& &&&1:30.86 /var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/FinalFantasy2.app/FinalFantasy2
复制代码找到 FinalFantasy2 游戏现时运行中的进程编号是 1115
② 用 gdb 进入调试运行中的进程编号 1115
PuTTY / Terminal 输入
gdb -p 1115
复制代码此时游戏会暂停,音乐也暂停
③ 用 gdb 设定断点breakpoint在十六进制地址 0x3babc (即在第8步时找到的位置0003babc)
PuTTY / Terminal 输入
break *0x3babc
复制代码④ 继续 continue 游戏
PuTTY / Terminal 输入
c
复制代码⑤ 将Final Fantasy 2 游戏进入战斗,战胜后游戏会在十六进制地址 0x3babc处停止
⑥ 暂停后,查看 CPU 寄存器 register (info register 指令)
PuTTY / Terminal 输入
i r $r0 $r1 $r5 $pc
复制代码得到
r0& && && && & 0x1c37& & 7223
r1& && && && & 0x25& & 37
r5& && && && & 0x25& & 37
pc& && && && & 0x3babc& & 244412
复制代码印证了 r0=7223 是现时的金钱
游戏暂停在 pc=0x3babc
⑦ 查看下一步将要运行的反汇编指令
PuTTY / Terminal 输入
x/i $pc
复制代码得到 add r1, r0, r5, lsl #5,印证成功修改指令
0x3babc &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG+196&:& & add& & r1, r0, r5, lsl #5
复制代码⑧ 运行下一步 stepi 指令
PuTTY / Terminal 输入
si
复制代码查看 CPU 寄存器 register (info register 指令)
PuTTY / Terminal 输入
i r $r0 $r1 $r5 $pc
复制代码得到
r0& && && && & 0x1c37& & 7223
r1& && && && & 0x20d7& & 8407
r5& && && && & 0x25& & 37
pc& && && && & 0x3bac0& & 244416
复制代码此时印证了 r1 = r0 +( r5 x 32)
& && && && &= 7223 + (27 x 32)
& && && && &= 8407
查看下一步将要运行的反汇编指令
putty / Terminal 输入
x/i $pc
复制代码得到
0x3bac0 &_ZN10FF2cBattle12SENRIHIN_CHKEP12thBATMonsterP6X86REG+200&:& & mov& & r0, r4
复制代码⑨ 继续 continue 游戏
PuTTY / Terminal 输入
c
复制代码⑩ Final Fantasy 2 游戏显示战胜后得到37的金钱,但实际金钱余额是 8407,印证修改游戏已成功。
(11) 离开 gdb
按下Ctrl+C 组合键停止执行进程
PuTTY / Terminal 输入
quit
复制代码及按 y 键确认离开 gdb
留意:在上面第⑥步暂停时,你可以输入指令去更改CPU 寄存器 register
set $r5=1000
去试试增加金钱数目
(16) 假设已调试完成,便可将修改后的程式打包发布
进入游戏路径目录内,输入
cd /var/mobile/Applications/*/FinalFantasy2.app
复制代码到上一层路径目录
cd ..
复制代码建立 IPA 所要的路径及档案及删除不需要的备份档案
rm -fr Payload
mkdir -p Payload
cp -pr FinalFantasy2.app Payload/
rm -fr Payload/FinalFantasy2.app/FinalFantasy2*.bak
复制代码打包 ipa 为 FinalFantasy2_v1.ipod4g.ipa
zip -r FinalFantasy2_v1.ipod4g.ipa Payload iTunesArtwork
复制代码找现时的路径
pwd
复制代码得到
/var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
复制代码用 winscp 或Terminal 的 scp 指令传送这档作发布
/var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/FinalFantasy2_v1.ipod4g.ipa
复制代码XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 是随机路径
(17) 其他有用的技巧
① 由于修改游戏的程式代码是很少量, 相对重覆调试及动态分析工作比较多,此教程便介绍了用iPhone 的工具直接做修改及反汇编。这样对于少量修改程式代码及重覆在iPhone调试是比较要传回PC做修改是更有效率的。
② 调试的工具 gdb 是比较难用,但有些方法是可提高使用 gdb 的效率。
例如:在 gdb 建立宏 macro define
在 iphone 建立这档案(~/.gdbinit) 内容为
define ascii_char
set $_c=*(unsigned char *)($arg0)
if ( $_c & 0x20 || $_c & 0x7E )
printf '.'
else
printf '%c', $_c
end
end
document ascii_char
Print the ASCII value of arg0 or &#39;.&#39; if value is unprintable
end
define hex_quad
printf '%02X %02X %02X %02X&&%02X %02X %02X %02X',&&\
*(unsigned char*)($arg0), *(unsigned char*)($arg0 + 1),&&\
*(unsigned char*)($arg0 + 2), *(unsigned char*)($arg0 + 3), \
*(unsigned char*)($arg0 + 4), *(unsigned char*)($arg0 + 5), \
*(unsigned char*)($arg0 + 6), *(unsigned char*)($arg0 + 7)
end
document hex_quad
Print eight hexadecimal bytes starting at arg0
end
define hexdump
printf '%08X : ', $arg0
hex_quad $arg0
printf ' - '
hex_quad ($arg0+8)
printf ' '
ascii_char ($arg0)
ascii_char ($arg0+1)
ascii_char ($arg0+2)
ascii_char ($arg0+3)
ascii_char ($arg0+4)
ascii_char ($arg0+5)
ascii_char ($arg0+6)
ascii_char ($arg0+7)
ascii_char ($arg0+8)
ascii_char ($arg0+9)
ascii_char ($arg0+0xA)
ascii_char ($arg0+0xB)
ascii_char ($arg0+0xC)
ascii_char ($arg0+0xD)
ascii_char ($arg0+0xE)
ascii_char ($arg0+0xF)
printf '\n'
end
document hexdump
Display a 16-byte hex/ASCII dump of arg0
end
define hexdump1
hexdump $arg0
x/8h $arg0
printf '\n'
disassem $arg0 $arg0+16
printf '\n'
end
document hexdump1
Display a 16-byte hex/ASCII dump and disassembly of arg0
end
复制代码在用 gdb 调试时输入
hexdump1 $pc
复制代码便可列出$pc位置后十六位的内容及反汇编的代码
③ 在断点设定一些要自动运行的指令
下面的意思是建立断点1
及在断点1停止时运行查看一些暂存器(i r $r0 $r1 $r5 $pc)及反汇编下四个指令代码(x/4i $pc)
break *0x3babc
commands 1
i r $r0 $r1 $r5 $pc
x/4i $pc
end
复制代码④ 在 gdb 断点暂停时,是可改变内存及指令
FinalFantasy2 的例子,0x0003babc地址的指令是
输入
x/i 0x0003babc
复制代码得到代码是
add r1, r0, r5
复制代码输入
x/xw 0x0003babc
复制代码得到代码数值是
0xe0801005
复制代码改变指令代码数值输入
set {int}0x0003babc = 0xe0801285
复制代码检查改变后的指令输入
x/i 0x0003babc
复制代码得到改变后的指令代码是
add r1, r0, r5, lsl #5
复制代码这样就不用离开 gdb 即时看到修改代码后的效果
⑤ gdb 执行到程序中其他地址的命令
& & 例子:
& & stepi& && && && && && && && && &单步执行一个机器指令(命令步入函数)
& & nexti& && && && && && && && && &单步执行一个机器指令(命令步过函数)
& & nexti 2& && && && && && && && &继续执行机器指令的数目为 2 个指令
& & finish& && && && && && && && &&&继续执行至当前函数结束后,停止于其调用点
& & until *0x7b224& && && && &继续执行至特定地址*0x7b224
& & jump *0x3baac& && && &&&跳转至特定地址*0x3baac 执行
⑥ gdb 调试记录的命令
& & 例子:
& & set logging file ./log1.txt& && &设定记录档
& & set logging on& && && && && && && &开始记录
& & set logging off& && && && && && && &停止记录
⑦ 学习别人修改程序的方法
看别人修改程序是最好的学习方法,只要你有原版本及修改后的版本,就可以知道修改的地址及方法
解压后将两个 ipa 文件,用 winscp 传到iPhone 路径 /var/root/flower 内
在 PuTTY / Terminal 连接iPhone / iPod Touch后
输入cd /var/root/flower
复制代码解压原游戏版本程序
在 PuTTY / Terminal 输入unzip *-v1.0.ipa
mv Payload/FlowerChainCN.app/FlowerChainCN FlowerChainCN.original
复制代码删除不需要的的路径及档案
在 PuTTY / Terminal 输入rm -fr Payload/ iTunesArtwork *.ipa
复制代码解压不死作弊修改版程序
在 PuTTY / Terminal 输入unzip *-v1.0.ipod4g.ipa
mv Payload/FlowerChainCN.app/FlowerChainCN FlowerChainCN.patched
复制代码删除不需要的的路径及档案
在 PuTTY / Terminal 输入rm -fr Payload/ iTunesArtwork *.ipa
复制代码反汇编原游戏程式及保存反汇编文本文件为 FlowerChainCN.original.txt
在 PuTTY / Terminal 输入otool -tv FlowerChainCN.original & FlowerChainCN.original.txt
复制代码反汇编不死作弊修改版程式及保存反汇编文本文件为 FlowerChainCN.patched.txt
在 PuTTY / Terminal 输入otool -tv FlowerChainCN.patched & FlowerChainCN.patched.txt
复制代码比较两个版本及找出差异
在 PuTTY / Terminal 输入diff FlowerChainCN.original.txt FlowerChainCN.patched.txt
复制代码得到& FlowerChainCN.original:
& FlowerChainCN.patched:
& 020003 cmp r2, r3
& 020001 cmp r2, #1 ; 0x1
复制代码原版本列在左边及把差异列在右边并输出差异文本保存为 FlowerChainCN.diff.txt
在 PuTTY / Terminal 输入diff -y --left-column FlowerChainCN.original.txt FlowerChainCN.patched.txt & FlowerChainCN.diff.txt
复制代码用 less 工具打开差异文本 FlowerChainCN.diff.txt
在 PuTTY / Terminal 输入less FlowerChainCN.diff.txt
复制代码在 less 工具内搜寻差异分隔字符 |
在 less 工具内输入/\|
复制代码得到下面差异的显示去做进一步分析
020003 cmp r2, r3 | 020001 cmp r2, #1 ; 0x1复制代码
diff.png (21 KB, 下载次数: 0)
13:33 上传
在 PuTTY / Terminal 输入这句也可看到原版本上下的代码grep -C5 &#39;|&#39; FlowerChainCN.diff.txt复制代码或grep -C5 00004ee8&&FlowerChainCN.original.txt 复制代码⑧ 最后送上我自购破解的一个很实用的iPhone小工具 - 64位计算器
这小工具除了可以做64位的计算外,还可以输入文字及显示Unicode的代码
64 Bit Calculator v1.8 更新 (iPhone、iPod touch、iPad 兼容, iOS 4 / iOS 5), 支持 Retina iPad
(5.69 MB, 下载次数: 166)
21:36 上传
点击文件名下载附件
64 Bit Calculator v1.7 更新 (iPhone、iPod touch、iPad 兼容, iOS 4 / iOS 5)
(3.47 MB, 下载次数: 113)
23:19 上传
点击文件名下载附件
64 Bit Calculator v1.2 (iPhone)
(788 KB, 下载次数: 324)
14:37 上传
点击文件名下载附件
64bitcalc.png (65 KB, 下载次数: 0)
14:49 上传
64 Bit Calculator v1.2 (iPad)&&
(1.49 MB, 下载次数: 629)
21:53 上传
点击文件名下载附件
最好的源代码编辑器
Textastic for iPad v4.1&&(iPad 兼容, 要求 iOS 5.0):
(5.17 MB, 下载次数: 48)
21:36 上传
点击文件名下载附件
Textastic for iPhone v4.2&&(iPhone, iPod Touch 兼容, 要求 iOS 5.1):
(6.87 MB, 下载次数: 68)
21:44 上传
点击文件名下载附件
关于 FinalFantasy2 1.0.4 版本 ldid 签名时出现错误信息 Segmentation fault
初代 iPhone 使用ARMv6 指令集, 直到3GS, iPad, IPhone 4设备苹果开始采用了 ARMv7 指令集
如果你输入指令otool -f FinalFantasy2复制代码就会看到architecture 0
& & cputype 12
& & cpusubtype 6
architecture 1
& & cputype 12
& & cpusubtype 9复制代码你可以把 FinalFantasy2 切开为 FinalFantasy2V6lipo -thin armv6&&FinalFantasy2 -output FinalFantasy2V6
chmod +x FinalFantasy2V6
chown mobile:mobile FinalFantasy2V6复制代码及切开为 FinalFantasy2V7cp -p FinalFantasy2 FinalFantasy2tmp
echo -ne &\x09& | dd bs=1 seek=15 conv=notrunc status=noxfer of=FinalFantasy2tmp
echo -ne &\x06& | dd bs=1 seek=35 conv=notrunc status=noxfer of=FinalFantasy2tmp
lipo -thin armv6 FinalFantasy2tmp -output FinalFantasy2V7
rm FinalFantasy2tmp
chmod +x FinalFantasy2V7
chown mobile:mobile FinalFantasy2V7复制代码但 iPhone 的 otool 不支持反汇编 ARMv7 指令集 (odcctools v782 的 otool 可以支持反汇编 ARMv7 指令集了), 你要用新版本的 IDA Pro /&&v782 的 otool 反汇编
在 iPhone 你也許可以反汇编 FinalFantasy2V6, 修改及用 ldid 去签名
FinalFantasy2V6 签名后便可替代原版本使用, 游戏来说ARMv6 指令集也可以, 只不过在新的设备上使用时不是最优化.
[fly]其他教程[/fly]
[fly]最终幻想 I 及 II 及其他游戏作弊版下载[/fly]
我从来都不用91助手,不要问我关于91助手的问题
<p id="rate_8465" onmouseover="showTip(this)" tip="精品文章^_^&人气 + 7
" class="mtn mbn">
<p id="rate_8484" onmouseover="showTip(this)" tip="我很赞同^_^&人气 + 3
" class="mtn mbn">
<p id="rate_6326" onmouseover="showTip(this)" tip="魔高一尺,道高一丈,感谢分享,学习了。&人气 + 3
" class="mtn mbn">
<p id="rate_2463" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=672262&pid=&fromuid=1&&&span &i&/span&&/a&&人气 + 5
" class="mtn mbn">
<p id="rate_8509" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=672262&pid=&fromuid=1&&&span &精品文章^_^&/span&&/a&&人气 + 10
" class="mtn mbn">
<p id="rate_9783" onmouseover="showTip(this)" tip="精品文章^_^&人气 + 1
" class="mtn mbn">
<p id="rate_5598" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 3
" class="mtn mbn">
<p id="rate_6862" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=672262&pid=&fromuid=1&&&span &虽然看不懂&/span&&/a&&人气 + 3
" class="mtn mbn">
<p id="rate_017" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=672262&pid=&fromuid=1&&&span &精品文章^_^&/span&&/a&&人气 + 3
" class="mtn mbn">
<p id="rate_4780" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 1
" class="mtn mbn">
<p id="rate_6109" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=672262&pid=&fromuid=1&&&span &楼主你这么流弊,你家人知道么?&/span&&/a&&人气 + 5
" class="mtn mbn">
<p id="rate_6242" onmouseover="showTip(this)" tip="精品文章^_^&人气 + 5
" class="mtn mbn">
<p id="rate_4112" onmouseover="showTip(this)" tip="一直觉得很牛X的帖子,虽然看不太懂&人气 + 5
" class="mtn mbn">
<p id="rate_3940" onmouseover="showTip(this)" tip="&人气 + 3
" class="mtn mbn">
<p id="rate_0580" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 1
" class="mtn mbn">
<p id="rate_203" onmouseover="showTip(this)" tip="虽然看不懂,感谢分享&人气 + 3
" class="mtn mbn">
评分次数109
精品文章^_^
我很赞同^_^
魔高一尺,道高一丈,感谢分享,学习了。
精品文章^_^
威锋有你更精彩:)
威锋有你更精彩:)
精品文章^_^
一直觉得很牛X的帖子,虽然看不太懂
威锋有你更精彩:)
虽然看不懂,感谢分享
精品文章^_^
我居然只能看懂百分之60左右? 目测楼主专供计算机编程
最后一句&&要顶啊&&哈哈哈
威锋有你更精彩:)
第一大神!仅此一位!想请教一下,如何修改现在三消游戏里面的CD时间!没有头绪!
迷茫。。。。。
要不要这么牛逼啊!不支持不靠谱!
学习,谢谢楼主
gdb for iOS 6.1.2的有没有?
技术贴要顶
我很赞同^_^
感谢分享^_^
威锋有你更给力:)
威锋有你更精彩:)
虽然不明白,但是貌似很厉害的样子
计算机专业表示俺荒废了
精品文章^_^
膜拜,不解释!
看不懂··无法评估真伪··但是很牛逼
虽然看不懂,貌似很牛逼的样子!
表示以本人现在的功底,只能看懂8成.
威锋有你更精彩:)
虽不明,但觉历
感谢分享^_^
建议楼主发个在手机上修改游戏的金钱,砖石之类的简单教程
加分,必须的!
威锋有你更给力:)
威锋有你更精彩:)
技术帖啊,太棒了
先收藏,现在完全看不懂
堪比《楞严经》,《金刚经》《大般涅磐经》《法华经》《地藏菩萨本愿经》《圆觉经》《
哥们,弄个艾诺迪亚4的呗。
太牛逼了!!!
/read-htm-tid-5259660.html 在 iPhone 或 iPad 安装 iphone gcc llvm-clang, THEOS 编译程序或插件
/read-htm-tid-2114166.html【ipod4g出品】 修改 iPhone 游戏作弊版教程
http://db.tt/nDnLMGd
bitcoin 1GxMy4EjCjbqkqAUCj1jH4hMtLGGaKzfVh
创新很重要,但不是一切。执行力才是最关键的
注册时间 最后登录
在线时间1401 小时 UID
主题帖子人气
潇洒煲一回~
白苹果, 积分 865, 距离下一级还需 635 积分
....沙发支持了~
楼主很辛苦~
全国手机话费~秒冲哦
注册时间 最后登录
在线时间6335 小时 UID
主题帖子人气
我是胖虎我是孩子王
Re:【ipod4g出品】用iPhone修改遊戲作弊版教程(待續............)
注册时间 最后登录
在线时间2659 小时 UID
主题帖子人气
我看不懂。。
注册时间 最后登录
在线时间221 小时 UID
主题帖子人气
冷漠的weiphone,好吧,
我只会简单一点,把档拷到电脑上改
注册时间 最后登录
在线时间1720 小时 UID
主题帖子人气
舞蹈的疯子
精品文章,等待更新。。
那已步入诸神之域的,必失去一切凡间情感;那即将成神的,必先抛弃一切情感。以此为打开神域之匙。
---------------《希络之书》
注册时间 最后登录
在线时间2699 小时 UID
主题帖子人气
面对它,接受它,处理
作弊无罪,加分有理!
[backcolor=#ffffcc]你若支持俺的帖子,请你把积分加给其他的小苹果~青苹果~红苹果~白苹果!
他们比俺更需要你的支持与鼓励!谢谢! [/backcolor]
注册时间 最后登录
在线时间1745 小时 UID
主题帖子人气
没看懂的说
注册时间 最后登录
在线时间1890 小时 UID
主题帖子人气
注册时间 最后登录
在线时间1916 小时 UID
主题帖子人气
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 丨 沪ICP备号-1 丨 深公安网监备案号 5
增值电信业务经营许可证:
Powered by Discuz!

我要回帖

更多关于 怪物猎人4g 86修改器 的文章

 

随机推荐