首页
社区
课程
招聘
脱tElock 0.9 - 1.0 (private) -> tE!壳
发表于: 2005-8-12 23:44 7092

脱tElock 0.9 - 1.0 (private) -> tE!壳

2005-8-12 23:44
7092
脱tElock 0.9 - 1.0 (private) -> tE!壳还没有搞定请帮忙
【软件名称】TW线切割编程系统
【下载地址】 5d5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4c8G2N6$3g2V1L8g2)9J5k6h3&6W2j5i4y4W2i4K6u0W2L8X3g2@1
【软件简介】TW线切割编程系统
【加壳方式】tElock 0.9 - 1.0 (private) -> tE!
看了http://bbs.pediy.com/showthread.php?

s=&threadid=10631&highlight=tElock+0.9后,我也试了一下,还像有点不一样

了,就再试试!结果壳是脱了,但是出错!!下面就是我的过程
设置Ollydbg忽略除了“INT3中断”之外的所有其它异常选项。老规矩:用

IsDebug 1.4插件去掉Ollydbg的调试器标志。
      

004CBBD6 >  90              nop进入OD后停在这
004CBBD7  ^ E9 25E4FFFF     jmp ks.004CA001
004CBBDC    0000            add byte ptr ds:[eax],al
004CBBDE    65:A5           movs dword ptr es:[edi],dword ptr gs>
004CBBE0    C4D3            les edx,ebx                          ; 非

法使用寄存器
004CBBE2    1E              push ds
004CBBE3    BC 0C000000     mov esp,0C
004CBBE8    0000            add byte ptr ds:[eax],al
004CBBEA    0000            add byte ptr ds:[eax],al
004CBBEC    0000            add byte ptr ds:[eax],al
004CBBEE    3E:BC 0C002EBC  mov esp,BC2E000C
004CBBF4    0C 00           or al,0
004CBBF6    26:BC 0C000000  mov esp,0C
Shift+F9 运行,程序中断在INT3异常处
004CA08D    90              nop

004CAB28    90              nop

提供一个简便寻找ASPack加壳DLL的重定位处理代码段的方法!

(http://bbs.pediy.com/showthread.php?

s=&threadid=1595&highlight=tElock+0.9)在此要感谢fly版主(其实我很久就

知道fly了,但是那时我的上网是电话线拔号就没有深入破解研究其实我很喜欢

看以前fly写的破文!在此再次的感谢fly版主)
现在设置Ollydbg忽略所有异常选项。Ctrl+S在“整个段块”搜索命令序列:
         

代码:----------------------------------------------------------------

----------------
mov ebx,edx
shr ebx,10
mov eax,dword ptr ds:[esi]
---------------------------------------------------------------------

-----------
004CB177    8BB5 56D34000   mov esi,dword ptr ss:[ebp+40D356]  下断点

Shift+F9 运行,中断
ss:[004CBCB4]=00000000★ 这个00000000就是重定位表的RVA!--fly就是这样

说的吧?我也不能确定,到时试试再说了!!

esi=00000000

004CB17D    85F6            test esi,esi
004CB17F    0F84 8B000000   je ks.004CB210()
004CB185    8B95 62D34000   mov edx,dword ptr ss:[ebp+40D362]
004CB18B    03F2            add esi,edx
004CB18D    2B95 66D34000   sub edx,dword ptr ss:[ebp+40D366]
//这里其实就是检测与映像基址是否相符,不符则重定位处理!★

004CB193    74 7B           je short ks.004CB210
004CB195    8BDA            mov ebx,edx   找到在此,但是我们要下断在

4cb177
004CB197    C1EB 10         shr ebx,10
004CB19A    8B06            mov eax,dword ptr ds:[esi]
004CB19C    85C0            test eax,eax
004CB19E    74 70           je short ks.004CB210
//重定位处理完毕后这里就跳转       在004CB210处下断

004CB1A0    8B4E 04         mov ecx,dword ptr ds:[esi+4]
004CB1A3    83E9 08         sub ecx,8
004CB1A6    D1E9            shr ecx,1
004CB1A8    8BBD 62D34000   mov edi,dword ptr ss:[ebp+40D362]

中断在
004CB210    8B95 62D34000   mov edx,dword ptr ss:[ebp+40D362]    ;

ks.00400000
ss:[004CBCC0]=00400000 (ks.00400000)
edx=7C92EB94 (ntdll.KiFastSystemCallRet)
我查看寄存器时发现ESI=00000000
004CB216    8BB5 52D34000   mov esi,dword ptr ss:[ebp+40D352]
ss:[004CBCB0]=000AA590   ★ 这就是输入表的RVA啦。
esi=00400000 (ks.00400000)
004CB21C    85F6            test esi,esi
004CB21E    0F84 06040000   je ks.004CB62A
//第2个Magic Jump,改标志位Z=1,使其跳转,则不加密IAT

004CB224    03F2            add esi,edx
004CB226    83A5 52D44000 0>and dword ptr ss:[ebp+40D452],0
004CB22D    8B46 0C         mov eax,dword ptr ds:[esi+C]
004CB230    8366 0C 00      and dword ptr ds:[esi+C],0
004CB234    85C0            test eax,eax
004CB236    0F84 EE030000   je ks.004CB62A
004CB23C    03C2            add eax,edx
004CB224    03F2            add esi,edx
004CB226    83A5 52D44000 0>and dword ptr ss:[ebp+40D452],0
004CB22D    8B46 0C         mov eax,dword ptr ds:[esi+C]
004CB230    8366 0C 00      and dword ptr ds:[esi+C],0
004CB234    85C0            test eax,eax
004CB236    0F84 EE030000   je ks.004CB62A
004CB23C    03C2            add eax,edx

二、第2区段内存断点法:快速直达OEP
         
现在我们Alt+M打开 内存查看 窗口:

代码:--------------------------------------------------------------------------------
003B0000   00001000   EdrLib   003B0000 (itself)  PE header//第1区段
003B1000   00003000   EdrLib   003B0000           code//第2区段  ★
003B4000   00001000   EdrLib   003B0000           data
--------------------------------------------------------------------------------

         
在003B1000第2区段上 设置内存访问断点!Shift+F9 运行,直接中断在OEP处!
         

代码:--------------------------------------------------------------------------------
0045E70C    55              push ebp  可以down出
0045E70D    8BEC            mov ebp,esp
0045E70F    6A FF           push -1
0045E711    68 B0054A00     push ks.004A05B0
0045E716    68 584A4600     push ks.00464A58
0045E71B    64:A1 00000000  mov eax,dword ptr fs:[0]
0045E721    50              push eax
0045E722    64:8925 0000000>mov dword ptr fs:[0],esp
0045E729    83EC 58         sub esp,58
0045E72C    53              push ebx
0045E72D    56              push esi
0045E72E    57              push edi
0045E72F    8965 E8         mov dword ptr ss:[ebp-18],esp
0045E732    FF15 54734900   call dword ptr ds:[497354]

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

我用pedit检测无壳,但是却不能运行,后面的我就不知道了!!大家帮我看看!!我感觉是不是我的OEP,输入表RVA
重定位表RVA、大小等有问题,
但是我不会用LordPE脱壳,还请高手指点如何用LordPE修正及脱壳,我英语很差的!!请具体一点,谢谢了!!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
避开输入表加密部分看看《tElock XXX 之forgot、heXer修改版脱壳》
2005-8-12 23:47
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
我我以前0.98的都是直接用脱壳机脱,懒得手脱,今天碰到用脱壳机脱不了的了0.99的,看了下其实也挺简单的。找oep简单,走到oep后iat有一部分被加密了,解密方法也简单,跟ACProtect差不多,自己写几句代码就全部解开了。记得以前有人说ACP偷学telock,可能是这里吧。
对了,dump的时候记得纠正一下映象大小。
2005-8-12 23:55
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
4
哈哈,又到这里来了,OCN那传不上来,放在这吧,你对比一下附件:ks_unpacked.rar
2005-8-13 00:05
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
clide2000,热心人啊
2005-8-13 00:11
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢了!!
2005-8-13 01:24
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
clide2000能不能发表一下你的脱文啊??
2005-8-13 01:31
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
代码:----------------------------------------------------------------

----------------
mov ebx,edx
shr ebx,10
mov eax,dword ptr ds:[esi]
---------------------------------------------------------------------

-----------
004CB177    8BB5 56D34000   mov esi,dword ptr ss:[ebp+40D356]  下断点

Shift+F9 运行,中断
ss:[004CBCB4]=00000000★ 这个00000000就是重定位表的RVA!--fly就是这样

说的吧?我也不能确定,到时试试再说了!!(这个我试了一下,不行啊!!希望fly版主能看看,其实我在看你的那个教程时也是不解啊??)

esi=00000000
2005-8-15 16:50
0
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
9
exe不需要处理重定位表
已经说了:
避开输入表加密部分看看《tElock XXX 之forgot、heXer修改版脱壳》
2005-8-15 17:13
0
游客
登录 | 注册 方可回帖
返回