windycandy 发表于 2005-10-31 12:20:19

Armadillo v4.3(public)CopyMem-ll+Debug-Block加壳之VB--Crackme脱壳迷惑求解

【破解作者】 windycandy
【使用工具】 PEiD、ODbyDYK v1.10、ImportREC1.6 Final
【破解平台】 XP
【软件名称】 vb编写的crackme
【软件大小】 548k(附件太大,请到DFCG中级区下载)
【加壳方式】 Armadillo4.3(public)CopyMem-ll+Debug-Block
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


1.前言

为了学习手动脱Armadillo壳,自己用Armadillo v4.3(public)CopyMem-ll+Debug-Block 给5种语言编写的Crackme
进行练习,在脱壳过程中除了VB编写的Crackme和XP下的notepad不能按照教程脱壳外,其他的都可以。心存迷惑,故
将自己的脱壳过程写下来,劳烦各位前辈和大侠帮忙看看是什么原因,并给予指点迷津,以解心中困惑.

2.脱壳

OD载入程序,老规矩插件隐藏OD,忽略所有异常,再添加以下几个异常C0000005(ACCESS VIOLATION)、C000
001D(ILLEGAL INSTRUCTION)、C000001E(INVALID LOCK SEQUENCE)、C0000096(PRIVILEGED INSTRUCTION)

入口代码:

00454000 v>60            pushad
00454001   E8 00000000   call vb.00454006
00454006   5D            pop ebp
00454007   50            push eax
00454008   51            push ecx
00454009   0FCA            bswap edx
0045400B   F7D2            not edx
0045400D   9C            pushfd

记录下入口的代码:60 E8

下bp WaitForDebugEvent(如果出现被调试程序无法处理异常,改下He WaitForDebugEvent)

shift+F9运行,中断

77E8F13C k>55            push ebp--------中断在这里,取消断点
77E8F13D   8BEC            mov ebp,esp
77E8F13F   83EC 68         sub esp,68
77E8F142   56            push esi
77E8F143   FF75 0C         push dword ptr ss:
77E8F146   8D45 F8         lea eax,dword ptr ss:
77E8F149   50            push eax
77E8F14A   E8 5BB1FCFF   call kernel32.77E5A2AA


堆栈

0012DB68   0043100D    /CALL 到 WaitForDebugEvent 来自 vb.00431007
0012DB6C   0012ECF4    |pDebugEvent = 0012ECF4★单击右键,数据窗口中跟随
0012DB70   000003E8    \Timeout = 1000. ms

下bp WriteProcessMemory(或He WriteProcessMemory),shift+F9运行,中断

77E41A94 k>55            push ebp
77E41A95   8BEC            mov ebp,esp
77E41A97   51            push ecx
77E41A98   51            push ecx
77E41A99   8B45 0C         mov eax,dword ptr ss:
77E41A9C   53            push ebx

数据窗口

0012ECF401 00 00 00 1C 07 00 00.....
0012ECFC24 07 00 00 01 00 00 80$....
页: [1]
查看完整版本: Armadillo v4.3(public)CopyMem-ll+Debug-Block加壳之VB--Crackme脱壳迷惑求解