Armadillo简单壳载入问题,OD提示代码超范围(已决!!!)
ximo的<<吾爱破解穿山甲脱壳系列>>文章中那个记事本,按步骤却脱不了,加壳是一样的.没藏住OD???原文:http://www.52pojie.cn/read.php?tid-6110.html
第一步:
设OD选项--》调试选项===》异常--》忽略所有(全勾上,包括单步)
设OD隐藏--》插件--》Invisible或者插件--》HideOD-->hide
第二步:载入notepad
提示:模块‘Notepad’入口点超出代码范围(在PE文件头中指定)。可能这是一个自解压或自修改文件。请在设置断点时记住这一点!
不明白怎么为,不管它先。也许这就是问题所在!
00544000 > 60 PUSHAD《---停在这儿了,和楼主的情况一样。
00544001 E8 00000000CALL Notepad.00544006
00544006 5D POP EBP
00544007 50 PUSH EAX
00544008 51 PUSH ECX
00544009 0FCA BSWAP EDX
0054400B F7D2 NOT EDX
0054400D 9C PUSHFD
0054400E F7D2 NOT EDX
00544010 0FCA BSWAP EDX
第三步:下断点:he GetModuleHandleA+9 我是用Ctrl+G 输入GetModuleHandleA+9
(第一次停下,得接着SHIFT+F9):
7C824753 74 18JE SHORT kernel32.7C82476D《---停在这儿了
7C824755 FF75 08PUSH DWORD PTR SS:
7C824758 E8 C2040000CALL kernel32.7C824C1F
7C82475D 85C0 TEST EAX,EAX
7C82475F 74 08JE SHORT kernel32.7C824769
7C824761 FF70 04PUSH DWORD PTR DS:
7C824764 E8 CD090000CALL kernel32.GetModuleHandleW
7C824769 5D POP EBP
7C82476A C2 0400RETN 4
7C82476D 64:A1 18000000 MOV EAX,DWORD PTR FS:
7C824773 8B40 30MOV EAX,DWORD PTR DS:
7C824776 8B40 08MOV EAX,DWORD PTR DS:
7C824779^EB EEJMP SHORT kernel32.7C824769
7C82477B 90 NOP
7C82477C 90 NOP
堆栈窗口:
0012FF9C 00000000
0012FFA0 00544000OFFSET Notepad.<模块入口点>
0012FFA4 8082E027
0012FFA8 00000000
0012FFAC 00000000
0012FFB0 7C957A5Bntdll.7C957A5B
0012FFB4 7C82F238kernel32.7C82F238
0012FFB8 FFFFFFFE
0012FFBC 00000009
0012FFC0 0012FFF8
0012FFC4 7C82F23B返回到 kernel32.7C82F23B 《-----显然不是返回时机,
// 没出现我们的最爱ASCII "VirtualAlloc "ASCII "VirtualFree" 接着SHIFT+F9吧
0012FFC8 00000000
0012FFCC 00000000
0012FFD0 7FFD6000
0012FFD4 00000000
0012FFD8 0012FFC8
0012FFDC B534ECE4
0012FFE0 FFFFFFFFSEH 链尾部
SHIFT+F9多次后,一直没我们的最爱出现,发现寄存器窗口中寄存器EAX ECX。。。。都在不断变值飞一样,我想飞了已经。。。
接着提示:链太长还继续吗?继续!程序结束了。
是什么原因导致的呢?
再次载入程序,不设任何断点,也不跟随任何表达式。F9!并不会运行出我所想要的程序界面来,无论怎么按F9!看来,还是没藏好。
高手们怎么藏的呢???用了什么不同的OD版本??请教!!!!
对了,本人试了多个Armadillo壳,似乎都有如此现象,下面是其中一个的图示:
解决方法:换个OD的版本再试,没问题了.估计是各版本藏自己的方法不同. 应该是OD没有隐藏好吧,用上PhantOm插件应该会好点~ 估计我也同样问题
页:
[1]