• 111阅读
  • 0回复

[]求个修改系统分区卷GUID(下图软件箭头所指) C++源码 (内容里面的有问题仅供参考 [复制链接]

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 正序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 fH e0W  
QQ377718625 $rpTs?j*K$  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的)  ]a6O(]  
2 下面内容里面的有问题仅供参考。 FfxX)p1t  
3 执行到下面标记位置程序就秒退了。 P A6KX5  
#define _CRT_SECURE_NO_WARNINGS { #1j"  
#include <windows.h> Go\} A:|s  
#include <winternl.h> ,> (bt%b  
#include <stdio.h> &H4uvJ_<  
(!VMnLlXRK  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass `!omzE*bk5  
?l, X!o6  
typedef enum _FSINFOCLASS { UhSh(E8p>  
FileFsVolumeInformation = 1, ^\[LrPq e  
FileFsLabelInformation, !<=%;+  
FileFsSizeInformation, +eBMn(7Cgv  
FileFsDeviceInformation, \%Ah^U)gS  
FileFsAttributeInformation, ~S^X"8(U  
FileFsControlInformation, HLSfoQ& )v  
FileFsFullSizeInformation, 3cCK"kr  
FileFsObjectIdInformation, 88#qu.  
FileFsDriverPathInformation, -4?xwz9o$7  
FileFsMaximumInformation OS"{"P  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; i'Y'HI  
7O+Ij9+{n  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); \U!@OX.R'M  
pdi=6<?bd  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); lbB.*oQ  
"s>fV9YyZ  
int main(int argc, char* argv[]) 'z-;*!A}j  
{ b@wBR9s  
const wchar_t* device = L"\\.\c:"; HCJ8@nki  
Vq D[G<|9T  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); 7bonOt Y  
if (h == INVALID_HANDLE_VALUE) return 0; ^)OZ`u8  
printf("handle is %d \n", h); lHcZi  
9P7xoXJ @y  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); `&u<aLA  
if (!m) return 0; 0\cnc^Z  
printf("module is %p \n", m); rmPne8D=c(  
QOT)x4!)  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); Z#4JA/c!  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); my\o P(e\  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; vQK n=  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile);  Hz]4AS  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); -7I1Lh#M  
s-C!uq  
NTSTATUS s; kUn2RZ6$#  
const int size = 1024 * 10; msc 1^2  
char* buf = new char[size]; A,m4WO_q3  
memset(buf, 0, size); egI{!bZg'\  
IO_STATUS_BLOCK status{ 0 }; Q(IJD4  
X(GmiH /E  
typedef struct _FILE_FS_VOLUME_INFORMATION { &r'{(O8$N  
    LARGE_INTEGER VolumeCreationTime; ~5r=FF6  
    ULONG VolumeSerialNumber; rb:<N%*t  
    ULONG VolumeLabelLength; b|sc'eP#?  
    BOOLEAN SupportsObjects; w.J%qWJq  
    WCHAR VolumeLabel[1]; c$Xe.:QY  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; |;A9A's  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); ='dLsh4P2N  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; Hs"% S  
p1->VolumeSerialNumber = 0; cxXbo a  
p1->VolumeLabel[0] = L'\0'; =PNdP  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); ; .ysCF  
printf("%p \n", s); N >d|A]zH  
01LZE,.  
typedef struct _FILE_FS_OBJECTID_INFORMATION { I!f B1aq-  
    UCHAR ObjectId[16]; zBk_-'z  
    UCHAR ExtendedInfo[48]; lo+xo;Nd  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; y)3~]h\a  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** &l. x:eD  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; 8pYyG |\  
p2->ObjectId[0] = 55; [3j$ 4rP  
p2->ObjectId[1] = 55; ^uyNv-'F  
p2->ObjectId[2] = 55; 87^:<\pp  
p2->ObjectId[3] = 55; 8W~ lU~-  
p2->ObjectId[4] = 55; -6rf( ER  
p2->ObjectId[5] = 55; SkiJ pMN  
p2->ObjectId[6] = 55; eM?rc55|  
p2->ObjectId[7] = 55; ug^om{e-  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** ;W7hc!  
printf("%p \n", s); Md8(`@`o  
g!1I21M1~  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { koOyZ>  
//  BOOLEAN DriverInPath; 29"mE;j  
//  ULONG   DriverNameLength; H<`^w)?  
//  WCHAR   DriverName[1]; V~OUE]]Q  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; 44|deE3Z   
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; |EF>Y9   
//p3->DriverInPath = TRUE; <9ma(PFa  
//p3->DriverNameLength = 0x200; Ln ~4mN^  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); N0=-7wMk(Z  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); JAc@S20v\  
f%2%T'Q  
CloseHandle(h); 1^aykrnQ>  
system("pause"); DVObrL)znL  
return 0; OuB2 x=B  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。