• 83阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
31
金钱
270
威望
270
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 倒序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 N93E;B  
QQ377718625 vf =  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) XZInu5(  
2 下面内容里面的有问题仅供参考。 3DHm9n+/:  
3 执行到下面标记位置程序就秒退了。 DPwSg\*)  
#define _CRT_SECURE_NO_WARNINGS o W[,EW+u  
#include <windows.h> TUaK:*x*  
#include <winternl.h> j VZi_de  
#include <stdio.h> }$)<k  
K_5&_P1  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass @5y(>>C}8%  
W.|6$hRl)  
typedef enum _FSINFOCLASS { &~%@QC/  
FileFsVolumeInformation = 1, %p9bl ,x  
FileFsLabelInformation, X w8i l  
FileFsSizeInformation, nB5[]x'  
FileFsDeviceInformation, y]l"u=$Tr{  
FileFsAttributeInformation, %RN-J*s]  
FileFsControlInformation, c-.>C)  
FileFsFullSizeInformation, X*"K g  
FileFsObjectIdInformation, lnDDFsA  
FileFsDriverPathInformation, \uk#pL  
FileFsMaximumInformation kpH;D= ;  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; ?6QJP|kE  
g#4gGhI  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); j;v%4G  
j''Iai_  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); L0kNt &di  
$5b|@  
int main(int argc, char* argv[]) {h"\JI!  
{ h)rf6*hw  
const wchar_t* device = L"\\.\c:"; JF*g!sV%  
-W_s]oBg  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); J,O@T)S@  
if (h == INVALID_HANDLE_VALUE) return 0; m GhJn  
printf("handle is %d \n", h); { +2cRr.  
IDh`0/i]  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); ]M(mq`K  
if (!m) return 0; mr!I}I7x&x  
printf("module is %p \n", m); JP4Moq~r   
a<wZv-\Vau  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); DANSexW  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); `#rfp 9w  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; `z_7[$\~  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); pxxFm~"d  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); YfwJBz D  
@q/1m~t  
NTSTATUS s; `yAo3A9vk  
const int size = 1024 * 10; Fnpn_O XlH  
char* buf = new char[size]; @MB _gt)7?  
memset(buf, 0, size); *Zi%Q[0Me  
IO_STATUS_BLOCK status{ 0 }; \+3Wd$I  
pq3  A%|  
typedef struct _FILE_FS_VOLUME_INFORMATION { !B lk=L+p  
    LARGE_INTEGER VolumeCreationTime; ~5NGDT#L*  
    ULONG VolumeSerialNumber; N1~V +_mM  
    ULONG VolumeLabelLength; HY4E  
    BOOLEAN SupportsObjects; Pp_3 n yQ  
    WCHAR VolumeLabel[1]; io{H$  x(  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; } +4Bf+u:  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); BozK!"R_<  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; ,-3(^d\1F  
p1->VolumeSerialNumber = 0; s[q4K  
p1->VolumeLabel[0] = L'\0'; nV3 7` I  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); B)]{]z0+`  
printf("%p \n", s); 7V{"!V5  
1Wk EPj,  
typedef struct _FILE_FS_OBJECTID_INFORMATION { 5%+}rSn7  
    UCHAR ObjectId[16]; r ` &|) Hx  
    UCHAR ExtendedInfo[48]; <aaDW  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; [ 5W#1 &  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** WcwW@cY7\  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; %^=!s  
p2->ObjectId[0] = 55; RQCQGa^cP  
p2->ObjectId[1] = 55; Kk>qgi$  
p2->ObjectId[2] = 55; 5 ek %d  
p2->ObjectId[3] = 55; h.$__Gs  
p2->ObjectId[4] = 55; q#&#*6 )B  
p2->ObjectId[5] = 55; R.H\b!  
p2->ObjectId[6] = 55; {7Avba  
p2->ObjectId[7] = 55; 4E-A@FR  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** X8 )>}#:  
printf("%p \n", s); $p3Wjf:bH  
5^K#Tj ;2  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { 2 dD<]  
//  BOOLEAN DriverInPath; m"( d%N7  
//  ULONG   DriverNameLength; RzRvu]]8  
//  WCHAR   DriverName[1]; 'ZH<g8:=@  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; M`P]cX)x  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; W)!{U(X  
//p3->DriverInPath = TRUE; 2nU NI U  
//p3->DriverNameLength = 0x200; N>fYH.c3Y  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); $U1kP?pR  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); P5}[*k%DQw  
X$ B]P 7G7  
CloseHandle(h); G;HlII9x[  
system("pause"); oPu|Q^I=  
return 0; s#4ew}  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。