能力值:
( LV2,RANK:10 )
|
-
-
2 楼
理论上,电脑上的任何软件的东西都可以被破解的,
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
如果HD CPU序列号都能做假,那绑定电脑的软件如何生存,只能通过网络验证?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
好像是替换机器码
本来机器码通过F()获取 他修改了让机器码为一个固定的值
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
了解了网上很多信息,还有很多软件,要么完全不是改硬盘id的,要么就是蓝屏,所以我还是持怀疑态度,我就想让高手解答下,如何让自己软件更安全?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
做反调试,比如debug hook,不过不知道在发布版本是否可用,你可以问问精通这反面的大神
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
DeviceIOControl, 勾住, 可以更改序列号
其它就不知道了
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
除了DeviceIOControl,程序里还有其他API获取硬盘序列号吗
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
什么反调试都是浮云
网络验证,除此别无他法。在本地没有破解不了的程序。连Win7都被人破解了,你说呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
[QUOTE=nence]我今晚发了个帖子,”哪位大神能帮我看下这是什么狗生成的文件“,没想到被删了,刚看到您给我回复了,但因为帖子被删看不到内容,不知您是否给出了有用的信息?如有打扰,请谅解。[/QUOTE]
我Kx不足,无法回复悄悄话。我回复的是你的文件卡巴提示有毒,估计也是因为这个所以帖子被删了吧。
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
不是报毒的缘故,理由里写我变相求破实在让我无语,在看雪混了这么多年,论坛规矩我还是懂的。要不是辛苦写的软件被人盗卖,我也不至于落到今天这个地步。也罢,感谢兄弟回复!
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
BOOL GetDriveGeometry(LPWSTR wszPath, DISK_GEOMETRY *pdg)
{
HANDLE hDevice = INVALID_HANDLE_VALUE; // handle to the drive to be examined
BOOL bResult = FALSE; // results flag
DWORD junk = 0; // discard results
hDevice = CreateFileW(wszPath, // drive to open
0, // no access to the drive
FILE_SHARE_READ | // share mode
FILE_SHARE_WRITE,
NULL, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
NULL); // do not copy file attributes
if (hDevice == INVALID_HANDLE_VALUE) // cannot open the drive
{
return (FALSE);
}
bResult = DeviceIoControl(hDevice, // device to be queried
IOCTL_DISK_GET_DRIVE_GEOMETRY, // operation to perform
NULL, 0, // no input buffer
pdg, sizeof(*pdg), // output buffer
&junk, // # bytes returned
(LPOVERLAPPED)NULL); // synchronous I/O
CloseHandle(hDevice);
return (bResult);
}
int wmain(int argc, wchar_t *argv[])
{
DISK_GEOMETRY pdg = { 0 }; // disk drive geometry structure
BOOL bResult = FALSE; // generic results flag
ULONGLONG DiskSize = 0; // size of the drive, in bytes
bResult = GetDriveGeometry(wszDrive, &pdg);
if (bResult)
{
wprintf(L"Drive path = %ws\n", wszDrive);
wprintf(L"Cylinders = %I64d\n", pdg.Cylinders);
wprintf(L"Tracks/cylinder = %ld\n", (ULONG)pdg.TracksPerCylinder);
wprintf(L"Sectors/track = %ld\n", (ULONG)pdg.SectorsPerTrack);
wprintf(L"Bytes/sector = %ld\n", (ULONG)pdg.BytesPerSector);
DiskSize = pdg.Cylinders.QuadPart * (ULONG)pdg.TracksPerCylinder *
(ULONG)pdg.SectorsPerTrack * (ULONG)pdg.BytesPerSector;
wprintf(L"Disk size = %I64d (Bytes)\n"
L" = %.2f (Gb)\n",
DiskSize, (double)DiskSize / (1024 * 1024 * 1024));
}
else
{
wprintf(L"GetDriveGeometry failed. Error %ld.\n", GetLastError());
}
return ((int)bResult);
}
|