变质代码 是输出自身语义等价版本的代码:https://en.wikipedia.org/wiki/Metamorphic_code
但是,多态代码 是使用多态引擎进行变异同时保持原始算法不变的代码:https://en.wikipedia.org/wiki/Polymorphic_engine
那么,唯一的区别是多态代码依赖于其他程序(多态引擎),而变质代码具有内置的功能吗?
有人可以通过链接或在答案中提供多态代码示例吗?
谢谢,
最佳答案
多态代码和变质代码的主要区别在于实际执行的代码是否发生变化。多态病毒解密其代码,运行该代码,然后在传播时使用不同的 key 对解密的代码进行加密。当在不同的机器上运行时,解密的代码是相同的。变形病毒只是运行其代码,然后在传播时将其代码变异为不同但功能相同的代码。执行的代码在它传播到的每台机器上都是不同的。
这意味着对于多态病毒,可以通过简单地运行它(最好是在某种安全的沙箱环境中)然后检查内存中代码的解密版本来检查原始的未加密代码。对于变质代码,这是行不通的,病毒永远不会生成其自身的原始版本。
请注意,术语“多态代码”令人困惑。脱离上下文,对于大多数程序员来说,这意味着使用 polymorphic types 编写的代码.
关于c++ - 变形代码和多态代码有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38184390/