[URL=http://218.242.131.10/sixfor/files/crack.exe]点击下载文件[URL]
这个文件的壳是Armadillo 3.78 -> Silicon Realms Toolworks
双进程的
我参照
http://bbs.pediy.com/showthread.php?threadid=14954&highlight=Armadillo+3.78
的文章手动脱壳时遇到问题,望指点一二
我的脱壳步骤是这样的%……
参照上面的文章做到
忽略所有异常,在添加以下几个:
C0000005(ACCESS VIOLATION)
C000001D(ILLEGAL INSTRUCTION)
C000001E(INVALID LOCK SEQUENCE)
C0000096(PRIVILEGED INSTRUCTION)
用OD载入,先下OpenMutexA断点shift+F9运行
047CE000 T> 60 pushad
047CE001 E8 00000000 call TJMan.047CE006
047CE006 5D pop ebp
047CE007 50 push eax
047CE008 51 push ecx
047CE009 0FCA bswap edx
047CE00B F7D2 not edx
047CE00D 9C pushfd
047CE00E F7D2 not edx
047CE010 0FCA bswap edx
047CE012 EB 0F jmp short TJMan.047CE023
看到堆栈
0012D784 047A5398 /CALL 到 OpenMutexA 来自 TJMan.047A5392
0012D788 001F0001 |Access = 1F0001
0012D78C 00000000 |Inheritable = FALSE
0012D790 0012DDC4 \MutexName = "E24:A920F9B22"
7C80EC1B k> 8BFF mov edi,edi断在这里
7C80EC1D 55 push ebp
7C80EC1E 8BEC mov ebp,esp
7C80EC20 51 push ecx
7C80EC21 51 push ecx
7C80EC22 837D 10 00 cmp dword ptr ss:[ebp+10],0
7C80EC26 56 push esi
7C80EC27 0F84 7A500300 je kernel32.7C843CA7
Ctrl+G 401000 键入以下代码
00401000 60 pushad
00401001 9C pushfd
00401002 68 B4FB1200 push 0012DDC4★ 堆栈里看到的值
00401007 33C0 xor eax,eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 B4B2A577 call kernel32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012 E9 33F7A577 jmp kernel32.OpenMutexA
****上面部分我用的二进制代码是
60 9C 68 B8 DD 12 00 33 C0 50 50 E8 2F DB 80 6C 9D 61 E9 04 DC 80 6C 90
在401000处新建起源,右键-》此处新建EIP
F9运行,再次中断在OpenMutexA处,取消断点。
这里。但是往下的就走不了啦!
没能走到
00127814 /00127AB4
00127818 |04E847CB 返回到 04E847CB 来自 kernel32.GetModuleHandleA
0012781C |00127968 ASCII "kernel32.dll"//看到这里就是返回时机了
这个步骤,我没有看到这样的堆栈信息。
这是怎么回事儿?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课