• 113阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 倒序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 x)(|[  
QQ377718625 BD(Z5+EU1  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) L 4!{h|  
2 下面内容里面的有问题仅供参考。 E? _Z`*h  
3 执行到下面标记位置程序就秒退了。 '7XIhN9  
#define _CRT_SECURE_NO_WARNINGS H$y-8-&)  
#include <windows.h> |yx6X{$k  
#include <winternl.h> w.[ "p9tc  
#include <stdio.h> IiG6<|d8H  
}GeSu|m(  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass On?p 9^9  
Q%xC}||1s"  
typedef enum _FSINFOCLASS { 8F'x=lIO  
FileFsVolumeInformation = 1, sBcPq SMby  
FileFsLabelInformation, %i5M77#Z  
FileFsSizeInformation, iof-7{+3_  
FileFsDeviceInformation, ."9];)2rx  
FileFsAttributeInformation, rzt Ru  
FileFsControlInformation, ) jt #=9ZQ  
FileFsFullSizeInformation, nDHTV !]<  
FileFsObjectIdInformation, Ytl4kaYS  
FileFsDriverPathInformation, EOCN&_Z;  
FileFsMaximumInformation v%q0OX>9X"  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; V#iPj'*   
HSc~*Q  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); K*~0"F>"0  
H '   
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); DAXX;4  
8uWa=C)  
int main(int argc, char* argv[]) 97 }OL`y  
{ 3.*8)NW  
const wchar_t* device = L"\\.\c:"; *{L)dW+:  
p>4-s, W  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); RS8Hf~0G  
if (h == INVALID_HANDLE_VALUE) return 0; NuQdSj_>  
printf("handle is %d \n", h); +mn ,F};  
"g1)f"pL  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); cLLbZ=`  
if (!m) return 0; ~^1{B\I  
printf("module is %p \n", m); MRdduPrM%$  
<i&_ooX  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); -4 SY=NC_  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); JU)dr4S?  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; ]@phF _  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); R^Y <RI  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); (jAg_$6  
ee^{hQi  
NTSTATUS s; i%0ur }p  
const int size = 1024 * 10; oC0qG[yp9S  
char* buf = new char[size]; Sy0$z39  
memset(buf, 0, size); [D\k^h  
IO_STATUS_BLOCK status{ 0 }; fTK3,s1=  
$w`=z<2yo1  
typedef struct _FILE_FS_VOLUME_INFORMATION { Y2~nBb  
    LARGE_INTEGER VolumeCreationTime; x8V('`}j  
    ULONG VolumeSerialNumber; $xPaYf  
    ULONG VolumeLabelLength; QC}CRk p  
    BOOLEAN SupportsObjects; ~kEI4}O  
    WCHAR VolumeLabel[1]; cWe"%I  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; z?R|Ok  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); ?gt l)q  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; "i[@P)  
p1->VolumeSerialNumber = 0; ZzJ?L4J5v  
p1->VolumeLabel[0] = L'\0'; }E50>g  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); 62ws/8d6f  
printf("%p \n", s); 9,:l8  
hYG6 pTCb  
typedef struct _FILE_FS_OBJECTID_INFORMATION { /7Cc #P6  
    UCHAR ObjectId[16]; @emK1iwm  
    UCHAR ExtendedInfo[48]; ]QlwR'&j/n  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; Yfzl%wc  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** Ju1D = b  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; lww!-(<ww  
p2->ObjectId[0] = 55; 9 a!$z!.  
p2->ObjectId[1] = 55; HMh"}I2n  
p2->ObjectId[2] = 55; T?ZRiR)@  
p2->ObjectId[3] = 55; Q7jb'y$ozO  
p2->ObjectId[4] = 55; ] Zy5%gI  
p2->ObjectId[5] = 55; ?kbiMs1;u  
p2->ObjectId[6] = 55; KUlp"{a`,K  
p2->ObjectId[7] = 55; >I-RGW'A  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** j i7[nY  
printf("%p \n", s); Lh!J >  
-z)n?(pftm  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { @1o/0y"  
//  BOOLEAN DriverInPath; s@K4u^$A  
//  ULONG   DriverNameLength; ! |<Fo'U  
//  WCHAR   DriverName[1]; 2fn&#kw/  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; L.*M&Ry  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; Bg x'9p/  
//p3->DriverInPath = TRUE;  3KlbP  
//p3->DriverNameLength = 0x200; >4TaP*_  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); |B.Y6L6l  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); ux vqMgR  
^:^9l1]  
CloseHandle(h); Y) *#)f  
system("pause"); FQ<Ju.  
return 0; :V RNs  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。