首页
社区
课程
招聘
Unpacking EncryptPE V2.2005910
发表于: 2005-11-14 19:00 16048

Unpacking EncryptPE V2.2005910

2005-11-14 19:00
16048
;by Immlep
;www.ptteam.com
;target:EPEunpackme 910.exe
;http://www.ptteam.com/EPEunpackme.rar

昨天看到某大侠在群里发Loveboom的epe910的脱壳机(后来获悉这个位大侠就是loveboom本人,打倒loveboom !!).....的图片,痒痒的,不过机归机,脱归脱,上次心血来潮,用EPE注册版加个UnpackMe,不要问我拿注册版,这是某兄弟在没有玩破解之前话了X00元RMB买的,自己的软件倒是没有加,被我用来加UnPackMe,真是.......

话说UnpackMe是加了,放了两天,都快发霉了,可事情就发生在今天早上,睡过头了!睡过头了?这个脱壳本来是没什么关系的,可是,我睡过头了阿,你不知道啊,今天早上3、4有课啊,看看现在是什么时间十点半了,早就上到了第三节了,啊,这还不惨!天又下着雨,去到教室要走十几分钟,去到之后都快上到第四节了,人的惰性,由此而生,My God!我又逃课了,但是逃课也要找点事做啊,难道我就这样浪费了两节+被老师点名的危险+6.25*2块RMB(按一年5500的学费来算的话,一年40周,每周22节课!总共就880节课),天啊,这12.5RMB可不能浪费啊,但是我看到了桌面上的EPE UnpackMe的时候,我露出了奸诈的笑容,嘻嘻嘻嘻!!你小子,上次有人拿500RMB要我做了你,我没干,今天我就要为了12.5RMB把你做了。

结束掉explorer进程,用OD载入EPEunpackme 910.exe,在OD中忽略“内存反问异常”,F9运行,发生第一次INT3异常,Go,这里我不罗嗦了,我只教你修改代码,具体的自己慢慢去跟踪,第一次异常停下来是修改下面的代码。

711E4142       0F95C0                  SETNE AL ;效俭
711E5FD1       0F95C0                  SETNE AL ;效俭
711E4081       8B55 F8                 MOV EDX, DWORD PTR [EBP-8]  ;函数处理

修改如下
711E4142       0F94C0                  SETE AL
711E5FD1       0F94C0                  SETE AL
711E4081       8B55 FC                 MOV EDX, DWORD PTR [EBP-4]

711E5AED处的代码(修改程序中的函数调用JMP类):
711E5AED       66:C700 FF25             MOV WORD PTR [EAX], 25FF
711E5AF2       8B55 FC                  MOV EDX, DWORD PTR [EBP-4]
711E5AF5       8950 02                  MOV DWORD PTR [EAX+2], EDX
711E5AF8       8BD0                     MOV EDX, EAX
711E5AFA       8B5D E8                  MOV EBX, DWORD PTR [EBP-18]
711E5AFD       83C3 06                  ADD EBX, 6
711E5B00       8B45 E0                  MOV EAX, DWORD PTR [EBP-20]                                            ; V2200591.711DC6DC
711E5B03       03C0                     ADD EAX, EAX
711E5B05       03D8                     ADD EBX, EAX
711E5B07       8B45 E8                  MOV EAX, DWORD PTR [EBP-18]
711E5B0A       8B00                     MOV EAX, DWORD PTR [EAX]
711E5B0C       0FB70B                   MOVZX ECX, WORD PTR [EBX]
711E5B0F       81E9 00300000            SUB ECX, 3000
711E5B15       03C1                     ADD EAX, ECX
711E5B17       0345 DC                  ADD EAX, DWORD PTR [EBP-24]
711E5B1A       48                       DEC EAX
711E5B1B       2BD0                     SUB EDX, EAX
711E5B1D       83EA 04                  SUB EDX, 4
711E5B20       8910                     MOV DWORD PTR [EAX], EDX

修改如下:
711E5AED       8B5D E8                  MOV EBX, DWORD PTR [EBP-18]
711E5AF0       83C3 06                  ADD EBX, 6
711E5AF3       8B45 E0                  MOV EAX, DWORD PTR [EBP-20]                                          
711E5AF6       03C0                     ADD EAX, EAX
711E5AF8       03D8                     ADD EBX, EAX
711E5AFA       8B45 E8                  MOV EAX, DWORD PTR [EBP-18]
711E5AFD       8B00                     MOV EAX, DWORD PTR [EAX]
711E5AFF       0FB70B                   MOVZX ECX, WORD PTR [EBX]
711E5B02       81E9 00300000            SUB ECX, 3000
711E5B08       03C1                     ADD EAX, ECX
711E5B0A       0345 DC                  ADD EAX, DWORD PTR [EBP-24]
711E5B0D       83E8 02                  SUB EAX, 2
711E5B10       66:C700 FF25             MOV WORD PTR [EAX], 25FF
711E5B15       8B55 FC                  MOV EDX, DWORD PTR [EBP-4]
711E5B18       8950 02                  MOV DWORD PTR [EAX+2], EDX
711E5B1B       90                       NOP
711E5B1C       90                       NOP
711E5B1D       90                       NOP
711E5B1E       90                       NOP
711E5B1F       90                       NOP
711E5B20       90                       NOP
711E5B21       90                       NOP

十六进制代码为:
8B 5D E8 83 C3 06 8B 45 E0 03 C0 03 D8 8B 45 E8 8B 00 0F B7 0B 81 E9 00 30 00 00 03 C1 03 45 DC
83 E8 02 66 C7 00 FF 25 8B 55 FC 89 50 02 90 90 90 90 90 90 90

711E5B2C处的代码(修改程序中的函数调用JMP类和CALL):
711E5B2C       66:C700 FF25             MOV WORD PTR [EAX], 25FF
711E5B31       8B55 FC                  MOV EDX, DWORD PTR [EBP-4]
711E5B34       8950 02                  MOV DWORD PTR [EAX+2], EDX
711E5B37       8BD0                     MOV EDX, EAX
711E5B39       8B5D E8                  MOV EBX, DWORD PTR [EBP-18]
711E5B3C       83C3 06                  ADD EBX, 6
711E5B3F       8B45 E0                  MOV EAX, DWORD PTR [EBP-20]                                            ; V2200591.711DC6DC
711E5B42       03C0                     ADD EAX, EAX
711E5B44       03D8                     ADD EBX, EAX
711E5B46       8B45 E8                  MOV EAX, DWORD PTR [EBP-18]
711E5B49       8B00                     MOV EAX, DWORD PTR [EAX]
711E5B4B       0FB70B                   MOVZX ECX, WORD PTR [EBX]
711E5B4E       81E9 00300000            SUB ECX, 3000
711E5B54       03C1                     ADD EAX, ECX
711E5B56       0345 DC                  ADD EAX, DWORD PTR [EBP-24]
711E5B59       2BD0                     SUB EDX, EAX
711E5B5B       83EA 04                  SUB EDX, 4
711E5B5E       8910                     MOV DWORD PTR [EAX], EDX

修改为:
711E5B2C       90                       NOP
711E5B2D       90                       NOP
711E5B2E       90                       NOP
711E5B2F       90                       NOP
711E5B30       90                       NOP
711E5B31       90                       NOP
711E5B32       90                       NOP
711E5B33       90                       NOP
711E5B34       90                       NOP
711E5B35       90                       NOP
711E5B36       90                       NOP
711E5B37       90                       NOP
711E5B38       90                       NOP
711E5B39       8B5D E8                  MOV EBX, DWORD PTR [EBP-18]
711E5B3C       83C3 06                  ADD EBX, 6
711E5B3F       8B45 E0                  MOV EAX, DWORD PTR [EBP-20]                                            ; V2200591.711DC6DC
711E5B42       03C0                     ADD EAX, EAX
711E5B44       03D8                     ADD EBX, EAX
711E5B46       8B45 E8                  MOV EAX, DWORD PTR [EBP-18]
711E5B49       8B00                     MOV EAX, DWORD PTR [EAX]
711E5B4B       0FB70B                   MOVZX ECX, WORD PTR [EBX]
711E5B4E       81E9 00300000            SUB ECX, 3000
711E5B54       03C1                     ADD EAX, ECX
711E5B56       0345 DC                  ADD EAX, DWORD PTR [EBP-24]
711E5B59     - E9 B0C4288F              JMP EPEunpac.0047200E              ;代码空间不足,所以我找到程序入口点下面的地址0047200E来写入代码
711E5B5E       90                       NOP
711E5B5F       90                       NOP

十六进制代码为:
90 90 90 90 90 90 90 90 90 90 90 90 90 8B 5D E8 83 C3 06 8B 45 E0 03 C0 03 D8 8B 45 E8 8B 00 0F
B7 0B 81 E9 00 30 00 00 03 C1 03 45 DC E9 B0 C4 28 8F 90 90

0047200E处写入补丁代码:
0047200E       8078 FF E8               CMP BYTE PTR [EAX-1], 0E8
00472012       75 10                    JNZ SHORT EPEunpac.00472024
00472014       83E8 02                  SUB EAX, 2
00472017       66:C700 FF15             MOV WORD PTR [EAX], 15FF
0047201C       8B55 FC                  MOV EDX, DWORD PTR [EBP-4]
0047201F       8950 02                  MOV DWORD PTR [EAX+2], EDX
00472022       EB 0E                    JMP SHORT EPEunpac.00472032
00472024       83E8 02                  SUB EAX, 2
00472027       66:C700 FF25             MOV WORD PTR [EAX], 25FF
0047202C       8B55 FC                  MOV EDX, DWORD PTR [EBP-4]
0047202F       8950 02                  MOV DWORD PTR [EAX+2], EDX
00472032     - E9 273BD770              JMP V2200591.711E5B5E          ;跳回到711E5B5E执行。

十六进制代码:
80 78 FF E8 75 10 83 E8 02 66 C7 00 FF 15 8B 55 FC 89 50 02 EB 0E 83 E8 02 66 C7 00 FF 25 8B 55
FC 89 50 02 E9 27 3B D7 70

OK修改完毕,Shift+F9忽略异常,在最后一次异常是程序修改EIP到OEP,这里我算了一下,我这里是十六次异常。

0012FF98   0012FFE0  Pointer to next SEH record
0012FF9C   711DADBD  SE handler

711DADBD       53                       PUSH EBX                                                        
711DADBE       52                       PUSH EDX                                                        
711DADBF       8B5C24 14                MOV EBX, DWORD PTR [ESP+14]
711DADC3       8B93 C4000000            MOV EDX, DWORD PTR [EBX+C4]
711DADC9       8B83 C0000000            MOV EAX, DWORD PTR [EBX+C0]
711DADCF       A3 F4162071              MOV DWORD PTR [712016F4], EAX
711DADD4       E8 DF060000              CALL V2200591.711DB4B8
711DADD9       9C                       PUSHFD
711DADDA       58                       POP EAX                                                               
711DADDB       A3 F4162071              MOV DWORD PTR [712016F4], EAX
711DADE0       E8 D3060000              CALL V2200591.711DB4B8
711DADE5       8B83 B8000000            MOV EAX, DWORD PTR [EBX+B8]
711DADEB       40                       INC EAX
711DADEC       8983 B8000000            MOV DWORD PTR [EBX+B8], EAX
711DADF2       8B4424 0C                MOV EAX, DWORD PTR [ESP+C]
711DADF6       8B00                     MOV EAX, DWORD PTR [EAX]
711DADF8       3D 03000080              CMP EAX, 80000003
711DADFD       75 71                    JNZ SHORT V2200591.711DAE70
711DADFF       803D 21172071 01         CMP BYTE PTR [71201721], 1
711DAE06       74 4F                    JE SHORT V2200591.711DAE57
711DAE08       8B42 0C                  MOV EAX, DWORD PTR [EDX+C]
711DAE0B       8983 9C000000            MOV DWORD PTR [EBX+9C], EAX
711DAE11       8B42 10                  MOV EAX, DWORD PTR [EDX+10]
711DAE14       8983 A0000000            MOV DWORD PTR [EBX+A0], EAX
711DAE1A       8B42 14                  MOV EAX, DWORD PTR [EDX+14]
711DAE1D       8983 B4000000            MOV DWORD PTR [EBX+B4], EAX
711DAE23       8B42 1C                  MOV EAX, DWORD PTR [EDX+1C]
711DAE26       8983 A4000000            MOV DWORD PTR [EBX+A4], EAX
711DAE2C       8B42 20                  MOV EAX, DWORD PTR [EDX+20]
711DAE2F       8983 A8000000            MOV DWORD PTR [EBX+A8], EAX
711DAE35       8B42 24                  MOV EAX, DWORD PTR [EDX+24]
711DAE38       8983 AC000000            MOV DWORD PTR [EBX+AC], EAX
711DAE3E       8B42 28                  MOV EAX, DWORD PTR [EDX+28]
711DAE41       8983 B0000000            MOV DWORD PTR [EBX+B0], EAX                   ;最后一次异常时EAX的就是OEP了。
711DAE47       8B02                     MOV EAX, DWORD PTR [EDX]
711DAE49       8942 24                  MOV DWORD PTR [EDX+24], EAX
711DAE4C       89D0                     MOV EAX, EDX                                                         
711DAE4E       83C0 24                  ADD EAX, 24
711DAE51       8983 C4000000            MOV DWORD PTR [EBX+C4], EAX
711DAE57       31C0                     XOR EAX, EAX
711DAE59       8943 04                  MOV DWORD PTR [EBX+4], EAX
711DAE5C       8943 08                  MOV DWORD PTR [EBX+8], EAX
711DAE5F       8943 0C                  MOV DWORD PTR [EBX+C], EAX
711DAE62       8943 10                  MOV DWORD PTR [EBX+10], EAX
711DAE65       C743 18 55010000         MOV DWORD PTR [EBX+18], 155
711DAE6C       5A                       POP EDX                                                               
711DAE6D       5B                       POP EBX                                                            
711DAE6E       C3                       RETN

找到OEP后,在OEP下断点,F9中断在OEP处,Dump,用IMPREC修复输入表,搞定,忙着,好像不能跨平台,kao~最近怎么脱壳都有问题,不知道是我的RPWT还是我的机子的JPWT还是我的XP的XPWT,哎,算了,还是回家吧。

注:ImpRec可能看不到EPE的进程,因为EPE修改了ZwOpenProcess处的代码,临时的办法就是所以用OD载入ImpRec,把ZwOpenProcess入口处被修改的代码改回去,这样在ImpRec就可以看到进程了。

PS:其实跟以前得s版差不多。。

[课程]Android-CTF解题方法汇总!

收藏
免费 7
支持
分享
最新回复 (33)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
脱的精彩

Loveboom的epe910的脱壳机
哪里有?
2005-11-14 19:17
0
雪    币: 560
活跃值: (354)
能力值: ( LV13,RANK:1370 )
在线值:
发帖
回帖
粉丝
3
帅呆了,XP XP2下好象运行不起来.
2005-11-14 19:32
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 Immlep 发布
;by Immlep
;www.ptteam.com
;target:EPEunpackme 910.exe
;http://www.ptteam.com/EPEunpackme.rar

........


老王的KEY与硬件ID是捆绑的吧?你能用自己机器上?我们谈何找你要注册版?呵呵
2005-11-14 19:38
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
2005-11-14 19:51
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最初由 pendan2001 发布


兄弟现在改用这句话灌拉!
2005-11-15 18:57
0
雪    币: 163
活跃值: (60)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
7
up...留名
2005-11-16 09:18
0
雪    币: 154
活跃值: (216)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
如此强贴,怎能不留名
2005-11-16 09:27
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Loveboom的epe910的脱壳机
哪里有?
可否共享?可以脱3.14加的壳吗?
2005-11-16 12:52
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
好贴呀,先顶着,回家慢慢试一下
2005-11-16 13:01
0
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
11
看来快成老狼了。顶
2005-11-17 03:19
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
顶................C
2005-11-17 15:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
强贴.新手学习中..
2005-11-17 19:02
0
雪    币: 202
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
如此强帖,我潜水多年也要冒头出来看看!!!
2005-11-18 17:34
0
雪    币: 272
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
潜水王子:留名
2005-11-19 09:27
0
雪    币: 227
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
先顶先。存下来回家慢满看。HOHO。
2005-11-21 12:51
0
雪    币: 218
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
正是需要的!!
2005-11-22 14:03
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
UP      ..............
2005-11-23 09:19
0
雪    币: 207
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
19
没高人脱一下做个脱文吗,这个太笼统了,对我们菜鸟非常不适合

还是顶一下写的非常好,请其他的朋友脱下写个详细点的脱文感谢
2005-11-23 12:35
0
雪    币: 218
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
看了这个帖子当然很高兴拉 !!可是在搞一个入口为00672000的程序时候 老说我访问违规,郁闷惨了!!不知道什么原因啊!
2005-11-23 20:52
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
21
haha 老狼 强贴留名字来了
2005-11-24 18:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
强。搞不定,侦送我个脱壳机啊
2005-11-25 18:42
0
雪    币: 538
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
至少给了点思路..蛮好滴
2005-12-4 21:44
0
雪    币: 239
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
搞掉大家都搞不定的老王的壳?牛呀。
2005-12-4 22:07
0
雪    币: 12626
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
哪里有脱壳机,脱不了啊
2005-12-19 13:33
0
游客
登录 | 注册 方可回帖
返回
//