| 网站首页 | 文章中心 | 手机软件 | 手机游戏 | 手机主题 | 铃声 | 论坛 | 
您现在的位置: 网站首页 >> 文章中心 >> 手机应用 >> 汉化开发 >> 正文 用户登录 新用户注册
[组图]S60游戏破解简易教程实例-作者b0nny
        
S60游戏破解简易教程实例-作者b0nny
作者:b0nny 文章来源:b0nny 点击数: 更新时间:2005-9-15 18:26:10

 

一,先来说最新的支持s60-s90多款手机那一版:

还是一样,拿到游戏或软件原版后,不要急着先打开IDA等反编译工具看,先去安装原版,看看它的注册情况到底是如何的.这个游戏运行后,先会弹出一个press ok的按钮,过后才是判断注册与否的分叉,如果没有注册的情况下,那么press ok后会弹出一个注册窗口,要求输入你的注册号或者去try demo(也就是让你去试用一下这个游戏,但你并不是注册用户).如果你是注册用户的话,press ok后将跳过这一个窗口的输入选择,直接进入游戏选单的主界面.

好,到这里,大家大约就可以在脑海里记录下可能会发生的几种破解方案了:一,不去管什么注册不注册,每次都去选择try demo,但要使这个try demo成为无任何限制性使用,从某种意义上讲与正版注册用户享受同样功能;二,去掉那个注册框,版本从第一次安装运行起,程序就一直默认你为注册版;三,第一次运行还是有要注册的窗口,但无论输入什么都会让程序认证注册成功,成为真正注册版.

ok,这就是你的大约思路,也许有些并不正确,因为我们还没有去看程序,但一定有一个是正确的.相信我!呵呵.

正式打开你们手中的ida,看哪个文件?上次我的教程里已经说过了.这次也是看app文件.好,打开它,稍等一下,解析半分钟就会完毕.养成习惯先去看names window的项目,往下拉一拉,才拉几个,就看到一连串令我们兴奋的名字(见图ElfinForest_s90_1.png).我们就看这个IdIncorrect,熟悉啊,我们前面在游戏中随便输入注册号出现错误的提示不就是和它很接近么?ok,双击它,来到IDA View-A,往上跳几次,最后一次跳转就来到了我们的图ElfinForest_s90_2.png的地方,上下看看.我把命令抄一下:

.text:10006AF0                 BNE     loc_10006BF4    ; Branch
.text:10006AF4                 ADD     R5, R6, #0x2C8  ; Rd = Op1 + Op2
.text:10006AF8                 ADD     R0, R6, #0x2A0  ; Rd = Op1 + Op2
.text:10006AFC                 MOV     R1, R5          ; Rd = Op2
.text:10006B00                 BL      sub_1000CD74    ; Branch with Link
.text:10006B04                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2
.text:10006B08                 BEQ     loc_10006B50    ; Branch
.text:10006B0C                 ADD     R4, R6, #0x270  ; Rd = Op1 + Op2
.text:10006B10                 ADD     R0, SP, #0x10   ; Rd = Op1 + Op2
.text:10006B14                 LDR     R1, =aIdIncorrect ; Load from Memory
.text:10006B18                 BL      sub_1000C934    ; Branch with Link
.text:10006B1C                 MOV     R0, R4          ; Rd = Op2
.text:10006B20                 ADD     R1, SP, #0x10   ; Rd = Op1 + Op2
.text:10006B24                 BL      sub_1000CD24    ; Branch with Link

其中的BEQ loc_10006B50我点了一下,大家看到没有,黄色的,这里有一跟跳转线,跟着它往下走几步瞧瞧.哦,大家都能看到了,这个跳转能越过IdIncorrect,而到达Config_dat,RegisterSuccess等等的位置.真是简单啊.如果我们让BEQ loc_10006B50成为无条件跳转命令不就行了?

是的,我们已经做完了,再回到这个位置:

.text:10006B08                 BEQ     loc_10006B50    ; Branch

记下他的位置00006B84,好的.关闭IDA(不需要它了),打开你们的16进制编辑工具,我喜欢用UltraEdit-32,找到那个位置,ok,原来IDA中看到的BEQ loc_10006B50命令就是由10 00 00 0A组成的.

easy, 改成10 00 00 EA,保存不就完工了么?有人要问只改一个字母么?是的,就改一个字母.我的原则就是能不改就不改,能改一处就改一处.多改无益,当然这个完全视情况而定的.把你的app传入手机覆盖原文件吧,相信我,你已经成功了.


二,我们来看看第二个版本s60版:

一样,看图ElfinForest_s60_1.png,names window的项目IdIncorrect,然后一样在IDA View-A向上跳几次后,来到图ElfinForest_s60_2.png的地方:

.text:10006B60                 BNE     loc_10006C64    ; Branch
.text:10006B64                 ADD     R5, R6, #0x2C8  ; Rd = Op1 + Op2
.text:10006B68                 ADD     R0, R6, #0x2A0  ; Rd = Op1 + Op2
.text:10006B6C                 MOV     R1, R5          ; Rd = Op2
.text:10006B70                 BL      sub_1000CEEC    ; Branch with Link
.text:10006B74                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2
.text:10006B78                 BEQ     loc_10006BC0    ; Branch
.text:10006B7C                 ADD     R4, R6, #0x270  ; Rd = Op1 + Op2
.text:10006B80                 ADD     R0, SP, #0x10   ; Rd = Op1 + Op2
.text:10006B84                 LDR     R1, =aIdIncorrect ; Load from Memory
.text:10006B88                 BL      sub_1000CA0C    ; Branch with Link
.text:10006B8C                 MOV     R0, R4          ; Rd = Op2
.text:10006B90                 ADD     R1, SP, #0x10   ; Rd = Op1 + Op2
.text:10006B94                 BL      sub_1000CE9C    ; Branch with Link

其中的BEQ loc_10006BC0我也点了一下,黄色的,它能跳过我们的IdIncorrect,和上面一样到达Config_dat,RegisterSuccess的位置.所以我们一样把它改为无条件跳转命令即可.

记录下它的位置是00006BF4.关闭IDA,打开UltraEdit-32,找到它,还是10 00 00 0A,改成10 00 00 EA就做完了.这个不多说.

好了,其它方法我自己倒是也都做了一边,你们先跟着我的这个方案做一次,做完后也去尝试其它方案,领略领略破解的无穷乐趣吧!哈哈!




 



 



 



点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小


文中所指游戏地址 http://www.sisdown.com/game/act/200509/1325.html

  • 上一篇文章:
  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口


    -

    相关文章
  • 没有相关文章

  • 更多相关:
    在百度中更多内容
    -
    推荐文章
    热门文章
    姓 名:
    *
  • 验证码: *
  • 评 分: 1分 2分 3分 4分 5分
    评论内容:

    | 设为首页 | 加入收藏 | 联系我们 | | 设为首页 | 加入收藏 | 联系我们 | 友情链接 | 版权申明 | 网站历史 | 广告合作 | English |
    symban
    Symbian OS the mobile operating system
    本站支持S60手机型号(UIQ、s80、s90近期推出)
    Nokia 3230/3650/6260/6600/6630/6670/6680/6681/7610/N70/N90/N-Gage QD
    Panasonic X700/X800
    Siemens SX1
    Sendo X
    信息产业部备案
    豫ICP备05012047号