• 120阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 倒序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 UX03"gX  
QQ377718625 ">03~:oA  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) x[zKtX  
2 下面内容里面的有问题仅供参考。 Id; mn}+~  
3 执行到下面标记位置程序就秒退了。 aIY$5^x  
#define _CRT_SECURE_NO_WARNINGS 4{c`g$j>  
#include <windows.h> yZQ1] '^31  
#include <winternl.h> TZ)(ZKX*R  
#include <stdio.h> _$~ex ~v  
34HFrMi  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass PsacXZNs\N  
X*(gT1"t  
typedef enum _FSINFOCLASS { Z8N@e<!*~8  
FileFsVolumeInformation = 1, "~B~{ _<j  
FileFsLabelInformation, &?&' "c{;m  
FileFsSizeInformation, H rM)jC<~  
FileFsDeviceInformation, ':9%3Wq]j  
FileFsAttributeInformation, `1}HWLBX.  
FileFsControlInformation, )WzGy~p8K  
FileFsFullSizeInformation, A632 :V  
FileFsObjectIdInformation, x A@|I#  
FileFsDriverPathInformation, qFB9,cUqh  
FileFsMaximumInformation EG8%~k+R  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; \ >&@lA  
Q3'(f9 x  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); Tq_1wX'\  
2&3eAJC  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); +F#=`+V  
})h'""i&xn  
int main(int argc, char* argv[]) y=y/d>=w  
{ R V_MWv  
const wchar_t* device = L"\\.\c:"; 9CgXc5  
;F" kD  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); bgkbw E  
if (h == INVALID_HANDLE_VALUE) return 0; R;5QD`  
printf("handle is %d \n", h); eG a#$x?.  
qen44;\L  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); h'z+8X_t  
if (!m) return 0; WoC\a^V  
printf("module is %p \n", m); f]O5V$!RuE  
s:qxAUi\/  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); iPR!JX _  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); qJe&jLZa  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; h Kp,4D>2_  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); :..E:HdYO  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); yHV^a0e7EH  
k:&?$  
NTSTATUS s; `Pz!SJ|  
const int size = 1024 * 10; i!/h3%=  
char* buf = new char[size]; 3 LZL!^ 5N  
memset(buf, 0, size); &VtWSq-)  
IO_STATUS_BLOCK status{ 0 }; w yuJSB  
<ls i.x\y<  
typedef struct _FILE_FS_VOLUME_INFORMATION { *+4>iL*:  
    LARGE_INTEGER VolumeCreationTime; \rB/83[;u  
    ULONG VolumeSerialNumber; Fj4l %=  
    ULONG VolumeLabelLength; 7M&.UzIY`  
    BOOLEAN SupportsObjects; 0`aHwt/F  
    WCHAR VolumeLabel[1]; %FXIlH5  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; 3M`hn4)K  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); 4okHAv8;  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; MZ >0K  
p1->VolumeSerialNumber = 0; :~qtv s;{  
p1->VolumeLabel[0] = L'\0'; y&KoL\  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); v)v{QNQp^  
printf("%p \n", s); FcJ .)U  
|TNi Ky  
typedef struct _FILE_FS_OBJECTID_INFORMATION { =PeW$q+  
    UCHAR ObjectId[16]; x 0TnS #  
    UCHAR ExtendedInfo[48]; 3\+[38 _  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; ~7)rKHau  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** ^"6D0!'N  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; ~]m@k'n  
p2->ObjectId[0] = 55; [ 5}cU{M  
p2->ObjectId[1] = 55; ?[*@T2Ck  
p2->ObjectId[2] = 55; W? 6  
p2->ObjectId[3] = 55; |yId6v  
p2->ObjectId[4] = 55; Xm 0&U?dZB  
p2->ObjectId[5] = 55; ^HOwN<}`#  
p2->ObjectId[6] = 55; u j+.L6S  
p2->ObjectId[7] = 55; VygXhh^7\  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** XQ+-+CD  
printf("%p \n", s); 9>} (]T  
!<['iM  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { ?$`1%Y9  
//  BOOLEAN DriverInPath; eX]9m Q]E  
//  ULONG   DriverNameLength; ^| a&%wxA  
//  WCHAR   DriverName[1]; qx#ghcU  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; sbq44L)  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; ZQJw2LAgO  
//p3->DriverInPath = TRUE; KY(l<pm  
//p3->DriverNameLength = 0x200; i85+p2i7  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); gzJ{Gau{)  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); \|b1s @c8  
|tolgdj  
CloseHandle(h); o+6^|RP  
system("pause"); Kr+Bt y  
return 0; eW }jS/g`  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。