gpt4 book ai didi

assembly - 设计一个指令序列,使其在使用偏移量解码时执行其他操作

转载 作者:行者123 更新时间:2023-12-05 02:23:13 24 4
gpt4 key购买 nike

此问题是 that question 的后续问题.

要设置此问题的上下文,请考虑 Null-free programming .这是一种将指令序列(shellcode)伪装成字符串的技术。在C编程语言中,字节0标志着一个字符串的结束,所以指令序列必须设计成不包含任何这样的字节,否则它会被滥用的字符串操作函数截断。

IA32 和 x86-64 指令集,其可变长度指令没有特定对齐,允许任务 B 的指令在执行任务 A 的现有指令流中的偏移处解码。这项技术 has been used为了节省空间,在个人计算的早期(1980 年代)准时出现。

代码中嵌入代码的技术,从第一条指令中的偏移量开始,是否已经被用作欺骗反病毒检测的一种方法?它有名字吗?如果它有用并且已经被使用过,那么例子是什么?如果攻击者开始编写代码,任务 A 以一种表面上无害的方式不做任何事情就足够了,这可能会留出足够的余地来做任务 B 想做的任何事情。

最佳答案

是的,这肯定被用于混淆代码有用的任何情况。不仅用于病毒编程,还用于软件保护和逆向工程预防。

我自己用过几次size coding competitions ,并在其他人的条目中看到了几个例子。

这种技术自然已经为不同的处理器发明和重新发明了很多次,因此您自然会为它找到几个不同的名称。我发现了诸如“重叠指令”和“指令分离”之类的名称。

一些资源:

Jump into the middle of instruction - in IA-32
What is “overlapping instructions” obfuscation?
A new instruction overlapping technique for anti-disassembly and obfuscation of x86 binaries

关于assembly - 设计一个指令序列,使其在使用偏移量解码时执行其他操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24586242/

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