首页
社区
课程
招聘
[求助]脱tElock壳后无法正常运行!
发表于: 2008-12-29 15:27 7154

[求助]脱tElock壳后无法正常运行!

2008-12-29 15:27
7154
今天拿一个教程学习了一下最后一次异常法脱壳,拿一个壳来练手,跟了很久,感觉是脱掉了!

但是脱壳后不能正常运行,用Import修复了一下,发现非法函数!无法修复,不知道为什么啊!
帮我看看啊,谢谢了~~

用LP重建PE也不能用~~

这是记事本加tElock的壳的文件~~
————————————————————
tElock.rar
————————————————————

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
先用ImportRec追踪一下那几个无效指针,如果追踪无效,用OD看一下那些函数指针指向的函数,手动还原相应的函数指针,再用ImportRec来试试。
2008-12-29 17:32
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
简单方法用ImportRec 插件修复

根本的办法修改 magic jmp

0040D41E   /0F84 CF000000   je      0040D4F3  这句就是magic jmp

修改为 jmp     0040D4F3  然后IAT就全部有效。

上面的地址是98记事本的地址 地址因程序不同而异!

看你的OEP 就是记事本的 所以地址应该相同
2008-12-29 18:01
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
楼主这个ImportREC汉化的实在。。。
我指汉化者。
2008-12-29 20:04
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
把东东传上来看看吧 有实例比较好
2008-12-29 23:26
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
如Peeler大所说,找MagicJUMP~~~~~~

不想手动,更直接的办法,找个插件。
2008-12-30 10:10
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢版版啊,我用ImportRec已经追踪过了,都是无效!用OD手动还原函数指针,我还不清楚,指导啊,谢谢了~~
2008-12-30 10:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢peeler,不过我用ImportRec 插件修复,用修复1进行修复,都未修复,用ImportREC自带插件修复,也是无效。
至于说得修改magic jmp,我找了许久没找到地方,我把文件放到上面来,大大指导一下啊!
呵呵,这个是98记事本加的壳,最近都是在上面加了在练习的脱~~~
2008-12-30 11:05
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
9
额,上传个插件给你吧,放到ImpREC 的Plugin目录下

5个0.98版本和1个0.99版本的。

ImpREC显示无效,右键,使用插件跟踪
上传的附件:
2008-12-30 11:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢Ella,都用了试了一下,修复了不少,不过还是有许多无效的!
上传的附件:
  • 1.JPG (56.16kb,85次下载)
2008-12-30 12:05
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
程序不大的话上传下。
2008-12-30 12:54
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
OD 载入程序

下 bp VirtualAlloc+5 断点,SHIFT+9    5次后,alt+F9返回

修改 0040D41E   /0F84 CF000000   je      0040D4F3  这句magic jmp

改为 jmp      0040D4F3  

然后在打开内存镜像 在00401000代码段下F2中断

shift+F9  到达OEP  

最后dump  修复IAT
2008-12-30 13:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
已经传了,在顶楼~~
2008-12-30 13:22
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
具体操作看演示动画

tElock 0.98b1演示动画
2008-12-30 13:57
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
OD载入,
ALT+M
00405000  00001000 tElock 数据  -------------下断,SHIFT+F9
到:
0040CD3C    AC              lods    byte ptr [esi]
0040CD3D    F6D8            neg     al
0040CD3F    FEC0            inc     al

CTRL+B  
查找 0AF6

来到:
0040D346    0AF6            or      dh, dh          -------   这个是查找的
0040D348    895424 1C       mov     dword ptr [esp+1C], edx
0040D34C    61              popad
0040D34D    C685 D7CC4000 0>mov     byte ptr [ebp+40CCD7], 0
0040D354    74 24           je      short 0040D37A---------------------把这个je改成JMP
0040D356    80EC 08         sub     ah, 8
0040D359    B0 01           mov     al, 1
0040D35B    FECC            dec     ah

ALT+M,
00401000 00004000  tElock 代码---------------下断,SHIFT+F9来到OEP

004010CC    55              push    ebp
004010CD    8BEC            mov     ebp, esp
004010CF    83EC 44         sub     esp, 44
004010D2    56              push    esi
004010D3    FF15 E4634000   call    dword ptr [4063E4]               ; kernel32

别关OD,LordPE dump文件,ImportRec输入OEP,自动查找,显示全部有效,修复。
2008-12-30 14:05
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
再次谢谢peeler,刚去试了一下,
本来是在异常状态下进行脱壳的,没有忽略所有异常,
结果下了bp VirtualAlloc+5 断点,狂按SHIFT+F9    30多下都没特殊反映,
后来改了忽略所有异常才行,按了5次,返回,修改了magic jmp,
代码段下了了断点,dump了,
但是在修复IAT 时,还是遇到了无效函数,不过少多了,只有七个了,

然后用Ella提供的几个插件修复了一下,搞定六个,还有各一始终都不行,

还是不能修复,没办法,我把这个指针删除了,在修复一下,可以了,文件也能打开了。
查壳是没有,不知道这样行不行!

这方法能用其他上面么,下bp VirtualAlloc+5,是什么原理啊, 内存镜像断点在之后下啊?
修改magic jmp有什么规律,怎么确定啊?谢谢peeler指导啊!
上传的附件:
2008-12-30 14:31
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
[QUOTE=peeler;558313]具体操作看演示动画

tElock 0.98b1演示动画[/QUOTE]

再次谢谢,peeler,录像很详细,又学了不少东西,呵呵~~
还有那个bp VirtualAlloc+5 是什么方法啊,为什么啊?
2008-12-30 14:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
再谢谢Ella,用这个搞定的函数全都有效,修复成功!
就是不知道原理,方法能通用么,和peeler找的magic jmp位置不同啊,
方法是什么啊?下断点的位置也不同数据断点,一般不是资源断点么?
还有为什么查找0af6?
谢谢解答哈~~~
2008-12-30 15:01
0
雪    币: 228
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
19
奇怪..bp VirtualAlloc+5可以拦下来,bp VirtualAlloc就直接挂掉..

Ella用的是二次镜像法找的OEP

找0af6好像是去掉crc检验,呵呵,也不知道对不..
2008-12-30 15:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
这个学习下.
2008-12-30 16:38
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
CTRL+B  查找 0AF6  是网上流传的一种方法!

bp VirtualAlloc+5是我个人总结的一个方法,因为查找二进制时间长了可记忆性较差!

这个壳子检测VirtualAlloc断点  +5就是为了逃避检测。

你还有无效函数 可能是按的次数多了一次,第一次出现返回地址0040D41E的时候就alt+F9
2008-12-30 18:02
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
谢谢peeler多多指导啊,学习了,呵呵!

又学了kanxue老大的,内存断点找OEP,二次多次内存断点还是清楚多了~~

哈~
2008-12-31 18:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
magic jmp 怎么找呢?大大们?
2008-12-31 18:39
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
[QUOTE=;]...[/QUOTE]
其实用ImportRec修复时,无效指针可用等级3修复,剩下没修复的指针剪切就可以了。
2009-1-1 07:32
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
25
可以是可以,能找齐为什么不找齐呢。

如果遇到别的壳,等级三修复无效,剪切后无法正常运行,怎么办。

那不是根本解决问题的办法。
2009-1-1 10:24
0
游客
登录 | 注册 方可回帖
返回
//