软件破解教程-第8章第5节 脱壳高级篇4,软件破解教程,逆向工程技术 2008年06月24日 星期二 下午 02:21 第8章 压缩与脱壳 第五节 脱壳高级篇 4、Import REConstructor使用 Import REConstructor可以从杂乱的IAT中重建一个新的Import表(例如加壳软件等),它可以重建Import表的描述符、IAT和所有的ASCII函数名。用它配合手动脱壳,可以脱UPX、CDilla1、PECompact、PKLite32、Shrinker、ASPack, ASProtect等壳。该工具位于:光盘\tools\PE tools\Rebuilders\Import REConstructor。 在运行Import REConstructor之前,必须满足如下条件: 1) 目标文件己完全被Dump到另一文件; 2) 目标文件必须正在运行中; 3) 事先要找到真正的入口点(OEP); 4) 最好加载IceDump,这样建立的输入表较少存在跨平台的问题。 步骤如下: (1)找被脱壳的入口点(OEP); (2)完全Dump目标文件; (3)运行Import REConstructor和需要脱壳的应用程序; (4)在Import REConstructor下拉列表框中选择应用程序进程; (5)在左下角填上应用程序的真正入口点偏移(OEP); (6)按"IAT AutoSearch"按钮,让其自动检测IAT位置, 出现"Found address which may be in the Original IAT.Try ’Get Import’"对话框,这表示输入的OEP发挥作用了。 (7)按"Get Import"按钮,让其分析IAT结构得到基本信息; (8)如发现某个DLL显示"valid :NO" ,按"Show Invalids"按钮将分析所有的无效信息,在Imported Function Found栏中点击鼠标右键,选择"Trace Level1 (Disasm)",再按"Show Invalids"按钮。如果成功,可以看到所有的DLL都为"valid:YES"字样; (9)再次刷新"Show Invalids"按钮查看结果,如仍有无效的地址,继续手动用右键的Level 2或3修复; (10)如还是出错,可以利用"Invalidate function(s)"、"Delete thunk(s)"、编辑Import表(双击函数)等功能手动修复。 (11)开始修复已脱壳的程序。选择Add new section (缺省是选上的) 来为Dump出来的文件加一个Section(虽然文件比较大,但避免了许多不必要的麻烦) 。 (12)按"Fix Dump"按钮,并选择刚在(2)步Dump出来的文件,在此不必要备份。如修复的文件名是"Dump.exe",它将创建一个"Dump_.exe",此外OEP也被修正。 (13)生成的文件可以跨平台运行。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 11:25 , Processed in 0.178609 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.