roger 发表于 2020-9-2 09:40:57

手脱PECompact2.X的壳

一.查壳二.脱壳1.单步2.ESP定律3.BP VirtualFree  SHIFT+F9,取消断点
  ALT+F9(执行到用户代码)
  查找 push 8000(特征码)
  运行到这
  单步跟
4.BP VirtualFree  两次SHIFT+F9
  中断后取消断点,Alt+F9返回
  单步走。
5.  0040A86D >B8 74DE4500   mov eax,qqspirit.0045DE74(原因)
  bp 0045de74(设断点)
  045DE74    B8 F9CB45F0   mov eax,F045CBF9
  0045DE79    8D88 9E120010   lea ecx,dword ptr ds:
  0045DE7F    8941 01         mov dword ptr ds:,eax
  0045DE82    8B5424 04       mov edx,dword ptr ss:
  0045DE86    8B52 0C         mov edx,dword ptr ds:
  0045DE89    C602 E9         mov byte ptr ds:,0E9
  0045DE8C    83C2 05         add edx,5
  0045DE8F    2BCA            sub ecx,edx
  0045DE91    894A FC         mov dword ptr ds:,ecx
  0045DE94    33C0            xor eax,eax
  0045DE96    C3            retn
  0045DE97    B8 78563412   mov eax,12345678//下断
6.bp VirtualAlloc  SHIFT+F9运行
  取消断点
  ALT+F9
  向下拉,看到JMP。运行到这
7.最后一次异常法  取消所有异常。
  2次跑飞。
  找SE句柄
  转到SE xxxx处
  045DE74    B8 F9CB45F0   mov eax,F045CBF9
  0045DE79    8D88 9E120010   lea ecx,dword ptr ds:
  0045DE7F    8941 01         mov dword ptr ds:,eax
  0045DE82    8B5424 04       mov edx,dword ptr ss:
  0045DE86    8B52 0C         mov edx,dword ptr ds:
  0045DE89    C602 E9         mov byte ptr ds:,0E9
  0045DE8C    83C2 05         add edx,5
  0045DE8F    2BCA            sub ecx,edx
  0045DE91    894A FC         mov dword ptr ds:,ecx
  0045DE94    33C0            xor eax,eax
  0045DE96    C3            retn
  0045DE97    B8 78563412   mov eax,12345678//下断
8.两次内存9.at GetVersion(c++)  

页: [1]
查看完整版本: 手脱PECompact2.X的壳