【求助】疑惑!手脱Armadillo 1.xx - 2.xx 遇到的问题
一、欺骗代码下断:BP OpenMutexA,F9运行
7C80EAAB >8BFF mov edi,edi
7C80EAAD 55 push ebp
7C80EAAE 8BEC mov ebp,esp
7C80EAB0 51 push ecx
7C80EAB1 51 push ecx
7C80EAB2 837D 10 00 cmp dword ptr ss:,0
7C80EAB6 56 push esi
堆栈友好提示:
0012F5B0 004FDDA6/CALL 到 OpenMutexA 来自 zs.004FDDA0
0012F5B4 001F0001|Access = 1F0001
0012F5B8 00000000|Inheritable = FALSE
0012F5BC 0012FBF0\MutexName = "8DC::DAC9D28748" ★注意这个 12FBF0★
CTRL+G来到 401000,写入如下代码:
00401000 60 pushad
00401001 9C pushfd
00401002 68 F0FB1200 push 12FBF0 ; ASCII "620::DAC9D28748"
00401007 33C0 xor eax,eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 BFD9407C call kernel32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012- E9 94DA407C jmp kernel32.OpenMutexA
00401017 90 nop
在401000 处新建eip。F9运行,再次中断在 OpenMutexA 处,取消该断点,然后返回401000处,撤消刚才键
入的所有代码。
二、避开IAT加密
下断:He GetModuleHandleA,F9运行 注意堆栈变化:
0012C280 00BD5331/CALL 到 GetModuleHandleA 来自 00BD532B
0012C284 0012C3BC\pModule = "kernel32.dll"
0012C280 00BD5331/CALL 到 GetModuleHandleA 来自 00BD532B
0012C284 0012C3BC\pModule = "user32.dll"
0012C280 00BD5331/CALL 到 GetModuleHandleA 来自 00BD532B
0012C284 0012C3BC\pModule = "MSVBVM60.DLL"
0012BB44 73391BD1/CALL 到 GetModuleHandleA 来自 73391BCB
0012BB48 7339F7E0\pModule = "kernel32.dll"
0012BB4C 73391B70返回到 73391B70 来自 73391B9C
0012BB38 7339282A/CALL 到 GetModuleHandleA 来自 73392824
0012BB3C 7339F80C\pModule = "KERNEL32"
0012BB2C 733931DC/CALL 到 GetModuleHandleA 来自 733931D6
0012BB30 00000000\pModule = NULL
0012C280 00BD5331/CALL 到 GetModuleHandleA 来自 00BD532B
0012C284 0012C3BC\pModule = "advapi32.dll"
00128844 01345331/CALL 到 GetModuleHandleA 来自 0134532B
00128848 00128980\pModule = "kernel32.dll"返回的好时期 alt+f9
0134532B FF15 A4503601 call dword ptr ds: ; kernel32.GetModuleHandleA
01345331 8B0D 60D83601 mov ecx,dword ptr ds: ;★返回到这里!★
01345337 89040E mov dword ptr ds:,eax
0134533A A1 60D83601 mov eax,dword ptr ds:
0134533F 393C06 cmp dword ptr ds:,edi
01345342 75 16 jnz short 0134535A
01345344 8D85 B4FEFFFF lea eax,dword ptr ss:
0134534A 50 push eax
0134534B FF15 B8503601 call dword ptr ds: ; kernel32.LoadLibraryA
01345351 8B0D 60D83601 mov ecx,dword ptr ds:
01345357 89040E mov dword ptr ds:,eax
0134535A A1 60D83601 mov eax,dword ptr ds:
0134535F 393C06 cmp dword ptr ds:,edi
01345362 0F84 AD000000 je 01345415 ; Magic Jump
01345368 33C9 xor ecx,ecx
0134536A 8B03 mov eax,dword ptr ds:
0134536C 3938 cmp dword ptr ds:,edi
0134536E 74 06 je short 01345376
01345370 41 inc ecx
01345371 83C0 0C add eax,0C
01345374^ EB F6 jmp short 0134536C
将 01345362 0F84 AD000000 je 01345415改为:
01345362 0F84 AD000000 jmp 01345415
然后取消GetModuleHandleA断点
三、内存断点**直抵OEP
Alt+M 查看内存,在401000段 下“内存访问断点”,F9运行:
zs.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。
前面的都对!到这一步就出错啦!我那里不对? 看看哪些保护方式 用armafp检查为
======== 01-07-2008 19:41:25 ========
D:\网络下\外挂制作学习\QQ华夏\zs\zs\zs.exe
★ 目标是Armadillo保护
保护系统级别为【标准版】
◆所用到的保护模式有◆
标准保护 或 最小保护模式
【密钥备份设置】
无任何注册表操作
【程序压缩方式设置】
最好/最慢的压缩方式
【其它保护设置】
禁止线程监视
★ Version 3.05 06Jun2003 OEP
BP CreateThread 谢谢了!嘿嘿!/:014 回“寂寞的季节”
BP CreateThread下断后,F9运行,程序就运行啦!说明已经跳过了OEP了!/:L 是你在修改完MAJ跳之后下 BP CreateThread在返回 F8向下 已经完美的解决问题!谢谢大家!/:014
页:
[1]