Iceman 发表于 2006-3-1 22:18:16

tElock 0.90 -> tE!,dump输入表+修复

【破文标题】tElock 0.90 -> tE!,dump输入表+修复
【破文作者】Iceman
【作者邮箱】[email protected]
【破解工具】OD、PEID、LORDPE、PEDITOR
【破解平台】XP sp2
【软件名称】BlueSeed

------------------------------------------------------------------------
不久前,有个网友,发了个软件给我脱壳,tElock 0.90 -> tE!的,找了些文章看后,有些问题没搞懂,毕竟大侠们的文章,不适合初学者,步骤太简化了。在些,对写《用OLLYDBG快速脱tElock V0.98的壳》的作者,表示感谢。我写的,基本是按作者原文,只是有些地方,写得详细点。

停了好几天,今天无聊,又重新试了下,结果,搞定了。初次接触这些东西,觉得比较有意义,就写下来。比较适合菜鸟们看。

这个过程,是把未加密的IAT,先dump出来,粘贴到脱壳后程序,再做一些修复


--------------------------------------
OD,忽略“INT3中断”和“单步中断”异常

SHIFT+F9运行,按了3次后,程序运行。CTRL+F2,重新开始

SHIFT+F9运行2次后,停下来。CTRL+F,搜索“and dword ptr ds:,0”

004BCC14^\EB 88         jmp short BlueSeed.004BCB9E
004BCC16    8B95 AEAF4000   mov edx,ss:
004BCC1C    8BB5 9EAF4000   mov esi,ss:
004BCC22    85F6            test esi,esi                        //下断点,ESI值为IAT的位置(未加密)
004BCC24    0F84 9D030000   je BlueSeed.004BCFC7
004BCC2A    03F2            add esi,edx
004BCC2C    83A5 9AB04000 0>and dword ptr ss:,0
004BCC33    8B46 0C         mov eax,ds:
004BCC36    8366 0C 00      and dword ptr ds:,0          //停在这
004BCC3A    85C0            test eax,eax
004BCC3C    0F84 85030000   je BlueSeed.004BCFC7

搜索后,往上看,在004BCC22处下断点

SHIFT+F9,停在004BCC22处,看ESI值,此时为95000

在命令行中输入“D 495000”,在数据窗口中,看到未加密的IAT,开始处为495000,结束处为497FF8

IAT大小为:497FF8-495000=2FF8

打开LordPE,部分转储。地址:495000大小:2FF8 。保存为dumped.dmp

接下来内存断点,直到OEP。OEP为8D124

内存映射,项目 19
地址=00401000
大小=0008D000 (577536.)
属主=BlueSeed 00400000
区段=CODE
包含=代码
类型=Imag 01001002
访问=R
初始访问=RWE

LordPE,完全转储。dumped.exe

把DUMP出来的IAT表,粘到dumped.exe的相应位置。

PEID,打开dumped.exe,查看区段“.idata”的R.Offset(原始偏移量),R.Offset为95000(IAT的开始处)

用WINHEX,复制dump出来的IAT,替换掉dumped.exe的IAT,也就是替换掉偏移量为9500-97FF7、大小为2FF7加密过的IAT。

替换后,保存。

最后,用PEditor修改OEP,重建程序

把入口点改为8D124。

查看IAT的原始偏移量是否为95000,如果不是,就改为95000。

重建程序,选择重建输入表。

完成后,运行程序,程序正常。PEID查为“Borland Delphi 6.0 - 7.0”



这个软件是一个捆绑机,软件我就不上传了。想试下的朋友,找个tElock 0.90 -> tE!的试下。


==============================================


下面是在网上看到的,用在这个软件中,找不到“MOV DWORD PTR SS:,EDX”

telock0.9-1.0 IAT加密 还是有规律可循的

只要找到这些就可以解决
MOV DWORD PTR SS:,EDX
POPAD
MOV BYTE PTR SS:,0
JE SHORT *********////只要这里改成JMP就可以得到完整的IAT,并不需要用ImportREC修复

------------------------------------------------------------------------

------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!

Nisy 发表于 2006-3-2 06:48:12

学习一下 感谢分享~

haiye 发表于 2006-6-5 19:07:47

很不错,感谢!

野猫III 发表于 2006-6-6 14:50:16

没看到附件,呵呵。。。

这个壳不知道用两次内存镜像断点脱得了不。

hyd009 发表于 2006-6-6 21:02:45

原帖由 野猫III 于 2006-6-6 14:50 发表
没看到附件,呵呵。。。

这个壳不知道用两次内存镜像断点脱得了不。



可以,;P

zhimingcom 发表于 2006-6-11 08:40:15

谢谢分享.学习学习

hanxiucao 发表于 2006-6-19 19:56:48

呵呵,看来今天没白来啊,挺不错的办法,就是有点麻烦啊

flyskey 发表于 2008-4-16 01:32:09

这个学习了!/:014
页: [1]
查看完整版本: tElock 0.90 -> tE!,dump输入表+修复