其实我现在基本不玩GBA了,GBAROM也很少摆弄了,但不知道为什么,今天看到gbata出新版,还是忍不住要汉化她,反正也不费什么事。
这是一个给GBAROM打补丁的软件,功能比较强大,可以打软复位、时钟、IPS等各种补丁,还可以给ROM去片头、减肥等功能,绝对是GBA游戏玩家的必备工具。因为有一段日子,特别热衷于玩GBA游戏——主要是指恶魔城系列,所以那段时间知道了这个软件,上一版0.7我也汉化了,所以如果借助 Multilizer的翻译记忆功能,这个软件弹指就可以汉化完。但难点在于退壳上面。
这个软件结构比较简单,我是指文件少,就一个,不过用PEiD测下来表明,是加的最麻烦的PeCompact 2.x的壳,基本没有什么自动退壳的软件可以用,所以只好用OllyDBG来手动退了。
PeCompact2.x制造了两个异常(00000000内存写异常和Single Step单步循环异常),可以轻松通过查看SEH链来进行脱壳。
我参考了一个OllyDBG通用的退壳步骤:
1、去掉所有异常忽略,保留kernel32里的内存读写异常忽略
2、F9,运行
3、遇到写[00000000]内存异常,暂停
4、查看右下角SEH链信息,也可从右上角esp+4获得第一个SE Handle,Ctrl+G,来到此地址
5、向下找到jmp eax,大概在+CBH处(我这里是+CDH),记住此eax地址
6、Ctrl+F2重新载入,下硬件执行断点:he 4A0B64,F9,找到push ebp的语句,可以右键dump了
7、F8(有的需要,我这里已经在上一步完工了)
8、dump,imprec fix iat,完工(有些还需要修复iat表,我这里也不需要了,dump出来的直接能用)
然后用Multilizer汉化,不在话下,只是它生成的.exe没法用,提示“不是标准的win32程序”,没办法,把Delphi特有的CHS资源文件,用ReScope强行打开,拷贝里面的RCData到dump的程序里,这样就好了。
还有部分ASCII资源,用UltraEdit就轻松搞定了。
谁要是有兴趣,可以到Emu-Zone社区里去下载,我发布在那里了(这里什么时候能上传就好),以下地址:
http://bbs.emu-zone.org/newbbs/viewthread.php?tid=379901&extra=page%3D1
这是一个给GBAROM打补丁的软件,功能比较强大,可以打软复位、时钟、IPS等各种补丁,还可以给ROM去片头、减肥等功能,绝对是GBA游戏玩家的必备工具。因为有一段日子,特别热衷于玩GBA游戏——主要是指恶魔城系列,所以那段时间知道了这个软件,上一版0.7我也汉化了,所以如果借助 Multilizer的翻译记忆功能,这个软件弹指就可以汉化完。但难点在于退壳上面。
这个软件结构比较简单,我是指文件少,就一个,不过用PEiD测下来表明,是加的最麻烦的PeCompact 2.x的壳,基本没有什么自动退壳的软件可以用,所以只好用OllyDBG来手动退了。
PeCompact2.x制造了两个异常(00000000内存写异常和Single Step单步循环异常),可以轻松通过查看SEH链来进行脱壳。
我参考了一个OllyDBG通用的退壳步骤:
1、去掉所有异常忽略,保留kernel32里的内存读写异常忽略
2、F9,运行
3、遇到写[00000000]内存异常,暂停
4、查看右下角SEH链信息,也可从右上角esp+4获得第一个SE Handle,Ctrl+G,来到此地址
5、向下找到jmp eax,大概在+CBH处(我这里是+CDH),记住此eax地址
6、Ctrl+F2重新载入,下硬件执行断点:he 4A0B64,F9,找到push ebp的语句,可以右键dump了
7、F8(有的需要,我这里已经在上一步完工了)
8、dump,imprec fix iat,完工(有些还需要修复iat表,我这里也不需要了,dump出来的直接能用)
然后用Multilizer汉化,不在话下,只是它生成的.exe没法用,提示“不是标准的win32程序”,没办法,把Delphi特有的CHS资源文件,用ReScope强行打开,拷贝里面的RCData到dump的程序里,这样就好了。
还有部分ASCII资源,用UltraEdit就轻松搞定了。
谁要是有兴趣,可以到Emu-Zone社区里去下载,我发布在那里了(这里什么时候能上传就好),以下地址:
http://bbs.emu-zone.org/newbbs/viewthread.php?tid=379901&extra=page%3D1