【发布时间】:2021-05-05 13:44:27
【问题描述】:
我的电脑上安装了一个程序。当我用 CFF Explorer 检查它时,我看不到任何导入或依赖项。它可能是用 Delphi 编写的。那么这种类型的PE如何运作呢?该程序的作者似乎想隐藏使用了哪些系统 DLL。我可以在自己的 Visual Studio C/C++ 环境中构建这样的 PE 文件吗?
这是 PE 文件在 CFF EXplorer 中的样子:
编辑:这是 PE Explorer 的屏幕截图。 PE Explorer 也表示没有依赖关系。
【问题讨论】:
-
我猜 CFF Explorer 是错误的,并且文件格式中的某些东西混淆了它,所以它报告没有导入,或者他们已经做了类似从 User32 复制 LoadLibraryEx 和 GetProcAddress 的实现,即他们自己进行中断调用,然后根据需要使用它们来导入更多功能。我不知道这在 Windows 版本和更新之间的兼容性如何——毕竟这是一个私有 API——或者你为什么真的想要这样做。
-
我认为第二种可能性更大。事实上,我们想隐藏我们的应用程序使用了哪些 DLL 和函数。但这似乎相当艰巨。
-
能否提供您分析的可执行文件?我想更深入地测试可执行文件的结构。提前谢谢1
-
导入表为空的原因之一是可执行文件仅包含资源!这真的很常见。
-
@mox 由于我正在分析的软件是商业产品,因此可能不适合公开该产品。但是如果你可以通过以下地址联系我,我可以告诉你软件的名称:l5216006@std.yildiz.edu.tr.
标签: c++ c visual-c++ portable-executable