gpt4 book ai didi

c++ - 有人知道这个 C++ 内联汇编的作用吗?

转载 作者:太空狗 更新时间:2023-10-29 19:52:55 25 4
gpt4 key购买 nike

我在名为 DM2 的开源 Windows 工具中看到了以下代码.

#define OEP_ASM __asm jmp OEP \
__asm _emit 0x5B __asm _emit 0x66 __asm _emit 0x6C \
__asm _emit 0x79 __asm _emit 0x66 __asm _emit 0x61 \
__asm _emit 0x6E __asm _emit 0x63 __asm _emit 0x79 \
__asm _emit 0x26 __asm _emit 0x57 __asm _emit 0x65 \
__asm _emit 0x69 __asm _emit 0x72 __asm _emit 0x64 \
__asm _emit 0x5D __asm _emit 0x00 __asm OEP:

没有评论和搜索互联网我仍然不明白这是做什么的?! MSDN只是告诉我这会在代码中插入字节。这么多我明白了,但我不明白这些字节是做什么的,它看起来不像指令。

任何人都可以解释一下,或者至少为我指出正确的方向,插入字节实际上是做什么的?

最佳答案

事实上这不是代码,它只是一个字符串。可能出于混淆目的而像这样发出。

$ echo $'\x5B\x66\x6C\x79\x66\x61\x6E\x63\x79\x26\x57\x65\x69\x72\x64\x5D'
[flyfancy&Weird]

或者它可能必须嵌入到代码部分,而内联 asm 不提供这样做的方法。另请注意,第一条指令会跳过整个字符串。

关于c++ - 有人知道这个 C++ 内联汇编的作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223093/

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