剖析Linux病毒原型工作过程和关键环节
作者: , 出处:《首席信息官》, 责任编辑: 徐蕊,
2007-09-04 11:47
写这篇文章的目的主要是对最近写的一个Linux病毒原型代码做一个总结,同时向对这方面有兴趣的朋友做一个简单的介绍。
* 存放你的二进制代码返回地址的地址,这里需要的是这个地址与代码起始地址的偏移,用于返回到目标程序的正常入口
| 以下是引用片段: #define PARACODE_RETADDR_ADDR_OFFSET 1232 |
* 要插入的二进制代码(由于用C编写,所以这里需要以一个函数的方式提供)
| 以下是引用片段: void parasite_code(void); |
* 二进制代码的结束(为了易用,这里用一个结尾函数来进行代码长度计算)
| 以下是引用片段: void parasite_code_end(void); |
parasite_code_end应该是parasite_code函数后的第一个函数定义,通常应该如下表示
| 以下是引用片段: void parasite_code(void) { ... ... ... } void parasite_code_end(void) {} |
在这里存在一个问题,就是编译有可能在编译时将parasite_code_end放在parasite_code地址的前面,这样会导致计算代码长度时失败,为了避免这个问题,你可以这样做
- 本文关键词:

