关于脱壳中的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 00:00:40
在下面一段码中
0040E9CC 8B07 mov eax,dword ptr ds:[edi]
0040E9CE 09C0 or eax,eax
0040E9D0 74 3C je short NOTEPAD.0040EA0E
0040E9D2 8B5F 04 mov ebx,dword ptr ds:[edi+4]
0040E9D5 8D8430 14EC00>lea eax,dword ptr ds:[eax+esi+>
0040E9DC 01F3 add ebx,esi
0040E9DE 50 push eax
0040E9DF 83C7 08 add edi,8
0040E9E2 FF96 A0EC0000 call dword ptr ds:[esi+ECA0]
0040E9E8 95 xchg eax,ebp
0040E9E9 8A07 mov al,byte ptr ds:[edi]
0040E9EB 47 inc edi
0040E9EC 08C0 or al,al
0040E9EE ^ 74 DC je short NOTEPAD.0040E9CC
0040E9F0 89F9 mov ecx,edi
0040E9F2 57 push edi
0040E9F3 48 dec eax
0040E9F4 F2:AE repne scas byte ptr es:[edi]
0040E9F6 55 push ebp
0040E9F7 FF96 A4EC0000 call dword pt

你可以实验下你自己的想法 也许脱壳的就是在你的那个断点里面,为什么会在后面下断, 那是应为人家已经实验过了并不是面的那个call ,
脱壳成功一般可以是认为遇到了很大的地址空间的转移 。
脱壳的方法一般是沿着程序思路向下走。
所以在这里别人在上面的那个call已经知道不是了(人家已经做过了) ,就向下走。
一定要知道原理,脱壳相对简单 只要不是很变态的
现在看你的程序0040EA06 ^ EB E1 jmp short NOTEPAD.0040E9E9 //要往回跳了
的确是回跳到 0040E9E9
-----
0040E9E9 8A07 mov al,byte ptr ds:[edi]
就是在上面 一般来说这样的小跳只是干扰你的判断,你可以直接向下走,当然也有可能在这里的call里,这些有的时候更多的是经验

在网上搜一下吧.

那么 lz在你认为要设置F4的地方设置以下做个试验如何呢

在网上搜一下吧.

其实一样的
都可以的拉
你在到OEP那也可以下这没关系这是个压缩壳猜猜是UPX或ASPACK