近在咫尺 发表于 2020-3-3 19:52

这个是什么壳?有办法脱吗?

有人知道这个壳是什么壳吗?把我OD都检测了,断点都下不了。希望大佬给个方向

jmtjkk 发表于 2020-3-3 19:52

本帖最后由 jmtjkk 于 2020-3-3 22:44 编辑


1.载入PEID

    PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode

2.载入OD,没什么头绪,忽略所有异常,用最后一次异常法shift+F9运行两次,因为第三次会跑飞,所以运行两次,另外这个壳使用单步太费劲了,一不小心就跑飞了,所以直接使用的最后一次异常法进行脱壳的


00401000 >FC            cld                               ; //入口点
00401001    FC            cld
00401002    FC            cld
00401003    90            nop
00401004- E9 BDBA0000   jmp PEncrypt.0040CAC6
00401009- E3 D5         jecxz short PEncrypt.00400FE0
0040100B    04 4F         add al,0x4F
0040100D- 74 A4         je short PEncrypt.00400FB3
0040100F    D248 74         ror byte ptr ds:,cl


3.最后一次异常法的落脚点,落脚后,右键---转到---表达式---输入SE句柄(也叫SE处理程序)"0040CCD7"---回车


0040CCD0    9D            popfd
0040CCD1    90            nop
0040CCD2    4B            dec ebx                           ; //最后一次异常法落脚点
0040CCD3    6F            outs dx,dword ptr es:
0040CCD4    6368 69         arpl word ptr ds:,bp
0040CCD7    8B4424 04       mov eax,dword ptr ss:   
0040CCDB    8B00            mov eax,dword ptr ds:
0040CCDD    3D 04000080   cmp eax,0x80000004


0012FF88   0040CCD7SE处理程序


4.回车后的位置,然后F2,SHIFT+F9,F2,也就是让程序运行到转到的位置上,然后继续F8,F8过程中,记得在向上跳转的下一行F4,也就是让程序运行到向上跳转的下一行,这是脱壳的基本原则,尽量不让程序往回跳

0040CCD3    6F            outs dx,dword ptr es:
0040CCD4    6368 69         arpl word ptr ds:,bp
0040CCD7    8B4424 04       mov eax,dword ptr ss:    ; //回车的位置
0040CCDB    8B00            mov eax,dword ptr ds:
0040CCDD    3D 04000080   cmp eax,0x80000004
0040CCE2    74 06         je short PEncrypt.0040CCEA
0040CCE4    4B            dec ebx


5.找到关键跳,指向OEP的关键跳


0040CD26    9D            popfd
0040CD27    61            popad
0040CD28    BD CC104000   mov ebp,PEncrypt.004010CC
0040CD2D- FFE5            jmp ebp                           ; //指向OEP的关键跳
0040CD2F    0000            add byte ptr ds:,al
0040CD31    0000            add byte ptr ds:,al
0040CD33    0000            add byte ptr ds:,al



6.来到OEP,进行脱壳,需要注意的是脱壳后无法正常运行,需要使用loadPE重建PE表才可以正常运行


004010CC    55            push ebp                        ; PEncrypt.004010CC
004010CD    8BEC            mov ebp,esp
004010CF    83EC 44         sub esp,0x44
004010D2    56            push esi
004010D3    FF15 E4634000   call dword ptr ds:[<&KERNEL32.Get>; kernel32.GetCommandLineA
004010D9    8BF0            mov esi,eax
004010DB    8A00            mov al,byte ptr ds:
004010DD    3C 22         cmp al,0x22
004010DF    75 1B         jnz short PEncrypt.004010FC


7.运行查壳

    运行OK,查壳:Microsoft Visual C++ v6.0 SPx

死鱼 发表于 2020-3-3 20:01

我觉的你最好吧软件发上来
{:5_185:}

gxcz123 发表于 2020-3-3 20:11

可能是VMP吧{:5_117:}

POP 发表于 2020-3-5 20:32

jmtjkk 发表于 2020-3-3 21:55
1.载入PEID

    PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode


喜欢细致的回答,教科书般的脱壳!

小哥哥啊 发表于 2020-3-8 23:00

学习到了,重建
页: [1]
查看完整版本: 这个是什么壳?有办法脱吗?