远控软件gh0st源码免杀2010-12-13 14:57远控软件gh0st3.6开源了,开源意味
着我们可以在此基础上进行二次开发,同时也意味着杀软可以较容易的查杀该款
远控***,既然要利用,我们就做好源码基础上的***免杀工作。
好久没有来博客了,我把免杀这部分整理了一下,先抛一砖头,有兴趣的朋友可
以接着做,也可以和本人交流。
序
gh0st远控软件采用驱动级RESSDT过主动,svchost参数启动,替换系统服务的方
式工作的,工作方式较为先进,美中不足的部分是没有进行驱动级或用户级隐藏
,当然这部分可以添加进去。编码利用了VC的编程环境。
一、环境配置
编译环境一定要配置好:DDK+SDK+VC6,DDK用来编译sys文件的,SDK+VC6是用来
编译工程的,配置部分比较简单,网上有很多资料,这里不再详述,有兴趣的朋
友也可以查看DDK和SDK的相关帮助。
二、特征码定位简述
杀毒软件查杀***的原理基本是根据特征查杀的,被查杀的部分我们称之为特征
码,所以我们可以利用特征码定位工具MyCLL定位出病毒的特征码位置,定位工
具原理是将被扫描***分块,利用分段填充的方式,匹配杀软的特征值,找到杀
软查杀病毒的位置。
定位出特征码,如何反向找到源码中的对应位置呢?请看下面分析,
三、二进制文件与源码定位之map文件利用
map文件是二进制和源码之间对应的一个映射文件。
我们假设根据第三步我们定位出了病毒的特征码:
病毒名称 特征码位置 内存地址
svchost.dll 000038AA_00000002 100044AA
svchost.dll 00005F98_00000002
第一步设置VC编译环境生成Map文件。
在 VC 中,点击菜单“Project -> Settings”选项页(或按下 Alt+F7),选择
C/C++ 选项卡,并在最下面的 Project Options 里面输入:/Zd ,然后要点击
Link 选项卡,选中“Generate mapfile”复选框,并在最下面的 Project
Options 里面输入:/mapinfo:lines,表示生成 MAP 文件时,加入行信息。设
置完成。
第二步编译VC工程,设置活动工程编译即可,这个不用说明。这个步骤完成后,
在release(或debug)目录,多了一个.map文件(比如svchost.map)。
第三步打开map文件(用UE或文本编辑器打开都行),形式如下:
(begi