EXE、DLL文件的全能脱壳秘籍

上一篇 / 下一篇  2008-11-15 08:10:35

我们在软件汉化时,经常会发现这种情况。用eXeScope 打开 EXE、OCX 或 DLL 文件,打开文件正常,可以看到具体的资源项和资源子项,明明看到有菜单、对话框、字符串、RCData、光标、图标、位图等资源存在。但单击资源子项,想查看子项的内容时,出现这样的信息窗口(如图1),无法查看资源子项内容。

&x4M[/_-s/T0

    这是因为文件使用了一些压缩加壳软件加密过,这就需要对文件进行解压脱壳处理后,才能汉化。这种压缩与我们平时接触的压缩工具如winzip,winrar等压缩不同,winzip压缩后的文件不能直接执行,而这种 EXE 压缩软件,EXE文件压缩后,仍可以运行。这种压缩工具把文件压缩后,会在文件开头一部分,加了一段解压代码。执行时该文件时,该代码先执行解压还原文件,不过这些都是在内存中完成的,由于微机速度快,我们基本感觉不出有什么不同。这样的程序很多,如 The bat,Acdsee,Winxfile等等。
.@-O$xf(?Px0  这种压缩加壳属于软件加密,现在越来越多的软件经过压缩处理,给我们汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处吗简单,缺点吗版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。IXPUB技术博客o~w2X/MP0{
侦测壳的类型:IXPUB技术博客 B Y M1bF]R

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

#TldB(GJhZ4h w? V6l0

M)K_)P3D5`)r0

    出现如下界面(见图 ):哦,原来是用Aspack1.804加密的:-)
X:v3P*n?E$Z0
D[er2DXPUB技术博客$hT$O[%G8aZG

  
\/@Z%lkJb0  我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们软件汉化时常常会碰到的加壳方式及简单的脱壳措施,供大家参考:-)
#]9@O0Ma1g2F @0(1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了 
L&K4n^.N*YB6D LD0(2)ASProtect+aspack: 次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。 
!p}go n^1^n G kn@*D0(3)Upx: 可以用UPX本身来脱壳,但要注意版本是否一致,用-D 参数 IXPUB技术博客g*aK$}%M+k2Bv7A
(4)Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦 IXPUB技术博客[%Rl*g.Jqnw)r
(5)Dbpe: 国内比较好的加密软件,新版本暂时不能脱,但可以破解 
4| j(VA,u2s0(6)NeoLite: 可以用自己来脱壳 IXPUB技术博客J}@*Z h-L'Qka*\I
(7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳 
tnINp ?f7P3t0(8)Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识 IXPUB技术博客)P+ZIz:b:a
(9)Petite: 有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 
ZL|$F6u `F,G0(10)WWpack32: 和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合 PEDUMP32脱壳IXPUB技术博客WJD0ko%s;I-N)p

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

------------------------------杨贯仲的文章------------(开始)------------------------------IXPUB技术博客%E@{~0Vn c

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

3Fo3v2Ev L0

prodump1.GIF (14428 字节)IXPUB技术博客Z+nKjD!l

  5.单击按钮“解包”,弹出如下对话框:IXPUB技术博客F3U J2j!h BS&jT

prodump2.GIF (6141 字节)将选择解包方式设为:UPX,然后单击“确定”,选择要解包的程序为:TPM.exe

BD{lfr0

prodump3.GIF (6739 字节)

-n o2? yoaEE0

  单击按钮“打开”后将出现如下窗口:IXPUB技术博客ze~,`Os,A RC)hj

prodump4.GIF (8107 字节)

2^#Y1_`6m @e h_]V0

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

prodump5.GIF (7183 字节)

x&t?S,j.G`6Xp0

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

'_Zo0Jx2ds8u+y0

暂告一段落IXPUB技术博客0h%iw:gxB,OOc{

   其实你也可以利用Procdump内置的解包功能来直接解开TPM,而无须利用GTW 2.51和Filebase for eXecutable 2.10来识别要处理的文件,不过这样的成功率就要低很多了。方法是:IXPUB技术博客7^p1W6x7?)^.Y8xS
  1.在打开Procdump之前先打开TPM,然后再打开Procdump,在Procdump的窗口中选中TPM的进程,如下图示:
IXPUB技术博客/[&U3_2^yqhTh

prodump6.GIF (15473 字节)

GW N&Zs/B"L.w0

  单击完全保存后就会弹出如下对框要你选择要保存的文件名,任写一个保存就可得到你所需要可以汉化的未加壳程序了。IXPUB技术博客`vB{;gn\H5U

prodump7.GIF (6959 字节)

g{g,]1T~a(VR apL0

  采用这种方法的成功率要低很多,我建议你用GTW 2.51和Filebase for eXecutable 2.10先将要处理的程序识别出来是用什么加壳的之后,才用Procdump选取相应的解包方式解开它。IXPUB技术博客U#J;e/k4R]EvE&?x

  技巧:有时在Procdump的任务窗口中采用以上方法解不开,你可以试着在Procdump的部件窗口中采用以上方法,说不定会有让你以外的惊喜。IXPUB技术博客[_E l&a(J%i Om_x J0`7^

IXPUB技术博客/gV;sJjys NTc
---------------------------------杨贯仲的文章-----(结束)----------------------------
IXPUB技术博客!q0C)Ne!]2?6C7fD`

  有时你使用Procdump还是无法将文件它解开或者是解开后却还是找不到资源(没有正确解开),建议大家用相应的专门针对这一类压缩壳的解壳工具来解开它。这些工具你可以在我们主页的汉化工具中找到,如果你还是解不开它,你可以问问以下的破解高手,他们会很热情的回答你的问题。
9x6T z)jfo}O0    侠客的家 nemc.yeah.net
v*z0A*zW8mt Ux Arh s0    冰雪天地 iceworld.yeah.netIXPUB技术博客Iy!W!GqW

  注意:文件脱壳后,有条件最好在不同系统进行测试,看看是否运行正常。前段时间,经常有用户反映有些汉化作品无法运行。后来发现,汉化人是用 TRW2000 进行脱壳的,这种方法脱壳非常简单,可惜有一个大的BUG。解开的EXE文件会少些东西,造成解开后的文件只能同一系统中运行。如:在win95脱壳,只能在win95运行,在其他系统无法正常运行,反之亦然。作为汉化人,装多个系统是必须的,不仅脱壳后的文件,要在不同系统中测试,汉化后的文件,最好也能在不同系统测试。

I7] C.pdJfs0

TAG: dll Dll DLL exe EXE Exe 秘籍 脱壳 文件

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-07  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 65616
  • 日志数: 1212
  • 文件数: 1
  • 建立时间: 2007-08-10
  • 更新时间: 2009-01-07

RSS订阅

Open Toolbar