手动脱壳“ASProtect 1.2x - 1.3x”(1/2)

本文详细记录了手动脱壳ASProtect 1.2x-1.3x的过程,通过使用Ollydbg进行动态分析,遇到并处理了多个异常,包括内存访问和INT3异常。文章介绍了每一步的操作和注意点,旨在为后续的脱壳工作提供参考。
摘要由CSDN通过智能技术生成

 


文件名称:手动脱壳“ASProtect 1.2x - 1.3x”
目标程序:病毒样本
操作环境:Windows XP-SP2
使用工具:Ollydbg 1.10版
编写作者:Coderui
编写时间:2009年01月05日
联系方式:coderui@163.com
作者博客:http://hi.baidu.com/coderui
---------------------------------------------------------------------------------------------
介绍:

    “ASProtect”加密壳是一款商业壳,由于版本和其中的设置众多,所以加壳后的样本总是五花八门,都不好脱。最近准备利用工作之余把“ASProtect”加密壳的所有版本都试着脱一下(从低版本开始),顺便记点笔记以备后期查阅时使用!下文如有表达错误的地方还请多多指正,谢谢!
---------------------------------------------------------------------------------------------
OD设置:(OD设置为不忽略任何异常。[F2]:下软断点、[F4]:执行到当前代码处、[F7]:单步步入、[F8]单步步过、[F9]运行。)
请按照注解顺序观看(00)-(01)-(02)…(99),不然很容易混乱。

; (00) 病毒样本载入后,OD提示错误“不知如何继续,因为内存地址 E072C4B2 不可读. 请尝试更改 EIP 或忽略程序异常.”
; (01) 我们使用[Shift+F9]忽略异常。

10034000 > 68 01500610     PUSH virus.10065001                      ; (02) OD停在这里,我们[F9]运行。
10034005    E8 01000000     CALL virus.1003400B
1003400A    C3              RETN
1003400B    C3              RETN
            .
            .
            .
00D3FF66    0000            ADD BYTE PTR DS:[EAX],AL                 ; (03) OD停在这里,提示“内存访问”异常。我们使用[Shift+F9]忽略异常,并继续运行。
00D3FF68    E8 33C05A59     CALL 5A2EBFA0
00D3FF6D    59              POP ECX
00D3FF6E    64:8910         MOV DWORD PTR FS:[EAX],EDX
00D3FF71    EB 0F           JMP SHORT 00D3FF82
00D3FF73 ^ E9 F02EFCFF     JMP 00D02E68
00D3FF78    E8 67FBFFFF     CALL 00D3FAE4
00D3FF7D    E8 4232FCFF     CALL 00D031C4
00D3FF82    E8 05E9FFFF     CALL 00D3E88C
00D3FF87    33C0            XOR EAX,EAX
00D3FF89    5A              POP EDX
00D3FF8A    59              POP ECX
00D3FF8B    59              POP ECX
00D3FF8C    64:8910         MOV DWORD PTR FS:[EAX],EDX
00D3FF8F    68 A4FFD300     PUSH 0D3FFA4
00D3FF94    8D45 F4         LEA EAX,DWORD PTR SS:[EBP-C]
00D3FF97    E8 5C37FCFF     CALL 00D036F8
00D3FF9C    C3              RETN
            .
            .
            .
00D3E2BB    90              NOP                                      ; (04) OD停在这里,提示“INT3”异常。我们使用[Shift+F9]忽略异常,并继续运行。
00D3E2BC    EB 01           JMP SHORT 00D3E2BF
00D3E2BE    6966 81 FE47467>IMUL ESP,DWORD PTR DS:[ESI-7F],744647FE
00D3E2C5    05 31C040EB     ADD EAX,EB40C031
00D3E2CA    0231            ADD DH,BYTE PTR DS:[ECX]
00D3E2CC    C031 DB         SAL BYTE PTR DS:[ECX],0DB                ; 移位常量超出 1..31 的范围
00D3E2CF    64:8F03         POP DWORD PTR FS:[EBX]
00D3E2D2    83C4 04         ADD ESP,4
00D3E2D5    EB 01           JMP SHORT 00D3E2D8
            .
            .
            .
00D3F004    0000            ADD BYTE PTR DS:[EAX],AL                 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值