启动 vs WinMain()

逆向工程 艾达 恶意软件 dll 可执行程序 入口点
2021-06-14 23:23:36

我正在尝试分析一个恶意 DLL,当我在 IDA 中加载它时,我可以看到两个函数 -DLLEntryPointDLLMain. 然后我通过将标识文件为 DLL 的特征位切换到 EXE 来更改格式。当我在 IDA 中再次加载文件时,我可以看到两个函数 -StartWinMain

据我所知,Start是 exe 的入口点,它在调用WinMainMain. DLLEntryPointDLLMainDll 的类似功能吗?

1个回答

首先,请阅读本文

本质上的区别在于(在这两种情况下)一个 - 入口点 - 指的是初始代码所在的地址,另一个 - “主函数” - 将是(C)运行时提供的,可能隐藏你的血腥细节。

据我所知,Start是 exe 的入口点,它在调用WinMainMain. DLLEntryPointDLLMainDll 的类似功能吗?

这几乎是正确的。Start 就是在这种情况下,入口点的符号名,真实。但是,它是否执行某种初始化完全取决于库。我敢打赌,IDA 已经通过 FLIRT 签名识别了一些运行时库(例如 Visual C++ 运行时),并使用该信息DllMain向您指出

从概念DLLEntryPointDLLMain镜面你发现.exe的文件,是的。