hap*_*ore 3 c++ assembly inline-assembly
我在一个名为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:
Run Code Online (Sandbox Code Playgroud)
没有评论和搜索互联网我不知道这是什么?!MSDN告诉我,这会在代码中插入字节.这个我理解但我不明白这些字节做什么,它看起来不像指令.
任何人都可以解释,或者至少指出我在正确的方向插入字节实际上做了什么?
确实这不是代码,它只是一个字符串.为了混淆的目的,可能会像这样发出.
$ echo $'\x5B\x66\x6C\x79\x66\x61\x6E\x63\x79\x26\x57\x65\x69\x72\x64\x5D'
[flyfancy&Weird]
Run Code Online (Sandbox Code Playgroud)
或者它可能必须嵌入代码部分并且内联asm不提供这样做的方法.还要注意第一条指令跳过整个字符串.
| 归档时间: |
|
| 查看次数: |
625 次 |
| 最近记录: |