鬼狐 发表于 2016-7-21 15:31

ASP壳的手脱方法

本人菜鸟 大牛勿喷
ASPack壳是比较简单的东西,可以说跟UPX相似


都是对程序大小进行压缩


首先程序载入OD后提示压缩代码是否继续分析点击“否”然后停止在入口


004C4001 >60            PUSHAD
004C4002    E8 03000000   CALL    ASP2_12.004C400A
004C4007- E9 EB045D45   JMP   45A944F7
004C400C    55            PUSH    EBP

入口地址已经明摆着说是:ASP 2.12 的壳

然后使用ESP定律来脱它


按下F7查看右边寄存器窗口ESP的值,选中右键数据窗口中跟随然后进行下硬件断点


然后在按下F9运行程序,程序会在断点处停下就会看到

004C4416   /75 08         JNZ   SHORT ASP2_12.004C4420
004C4418   |B8 01000000   MOV   EAX, 0x1
004C441D   |C2 0C00         RETN    0xC
004C4420   \68 37C84500   PUSH    ASP2_12.0045C837
004C4425    C3            RETN


上面有JNZ跳转 意思是不等于0就跳转


还看到PUSH 意思是压入一个地址然后在RETN返回


因为是停在JNZ上箭头显示为红色(红色代表跳转已经实现) 我就直接三次F7跳到正确的入口地址


0045C837    55            PUSH    EBP
0045C838    8BEC            MOV   EBP, ESP
0045C83A    6A FF         PUSH    -0x1
0045C83C    68 405C4800   PUSH    ASP2_12.00485C40
0045C841    68 14F64500   PUSH    ASP2_12.0045F614
0045C846    64:A1 00000000MOV   EAX, DWORD PTR FS:
0045C84C    50            PUSH    EAX
0045C84D    64:8925 0000000>MOV   DWORD PTR FS:, ESP
0045C854    83EC 58         SUB   ESP, 0x58
0045C857    53            PUSH    EBX
0045C858    56            PUSH    ESI
0045C859    57            PUSH    EDI
0045C85A    8965 E8         MOV   DWORD PTR SS:, ESP
0045C85D    FF15 7CC14700   CALL    NEAR DWORD PTR DS:   ; kernel32.GetVersion

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

第一次发脱壳的帖子十分害怕,怕大牛喷。献丑的发了一贴

希望对朋友们一些帮助,希望多多支持。

KaQqi 发表于 2016-8-23 07:24

技术含量很低,可以说刚学3天的新手都会......给楼主两个建议吧。
1.复制代码请用代码框或者直接截图。新手要看寄存器的。
2.f7是单步步入,遇到call你就进去了。。。应该f8。
楼主看看我的新手教程吧

chycry5123 发表于 2016-7-21 15:32

感谢楼主

sxy2016 发表于 2016-7-21 15:47

感谢,新手前来学习

mfkzxd 发表于 2016-7-21 15:48

按F7还是F8?

sdhkkkk 发表于 2016-7-21 16:34

感谢,新手前来学习

Skyeddy 发表于 2016-7-21 16:39

学习了,感谢楼主分享经验……

鬼狐 发表于 2016-7-21 18:06

mfkzxd 发表于 2016-7-21 15:48
按F7还是F8?

是F7没有F8

恋战丶时崎狂三 发表于 2016-7-21 19:56

多谢楼主!学习了

herculesrance 发表于 2016-7-21 20:55

认真学习。

KaQqi 发表于 2016-7-22 08:41

thanks for your share。谢谢楼主。。看了总得回复
页: [1] 2
查看完整版本: ASP壳的手脱方法