linux - 简单的多态引擎

标签 linux assembly virus

我必须编写一个简单的多态引擎。我使用 linux(32 位),我可以用汇编和 c 编写代码。我不知道如何开始。

你能给我一个构建这样一个引擎的模式吗?我的想法是制作一个程序:

  1. 阅读文件的代码部分
  2. 在缓冲区中加密它,
  3. 在开头腾出空间(可能吗?)来添加解密例程
  4. 在程序的代码部分写入新缓冲区。

是吗?它是否反射(reflect)了这种引擎的运行情况?

最佳答案

基本架构与您描述的完全不同。通常只有病毒体被加密,而不是整个代码段。考虑一个简单的病毒,它要么扩展代码段,要么为它的主体创建一个新的。现在,要使其多态,您必须添加加密并使解密代码成为非常量,例如:

1) 随机插入 nop (nop, add reg, 0, push reg; pop reg, etc)

2) 改变程序流程 (jmp next, clc; jc next, etc)

3) 使用具有相同算术效果的指令(add eax, 3 -> add eax, 9; sub eax, 6)

多态性意味着它可以有固定数量的编码,所以创建一个最简单的方法是将解密代码分解成几个 block ,并为每个提供几个长度相同的编码。

编辑:是的,它是病毒体的一部分。为了使用它,你将所有这些“砖 block ”放入病毒体内,当另一个文件被感染时,你为它创建一个随机版本的描述符。

关于linux - 简单的多态引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4177576/

相关文章:

windows - 试图找出 MASM 语法

linux - 在 linux 上反编译一个 win32-virus-executable

c++ - 测量忽略处理器速度的快速代码的性能/吞吐量?

java - 做了一个 "virus",需要提示

c - 如何创建病毒签名?

c++ - Qt 不会链接任何东西

linux - Bash 脚本 : How to display output for checking root logins via SSH not allowed?

c - 在多进程环境中读取文件时意外的 EOF

linux - kohana_http_exception 404 : The requested URL/was not found on this server. - Linux 环境

c - GCC asm 内联约束,寄存器分配冲突