gpt4 book ai didi

assembly - 如何编辑可执行文件

转载 作者:行者123 更新时间:2023-12-01 19:57:48 26 4
gpt4 key购买 nike

我对 assembly 完全陌生。我正在为可执行文件编写补丁来修复图形问题。特别是我需要将窗口的 dwExStyle 参数从 0 更改为 00020000。原始指令的十六进制代码是

6A 00 (push 0)

当我尝试将其更改为

68 00 00 02 00 (push 00020000)

可执行文件停止运行,我收到访问冲突错误。如何编辑推送命令的参数而不弄乱可执行文件?提前致谢

编辑:执行调用函数的整个代码:

:0055935D 6A00            push 00000000
:0055935F 56 push esi
:00559360 6A00 push 00000000
:00559362 6A00 push 00000000
:00559364 68F9010000 push 000001F9
:00559369 6886020000 push 00000286
:0055936E 6800000080 push 80000000
:00559373 6800000080 push 80000000
:00559378 6A00 push 00000000
:0055937A 683C565700 push 0057563C |
:0055937F 683C565700 push 0057563C
:00559384 6A00 push 00000000

* Reference To: USER32.CreateWindowExA, Ord:0059h
|
:00559386 FF1574B15600 Call dword ptr [0056B174]

如您所见,调用的函数是 Windows API 中的 CreateWindowExA,该函数应采用双字作为所需参数(窗口样式)

最佳答案

插入更多字节,最初,您将所有指令从该地址移动到可执行文件的末尾几个字节,然后所有跳转目标都被更改。

修补可执行文件并不是一件容易的事,恕我直言,也不适合初学者。

关于assembly - 如何编辑可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30152038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com