• 122阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 倒序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 He0=-AR8  
QQ377718625 ,O1O8TwUB0  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) r%wA&FQ8U  
2 下面内容里面的有问题仅供参考。 +c:3o*  
3 执行到下面标记位置程序就秒退了。 7Y=cn_ wU  
#define _CRT_SECURE_NO_WARNINGS ^\ ?O4,L  
#include <windows.h> Y**|N8e  
#include <winternl.h> va/m ~k|i  
#include <stdio.h> -@^Zq}  
W-RqN!snJ8  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass Nd:R" p*8  
Uts"aQ  
typedef enum _FSINFOCLASS { fQWI w  
FileFsVolumeInformation = 1, LW# M @  
FileFsLabelInformation, YF#H Sf7  
FileFsSizeInformation, "_L?2ta  
FileFsDeviceInformation, #L crI  
FileFsAttributeInformation, dGZntT 2D  
FileFsControlInformation, K.tlo^#^B[  
FileFsFullSizeInformation, P7r'ffA  
FileFsObjectIdInformation, ||2Q~*:  
FileFsDriverPathInformation, Vi! Q  
FileFsMaximumInformation >,C4rC+:XN  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; ZZ/cq:3$P  
hovGQHg  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); ~:;3uL s,8  
N;F)jO xsl  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); JnD {J`:  
{s,+^7  
int main(int argc, char* argv[]) KHKS$D  
{ sK$wN4k  
const wchar_t* device = L"\\.\c:"; '2J0>Bla  
fnz y5+9"  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); P`$12<\O1  
if (h == INVALID_HANDLE_VALUE) return 0; "re-@Baw  
printf("handle is %d \n", h); Q^}%c U0  
y-?>*fN o  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); 71Fe Dpe  
if (!m) return 0; VeiElU3  
printf("module is %p \n", m); sfp,Lq`  
u]C`6)>  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); W!$zXwY}(  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); 1 Wg-x0R  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; 7k{2Upg;  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); @mw "W{  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); U IJx*  
{hSGv   
NTSTATUS s; l2v_?j-)x  
const int size = 1024 * 10; <dA8 '7^  
char* buf = new char[size]; RR1A65B  
memset(buf, 0, size); gLD`wfZR  
IO_STATUS_BLOCK status{ 0 }; <Pqv;WI|R  
Pvo#pY^dXX  
typedef struct _FILE_FS_VOLUME_INFORMATION { rt]S\  
    LARGE_INTEGER VolumeCreationTime; [c K^+s)N  
    ULONG VolumeSerialNumber; lYf+V8{  
    ULONG VolumeLabelLength; ;'T{li2  
    BOOLEAN SupportsObjects; 'iSAAwT2aj  
    WCHAR VolumeLabel[1]; -ML6d&cm  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; `Y?t@dd  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); }pNX@C#De  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf;  R)Q 4  
p1->VolumeSerialNumber = 0; KcGsMPJ  
p1->VolumeLabel[0] = L'\0'; .W\ve>;  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); xIbMs4'iEx  
printf("%p \n", s); XY7Qa!>7j  
XR# ;{p+b  
typedef struct _FILE_FS_OBJECTID_INFORMATION { 4Tzd; P6_  
    UCHAR ObjectId[16]; 3{raKM6F  
    UCHAR ExtendedInfo[48]; xc 1A$EY  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; ZU'!iU|8  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** hi{%pi&!T  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; /z."l!u6  
p2->ObjectId[0] = 55; YZ#V#[j'^  
p2->ObjectId[1] = 55; 9~AWng  
p2->ObjectId[2] = 55; `&7RMa4=  
p2->ObjectId[3] = 55; hp!d/X=J_  
p2->ObjectId[4] = 55; <T,A&`/  
p2->ObjectId[5] = 55; 0V,Nv9!S  
p2->ObjectId[6] = 55; vvu<:16  
p2->ObjectId[7] = 55; |fsm8t<~8  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** U0B2 WmT~Q  
printf("%p \n", s); Lrz3   
'3tw<k!1{.  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { XaI;2fMGI  
//  BOOLEAN DriverInPath; ;uI~BV*3  
//  ULONG   DriverNameLength; Y8s;w!/  
//  WCHAR   DriverName[1]; jjOgG-Q  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; ^z1IN-Tm/  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; b= ##A  
//p3->DriverInPath = TRUE; ;#?M)o:q  
//p3->DriverNameLength = 0x200; cH`^D?#se  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); sOFa!bdPW  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); O_@2;iD^^  
,+/zH'U}  
CloseHandle(h); V*n==Nb5L  
system("pause"); Bl.u=I:Y4  
return 0; kka"C]!  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。