Windows – 如何手动创建可执行文件.exe文件?
解释词法分析器和解析器之后,关于如何创建编译器的所有文本都会停止。他们不解释如何创建机器代码。我想了解端到端的过程。
目前我所理解的是,Windows exe文件格式称为便携式可执行文件。我读了关于它的标题,并没有找到一个资源,这很容易解释。 我的下一个问题是,我没有看到任何资源解释机器代码如何存储在文件中。它是否像32位固定长度指令在.text节中一个接一个存储? 是否有任何地方至少解释如何创建一个不执行任何操作的exe文件(它有一个No Op指令)。然后我的下一步将链接到dll文件打印到控制台。
好问题!我对这个具体问题没有太多的专门知识,但这是我将如何开始:
> PE或ELF不会创建纯机器代码。它还包含一些标题信息等。阅读更多:Writing custom data to executable files in Windows and Linux PS:这些大部分都是Unix的解决方案,但我相信PE应该做的事情基本相似。 我认为最好的方法是首先尝试分析现有的PE / ELF是如何工作的,基本上是逆向工程。而要做到这一点,Unix机器将是一个很好的起点。然后做你的魔法:) 不一样,但类似的问题here。 更新: 我从一个示例c代码中生成了一个对象转储。现在,我认为这是你正在瞄准的?你需要知道你生成这个文件(a.out)吗? https://gist.github.com/1329947 看看这个形象,一个c代码的一生。 Source现在,为了清楚,你正在寻求实现最后一步,即将目标代码转换为可执行代码? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows窗体 – 如何在C#中的组合框项目中添加标题无法选择
- 窗口 – 在DWM组合的窗口上使用GDI绘制时可以防止撕裂伪影吗
- windows-phone-7 – WP7 Live Tile文字颜色?
- Exchange – Office 365的所有外部邮件都失败了SPF,在混合部
- hyper-v – 个人虚拟桌面集:用户分配
- Windows磁盘碎片整理程序是否足够好?
- windows-10 – IIS报告在WLS Bash中创建的文件夹“404 Not
- Windows XP / Delphi 7中的持久对象
- windows-7 – 如何为我的触摸板编写软件?
- 开源 – 在应用程序中使用GPL v2 DLL