【问题标题】:Why does the runPE not work with a specific type of executables?为什么 runPE 不适用于特定类型的可执行文件?
【发布时间】:2019-01-19 10:51:17
【问题描述】:

我目前正在尝试让一个可执行文件在内存中运行。因为以后很可能有人会问:是的,它会被用于恶意软件,以便对 AV 隐藏它。它仅用于教育目的,特别是针对学校项目(将是我毕业的一部分)。 然而,这个问题涉及到别的东西。我在 Github 找到了一个非常好的来源:https://github.com/aaaddress1/RunPE-In-Memory,它非常适合我的用途(我已经为我的目的更改了它等),除了我想运行的木马。我尝试了几个,例如 Darkcomet 或 Darktrack (它需要是一些众所周知的旧东西来展示如何重用它们)。我想因为 Darkcomet 它是在 Delphi 中编码的(它输出一个本机?),它会像任何其他 EXE 文件一样工作(就像 Github 提供的那些),但它只是没有启动。在 Darkcomet 中,还有一个选项可以让恶意服务器文件引人注目,所以我没有在任何端口转发方面失败是安全的。

那时我的第一个意图是在文本编辑器中打开 EXE 并查看它是否是相同的架构。我可以在两个二进制文件中找到“PE L”,据我所知,它都是 32 位的。让我觉得奇怪的是这两行

"此程序不能在 DOS 模式下运行。" 用于编译的 runPE 加载器 和

此程序必须在 Win32 下运行”才能获得木马可执行文件。

此外,这两个二进制文件的第一个字符不同:MZMZP。 在打开更多二进制文件并对其进行测试后,我得出的结论是,带有“此程序必须在 Win32 下运行”的那些不起作用。

据我所知和谷歌搜索,有 DOS 和 Windows 可执行文件。但如果只有这两种类型,为什么会有区别呢? "必须在 Win32 下运行" == "不能在 DOS 模式下运行。" 在我看来。

我也查了这两个术语,但我只得到关于尝试在 DOSBox 或类似东西中运行这些 Windows-PE 的人的线程。

所以,我实际的两个问题是:

-“这个程序必须在Win32下运行”(Type1)和“这个程序不能在DOS模式下运行”(Type2)有什么区别

-如果我想使用从 Github 存储库制作的 (Type2)RunPe-InMemory 可执行文件将 (Type1) 程序推送到内存中,为什么它不起作用。

【问题讨论】:

  • DOS模式可能意味着16位模式? Win32顾名思义就是32位。在 32 位 x86 上,由于向后兼容,本质上仍然潜伏着一个活化石 16 位架构。已在 64 位 x86 中被杀死的 AFAIK,取而代之的是 32 位活化石。
  • 感谢您的回答。这将解释当时的差异。但为什么它不工作呢?我的意思是它都是 32 位...

标签: portable-executable


【解决方案1】:

...(Type1)和...(Type2)有什么区别

什么都没有:

“PE”可执行文件包含一些 MS-DOS EXE 文件,后跟一个 32 位或 64 位部分。

如果您在 MS-DOS(或任何兼容的操作系统)下启动“PE”可执行文件,DOS 将忽略 32 位或 64 位部分并在“PE”开始处执行 MS-DOS EXE 文件可执行文件。

一些程序的编写方式是,PE文件开头的DOS EXE文件与Windows部分相同,因此您可以在DOS和Windows下使用相同的EXE文件。

但是,在大多数情况下,DOS 部分只打印一些错误消息,说明程序无法在 MS-DOS 下启动。

您在这里看到的是两个不同的 MS-DOS 程序,它们位于 PE EXE 文件的开头;一个程序打印错误消息"This program must be run under Win32",另一个程序打印"This program cannot be run in DOS mode."

此外,两个二进制文件的第一个字符不同:MZ 和 MZP

这也没什么区别:

MS-DOS 文件的第三个字节是描述 MS-DOS 程序长度的许多字节之一。因为你有不同的 MS-DOS 程序,它们也有不同的长度。

在一种情况下,字节的值为 80,在文本编辑器中显示为“P”。

在另一种情况下,字节可能具有值 10(作为示例),它在文本编辑器中不显示为字符。

为什么 runPE 不适用于特定类型的可执行文件?

没有看到木马,我无法回答这个问题。

但是,我看到很多木马没有使用正确的“PE”文件格式。

(但是,在这些情况下,“错误”在“PE L”之后,而不是在“MZ”部分。)

【讨论】:

  • 谢谢,这解释了很多东西。所以我最好找一个其他知名的原生木马对吗?因为我认为这是我无能为力的一点:(
猜你喜欢
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 2012-01-22
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多