国外网站大全·环游世界互联网

当前位置:首页 > 汉化宝典 > >

内容详情

收录时间:2010-05-18

标题

软件汉化之EXE、DLL文件的脱壳

已阅0
投稿须知

网站介绍

我们在软件汉化时,经常会发现这种情况。用eXeScope 打开 EXE、OCX 或 DLL 文件,打开文件正常,可以看到具体的资源项和资源子项,明明看到有菜单、对话框、字符串、RCData、光标、图标、位图等资源存在。

但单击资源子项,想查看子项的内容时,出现这样的信息窗口(如图1),无法查看资源子项内容。

\

    这是因为文件使用了一些压缩加壳软件加密过,这就需要对文件进行解压脱壳处理后,才能汉化。这种压缩与我们平时接触的压缩工具如winzip,winrar等压缩不同,winzip压缩后的文件不能直接执行,而这种 EXE 压缩软件,EXE文件压缩后,仍可以运行。这种压缩工具把文件压缩后,会在文件开头一部分,加了一段解压代码。执行时该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。这样的程序很多,如 The bat,Acdsee,Winxfile等等。

 这种压缩加壳属于软件加密,现在越来越多的软件经过压缩处理,给我们汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。

    而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处吗简单,缺点吗版本更新了就没用了。

    另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。

侦测壳的类型:

 我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。这类查壳的工具很多,我这里介绍大家使用 Filebase for eXecutable (简称 Fi),它是一个文件格式分析器,除了用来查壳,还有很多功能,我们在以后汉化教程还会接触它。由于 Fi 是使用dos命令格式,因此你必须在"我的电脑"的地址栏中操作(如果你还没有升级到IE4.0以上,你可能要在"开始"--"运行"中进行操作),操作如下:

 首先我们把要分析的文件复制到 Fi的目录,确定是在 Fi的目录下,然后在"我的电脑"地址栏中输入以下的命令:fi 文件名.后缀名 (例:fi acdsee.exe )

\

    出现如下界面(见图 ):哦,原来是用Aspack1.804加密的:

\

  
  我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们软件汉化时常常会碰到的加壳方式及简单的脱壳措施,供大家参考:

(1)、Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了 ;
(2)、ASProtect+aspack: 次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。 
(3)、Upx: 可以用UPX本身来脱壳,但要注意版本是否一致,用-D 参数; 
(4)、Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦 ;
(5)、Dbpe: 国内比较好的加密软件,新版本暂时不能脱,但可以破解 ;
(6)、NeoLite: 可以用自己来脱壳 ;
(7)、Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳 ;
(8)、Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识 ;
(9)、Petite: 有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 ;
(10)、WWpack32: 和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合PEDUMP32脱壳。

 我们通常都会使用Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。下面摘选了捷迅中文化天地(杨贯仲) 写的 Procdump的教程,写的非常好,附录如下: 

 由以上两个可执行程序的加壳分析工具知道 TPM1.0 是被UPX 0.70加压的,顺便说一声,前段时间出的 AcdSee32的2.42版 是用Aspack1.803加压的,Mass Downloader V1.2.62 Beta 2 是用Aspack1.804d加压的。下面我们打开PROCDUMP32的主程序:

prodump1.GIF (14428 字节)

5.单击按钮“解包”,弹出如下对话框:

prodump2.GIF (6141 字节)

 将选择解包方式设为:UPX,然后单击“确定”,选择要解包的程序为:TPM.exe

prodump3.GIF (6739 字节)

 单击按钮“打开”后将出现如下窗口:

prodump4.GIF (8107 字节)

 此时Procdump将自动打开TPM并分析处理它的加密壳,注意此时一定要等TPM完全加载后才单击按钮“确定”,否则的话你又要重新来过了,单击按钮“确定”后将接着出现如下对话框,并且打开的TPM将自动关闭:

prodump5.GIF (7183 字节)

 单击按钮“保存”,将它保存为newtpm.exe,newtpm.exe就是我们需要的文件了,现在你可以将它自由的汉化了,怎么样,简单吧。

    其实你也可以利用Procdump内置的解包功能来直接解开TPM,而无须利用GTW 2.51和Filebase for eXecutable 2.10来识别要处理的文件,不过这样的成功率就要低很多了。方法是:

1、在打开Procdump之前先打开TPM,然后再打开Procdump,在Procdump的窗口中选中TPM的进程,如下图示:

prodump6.GIF (15473 字节)

 单击完全保存后就会弹出如下对框要你选择要保存的文件名,任写一个保存就可得到你所需要可以汉化的未加壳程序了。

prodump7.GIF (6959 字节)

 采用这种方法的成功率要低很多,我建议你用GTW 2.51和Filebase for eXecutable 2.10先将要处理的程序识别出来是用什么加壳的之后,才用Procdump选取相应的解包方式解开它。

 技巧:有时在Procdump的任务窗口中采用以上方法解不开,你可以试着在Procdump的部件窗口中采用以上方法,说不定会有让你以外的惊喜。

 有时你使用Procdump还是无法将文件它解开或者是解开后却还是找不到资源(没有正确解开),建议大家用相应的专门针对这一类压缩壳的解壳工具来解开它。这些工具你可以在我们主页的汉化工具中找到,如果你还是解不开它,你可以问问以下的破解高手。

 注意:文件脱壳后,有条件最好在不同系统进行测试,看看是否运行正常。前段时间,经常有用户反映有些汉化作品无法运行。后来发现,汉化人是用 TRW2000 进行脱壳的,这种方法脱壳非常简单,可惜有一个大的BUG。

     解开的EXE文件会少些东西,造成解开后的文件只能同一系统中运行。如:在win95脱壳,只能在win95运行,在其他系统无法正常运行,反之亦然。作为汉化人,装多个系统是必须的,不仅脱壳后的文件,要在不同系统中测试,汉化后的文件,最好也能在不同系统测试。

分享给小伙伴们:
站长头像赫赫无敌:探索互联网世界,收集和分享实用互联网资源,推荐国内和国外知名、实用、创新、科技、优质的站点资源!互联无极限,探索无止境;分享求真知,网络无国界!
更多>>

同类站点推荐

评论

关于我们|联系方式|版权声明|关于图片|友情链接|

分享互联网优秀资源-国外网站推荐

Copyright ◎ 2014 egouz.com, All Rights Reserved.| 目前收录国外网站 个!

国外网站大全 版权所有 冀ICP备11014106号-