首页
社区
课程
招聘
[旧帖] [讨论]手脱Alcohol 120%的UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo的 0.00雪花
发表于: 2008-8-12 07:42 3806

[旧帖] [讨论]手脱Alcohol 120%的UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo的 0.00雪花

2008-8-12 07:42
3806
手脱Alcohol 120%的UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo的壳(用peid查壳)

009E8290 >  60              pushad //程序入口点
009E8291    BE 00808900     mov esi,Alcohol.00898000 //F8 单步 在这里用ESP定律下硬件访问断点
009E8296    8DBE 0090B6FF   lea edi,dword ptr ds:[esi+FFB69000]
009E829C    57              push edi
009E829D    83CD FF         or ebp,FFFFFFFF
009E82A0    EB 10           jmp short Alcohol.009E82B2
009E82A2    90              nop
009E82A3    90              nop
009E82A4    90              nop
009E82A5    90              nop
009E82A6    90              nop
009E82A7    90              nop
009E82A8    8A06            mov al,byte ptr ds:[esi]
009E82AA    46              inc esi
009E82AB    8807            mov byte ptr ds:[edi],al
009E82AD    47              inc edi
009E82AE    01DB            add ebx,ebx
009E82B0    75 07           jnz short Alcohol.009E82B9
009E82B2    8B1E            mov ebx,dword ptr ds:[esi]
009E82B4    83EE FC         sub esi,-4
009E82B7    11DB            adc ebx,ebx
009E82B9  ^ 72 ED           jb short Alcohol.009E82A8
009E82BB    B8 01000000     mov eax,1
009E82C0    01DB            add ebx,ebx

F9运行

009E83E4    FF96 28105F00   call dword ptr ds:[esi+5F1028]
009E83EA    09C0            or eax,eax
009E83EC    74 07           je short Alcohol.009E83F5
009E83EE    8903            mov dword ptr ds:[ebx],eax
009E83F0    83C3 04         add ebx,4
009E83F3  ^ EB D8           jmp short Alcohol.009E83CD
009E83F5    FF96 2C105F00   call dword ptr ds:[esi+5F102C]
009E83FB    61              popad
009E83FC  - E9 EB92A1FF     jmp Alcohol.004016EC//程序断在这 象是快到oep了
009E8401    0000            add byte ptr ds:[eax],al
009E8403    001C84          add byte ptr ss:[esp+eax*4],bl
009E8406    9E              sahf
009E8407    00D8            add al,bl
009E8409    849E 00406881   test byte ptr ds:[esi+81684000],bl
009E840F    0000            add byte ptr ds:[eax],al
009E8411    0000            add byte ptr ds:[eax],al
009E8413    0000            add byte ptr ds:[eax],al
009E8415    0000            add byte ptr ds:[eax],al
009E8417    0000            add byte ptr ds:[eax],al
009E8419    0000            add byte ptr ds:[eax],al
009E841B    0000            add byte ptr ds:[eax],al
009E841D    0000            add byte ptr ds:[eax],al
009E841F    0000            add byte ptr ds:[eax],al

004016EC > /EB 10           jmp short 1.004016FE      /oep处
004016EE   |66:623A         bound di,dword ptr ds:[edx]
004016F1   |43              inc ebx
004016F2   |2B2B            sub ebp,dword ptr ds:[ebx]
004016F4   |48              dec eax
004016F5   |4F              dec edi
004016F6   |4F              dec edi
004016F7   |4B              dec ebx
004016F8   |90              nop
004016F9  -|E9 98906700     jmp 00A7A796
我用的是od插件脱壳,用loadPe和Import Fix 1.6脱运行不了。
Borland C++ 1999(用peid查壳)

我不知道是不是真正的脱壳了请高手指点一下。谢谢

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
脱upx用peid插件可以
如果要手脱 可以不用esp定律  一路F8,F4交替向下  见popad后就会跳到oep了
直接用OD 的JUMP   不用修复
2008-8-12 08:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
应该都可以吧。。。
2008-8-12 13:17
0
雪    币: 421
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
Ctrl+F查找popad
然后F2下断
F9运行,应该就到了
UPX相对来说只是压缩壳还是比较简单的
很多方法都行
2008-8-12 14:41
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
oep似乎有问题。。
2008-8-12 15:05
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
009E83F5    FF96 2C105F00   call dword ptr ds:[esi+5F102C]
009E83FB    61              popad
009E83FC  - E9 EB92A1FF     jmp Alcohol.004016EC//程序断在这 象是快到oep了

跳过去就是了
2008-8-12 15:23
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
论坛里有位大侠以前写过,如果脱UPX脱的经验..找到与PUSHAD对应的POPAD.,在后面会跟一个JMP...当跳下去后,一般就是OEP了....一般连修复也不用..直接DUMP出来就OK了...
2008-8-12 16:06
0
游客
登录 | 注册 方可回帖
返回
//