Windasm32 无法分配足够的内存来显示 151680 行

逆向工程 视窗 反汇编者
2021-06-29 10:38:56

嘿,我今天使用的是 Windasm32,我加载了一个 .dll 文件,它告诉我这个

在此处输入图片说明

我尝试将 Windows 10 上的虚拟内存增加到 12000,将最大值增加到 12000,然后重新启动计算机并在管理员中运行 windasm32,但它仍然给我这个错误。那么,我该如何解决这个问题?

2个回答

Windasm32 是一个非常古老的 32 位程序,Windows 为其分配2GB 虚拟内存空间可能快用完了(您应该能够使用诸如VMMap 之类的工具进行确认)。一种可能的解决方法是IMAGE_FILE_LARGE_ADDRESS_AWARE在 PE 标头中设置标志,这将为其提供额外的 1GB 地址空间,例如使用editbin

editbin /LARGEADDRESSAWARE  windasm32.exe

然而,如果程序不准备处理上述地址,这可能会导致错误和/或崩溃0x80000000对于您要反汇编的程序,它可能仍然不够。

我强烈建议使用另一个可以处理大文件的更现代的反汇编程序。如果找不到所需的功能,请提出有关它的新问题。

试试这个。在菜单中,单击:

反汇编器 -> 反汇编器选项 -> 启用扩展内存

来源(第一篇文章,翻译成英文)

W32Dasm893 修复

  1. 删除了反汇编器对导致消息的代码行数的限制:“W32Dasm 只能分配足够的内存来处理 XXXXXX 行文本......”