• 112阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 正序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0  R_N<j  
QQ377718625 qA~D*=  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) 1tr>D:c\  
2 下面内容里面的有问题仅供参考。 xBZ9|2Y s  
3 执行到下面标记位置程序就秒退了。 apMYBbC  
#define _CRT_SECURE_NO_WARNINGS 2s4= %l  
#include <windows.h> =3zn Ta }  
#include <winternl.h> GVfu_z?  
#include <stdio.h> jo|q,t  
jo(Q`oxm!>  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass !}P FiT^  
6m.Ku13;  
typedef enum _FSINFOCLASS { __V]HcP;  
FileFsVolumeInformation = 1, w7Pe< vT  
FileFsLabelInformation, QhG-1P3#  
FileFsSizeInformation, V%0.%/<#5  
FileFsDeviceInformation, hZ'oCRM  
FileFsAttributeInformation, )>Q 2G/@  
FileFsControlInformation, ~c="<xBE  
FileFsFullSizeInformation, 2 Lam vf  
FileFsObjectIdInformation, R`* *!ku  
FileFsDriverPathInformation, ~r!5d@f.6  
FileFsMaximumInformation *M|\B|A.  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; y[zA [H:  
xk*3,J6BK  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); R|CY4G j  
wqwJpWIe  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); _$'Mx'IC=  
mWusRgj+8  
int main(int argc, char* argv[]) kdUGmR0d  
{ {''|iwLr  
const wchar_t* device = L"\\.\c:"; {.lF~cOu  
R_qo]WvR;  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); avpw+ M6+  
if (h == INVALID_HANDLE_VALUE) return 0; Asl H V@K  
printf("handle is %d \n", h); >#:/ GN?  
5i/E=D  
HMODULE m = GetModuleHandleW(L"ntdll.dll");  }]~}DHYr  
if (!m) return 0; &CL|q+-  
printf("module is %p \n", m); KyyG8;G%  
Ij #a  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); jccW8g~ ~  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); VBX# !K1Q  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; uTU4Fn\$L  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); 6oP{P_Pxi  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); lz)"zV  
 [;=WnG  
NTSTATUS s; Z8&C-yCC  
const int size = 1024 * 10; 4v|/+J6G  
char* buf = new char[size]; 2 &Byq  
memset(buf, 0, size); +r0eTP=zf  
IO_STATUS_BLOCK status{ 0 }; ~^^ey17   
`oMeR]~  
typedef struct _FILE_FS_VOLUME_INFORMATION { jOb[h=B"  
    LARGE_INTEGER VolumeCreationTime; & .?HuK  
    ULONG VolumeSerialNumber; ;ULC|7rL  
    ULONG VolumeLabelLength; ~t:b<'/  
    BOOLEAN SupportsObjects; j>o +}p?3I  
    WCHAR VolumeLabel[1]; +^J-'7Vt  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; $CmX &%L=  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); aVP|:OAj  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; |\a:]SlH  
p1->VolumeSerialNumber = 0; Ib2@Wi   
p1->VolumeLabel[0] = L'\0'; fl"y@;;#h  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); Q@2tT&eL  
printf("%p \n", s); (J*w./  
8`G{1lr4o  
typedef struct _FILE_FS_OBJECTID_INFORMATION { 30 _un  
    UCHAR ObjectId[16]; A&P1M6Of  
    UCHAR ExtendedInfo[48]; A(n=kx  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; 5ZA%,pH>Jq  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** \ZFQ?e,d  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; cY2-T#rL  
p2->ObjectId[0] = 55; mbBRuPEa=u  
p2->ObjectId[1] = 55; ~+#--BhV  
p2->ObjectId[2] = 55; LO]6Xd "  
p2->ObjectId[3] = 55; %;Z bQ9  
p2->ObjectId[4] = 55; aE BP9RX}z  
p2->ObjectId[5] = 55; B"PHJj  
p2->ObjectId[6] = 55; KupMndK  
p2->ObjectId[7] = 55; -L9R&r#_e  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。**************  M_1Tx  
printf("%p \n", s); p? ?/r  
gOyY#]g  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { grQnV' q  
//  BOOLEAN DriverInPath; QWHy=(!  
//  ULONG   DriverNameLength; _g 4 /%  
//  WCHAR   DriverName[1]; #Q3PzDfj  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; q.MVF]  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; `XxG"k\/S  
//p3->DriverInPath = TRUE; B~>cNj<  
//p3->DriverNameLength = 0x200; O4/n!H Ob  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); Tj= dL  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); mY`]33??v  
{TncqA  
CloseHandle(h); -(w~LT$ "  
system("pause"); &^IcL!t[  
return 0; tin|,jA =  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。