gpt4 book ai didi

assembly - 在 x86 汇编器中找到用于教育目的的最小自修改代码示例?

转载 作者:行者123 更新时间:2023-12-04 05:06:20 25 4
gpt4 key购买 nike

我正在寻找几行长的示例来演示 x86 汇编程序中的自修改代码,用于教育目的(不需要做一些有意义的事情,但需要清楚地编写自己的代码,然后在阅读代码本身时执行它).

我确实浏览了一些 Web,但所有示例要么过于复杂,要么就是不言自明。我可能错过了正确的去处,所以请随意建议链接或代码。

最佳答案

许多处理器在代码更改后无法立即看到代码的修改,而是执行旧字节。例如,即使在“inc”指令被“nop”-s 覆盖之后,以下代码仍然(大部分时间)递增 eax。您应该几乎总是看到 eax=1,如果在“mov”之后发生异常,则得到 eax=0。

; Intel syntax

.arch i386
.text
start:
xor %eax, %eax
mov word ptr change, 0x9090
change: inc %eax
nop
ret

如果 EFLAGS.TF=1 eax 将始终为 0。这是否有用是另一回事。很久以前,一位 friend 使用自修改代码来进行混淆,并有几个如上所述的陷阱,这些陷阱依赖于处理器实际上忽略了更改。

关于assembly - 在 x86 汇编器中找到用于教育目的的最小自修改代码示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12181789/

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