解压后的可执行文件的运行时错误 C0000005 [UPX 3.91+]

问题描述

问题在尝试执行解压的可执行文件时表现出来。原始文件UPX (3.91 +) [已修改]打包,由Detect It Easy报告。


解包过程如下:

  • 使用 x64dbg 找到了说明:
lea rax,qword ptr ss: [rsp-80]
push 0
cmp rsp,rax
jne ***. 7FF7181DAD39
sub rsp,FFFFFFFFFFFFFF80
jmp ***. 7FF71816CE3C
  • 一个有效的入口点由 jmp 数据定义:***.7FF71816CE3C
  • 使用 Scylla 模块,指示真正的入口点,进行转储并修复转储。

注意:转储时有 2 个未定义的导入,但我通过删除

(image)

忽略了它们

运行固定转储后,出现错误

EXCEPTION_DEBUG_INFO:
           dwFirstChance: 1
           ExceptionCode: C0000005 (EXCEPTION_ACCESS_VIOLATION)
          ExceptionFlags: 00000000
        ExceptionAddress: 00007FFF02E2C286 <ntdll>
        NumberParameters: 2
Exceptioninformation [00]: 0000000000000000 Read
Exceptioninformation [01]: 00007FF71818F2C0 Inaccessible Address
First attempt at exception at 00007FFF02E2C286 (C0000005,EXCEPTION_ACCESS_VIOLATION)!

我还要指出,原始应用程序不想在 x64dbg 调试下完全工作,就像它在附加到进程时完成工作一样。

抱歉我的错误,我还是个新手,最近 2 天才这样做。感谢您的关注!

我认为源文件受到了保护,这可能是显而易见的,但我根本不知道该怎么做,实现目标的愿望并没有消失。


执行环境:

OS Name:                   Windows 10 Pro
OS Version:                10.0.19042 N/A Build 19042
System Type:               x64-based PC

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)