欲成其事先利其器。要想完成一项复杂的任务,工具的作用至关重要。要想在Linux系统上开发或研究木马病毒等特殊程序,我们需要使用一系列强大的开发和调试攻击。本节先介绍几种在Linux系统上极为强大的工具。
第一个当然是gdb了,在Linux上,它是唯一能用于程序调试的利器。我们后面开发代码或调试分析其他病毒或木马的设计模式和原理时,必须使用gdb作为手术刀,对要研究的病毒和木马进行”剖尸检验“,通过gdb调查木马或病毒的代码设计方法,同时也使用gdb加载恶意代码,研究其运转流程。
第二个是objdump,它的作用是将恶意代码所编制成的可执行文件内部信息抽取出来,例如如果病毒或木马最后编译成ELF格式的可执行文件,那么我们可以使用该工具将里面的各种信息展示出来,举个例子,使用C语言写一个helloworld程序如下:
#include "stdio.h"
void main() {
printf("hello world!");
}
然后使用gcc编译成可执行文件,命令如下:
gcc -Wall -g hello_world.c -o hello_world
注意到gcc也是在Linux上进行程序开发必不可少的编译器。执行上面代码后会在当前目录生成elf格式的可执行文件hello_world,然后使用如下命令打印其内部内容:
objdump -D hello_world
执行后所得结果如下: