• 115阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 倒序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 zQ~N(Jj?h  
QQ377718625 k^@dDLr"  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) #IvHxSo&  
2 下面内容里面的有问题仅供参考。 WBN3:Y7   
3 执行到下面标记位置程序就秒退了。 tNvjwgV\  
#define _CRT_SECURE_NO_WARNINGS 7?@ -|{  
#include <windows.h> -y|*x-iZ  
#include <winternl.h> 0<FT=tKm  
#include <stdio.h> U%rEW[j  
`;Od0uh  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass :lU#Dm]  
`eEiSf  
typedef enum _FSINFOCLASS { B%n|%g6K|h  
FileFsVolumeInformation = 1, 4|/}~ 9/  
FileFsLabelInformation, */'j[uj  
FileFsSizeInformation, ~e<^jhpJ  
FileFsDeviceInformation, LK|1[y^h  
FileFsAttributeInformation, <sTY<iVR  
FileFsControlInformation, %w#z   
FileFsFullSizeInformation, Suo%u D  
FileFsObjectIdInformation, V7<w9MM  
FileFsDriverPathInformation, \RS0mb  
FileFsMaximumInformation {F=`IE3)w  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; kD46Le++B  
sa?s[  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); .Q W@rV:T  
}D]y -BbA.  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); ,K15KN.'  
qDS~|<Y5  
int main(int argc, char* argv[]) V}h <,E9  
{ J?Bj=b  
const wchar_t* device = L"\\.\c:"; uOAd$;h@_Z  
Nt,:`o |  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); K-b`KcX  
if (h == INVALID_HANDLE_VALUE) return 0; v%muno,  
printf("handle is %d \n", h); RF}R~m9]  
MK.TBv  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); kO/YO)g  
if (!m) return 0; HDi_|{2^  
printf("module is %p \n", m); 9\Md.>  
3!op'X!  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); eGW h]%  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); m1D,#=C,_  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; : #OaE,  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); &3Ry0?RET  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); )YVs=0j  
4(? Z1S  
NTSTATUS s; s|][p|  
const int size = 1024 * 10; 8I~*9MUp  
char* buf = new char[size]; (qw;-A W8  
memset(buf, 0, size); ~^/BAc  
IO_STATUS_BLOCK status{ 0 }; 6!@p$ pm)a  
.U#oN_D  
typedef struct _FILE_FS_VOLUME_INFORMATION { ]tNB^  
    LARGE_INTEGER VolumeCreationTime; mtf><YU  
    ULONG VolumeSerialNumber; *P\OP'o_  
    ULONG VolumeLabelLength; =4uO"o  
    BOOLEAN SupportsObjects; e$`;z%6y  
    WCHAR VolumeLabel[1]; $\#wsI(  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; 0 s@>e  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); q{}U5(,{0  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; pS "A{k)i  
p1->VolumeSerialNumber = 0; XnKf<|j6k  
p1->VolumeLabel[0] = L'\0'; qtjx<`EK>  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); *JOp)e0b  
printf("%p \n", s); Am<){&XT ]  
TB_OFbI2  
typedef struct _FILE_FS_OBJECTID_INFORMATION { Y,m=&U  
    UCHAR ObjectId[16]; p^C$(}Yh  
    UCHAR ExtendedInfo[48]; *QT7\ht3  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION;  c`}YL4  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** ZEB,Q~  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; z(#CO<C.t  
p2->ObjectId[0] = 55; B A i ^t  
p2->ObjectId[1] = 55; Lh-+i  
p2->ObjectId[2] = 55; r*c x_**  
p2->ObjectId[3] = 55; ikb;,Js  
p2->ObjectId[4] = 55; YRu/KUT$ 7  
p2->ObjectId[5] = 55; f3*S IKi  
p2->ObjectId[6] = 55; xUPg~c0  
p2->ObjectId[7] = 55; lQL /I [}  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** h^f?rWD:nz  
printf("%p \n", s);  [33=+C a  
|[@v+koq  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { U9XOs)^  
//  BOOLEAN DriverInPath; # ';b>J  
//  ULONG   DriverNameLength; _6`H `zept  
//  WCHAR   DriverName[1]; }}LjEOvL=  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; V8 G.KA "  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; ] V,#>'  
//p3->DriverInPath = TRUE; 8aY}b($*ZI  
//p3->DriverNameLength = 0x200; +FC+nE}O  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); , _bG'Hmt  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); w x,gth*p  
{ 3Qlx/6<  
CloseHandle(h); &S[>*+}{+  
system("pause"); ;vUw_M{P=)  
return 0; 0KN'\KE  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。