• 114阅读
  • 0回复

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

上一主题 下一主题
离线laibaxiao1
 

发帖
32
金钱
240
威望
240
贡献值
0
诚信值
0
社区警告
0
纠纷记录
0
冻结资金
0
保证金
0
只看楼主 倒序阅读 楼主   发表于: 04-26
分区序列号修改工具.rar (643 K) 下载次数:0 6^uq?  
QQ377718625 e& 7JpT  
1 求个修改系统分区卷GUID C++源码(编译后能改成功的) /[O(ea$U  
2 下面内容里面的有问题仅供参考。  pF&( 7u  
3 执行到下面标记位置程序就秒退了。 %TX@I$Ba  
#define _CRT_SECURE_NO_WARNINGS 0.dgoq 3u  
#include <windows.h> J%x6  
#include <winternl.h> m6n?bEl6I  
#include <stdio.h> b}0,\B%  
Sczc5FG  
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ne-wdm-_fsinfoclass JXCCTUO  
MHSs!^/g5  
typedef enum _FSINFOCLASS { O_$m!5ug  
FileFsVolumeInformation = 1, p+l!6  
FileFsLabelInformation, 7#@cz5Su  
FileFsSizeInformation, Ge,;8N88  
FileFsDeviceInformation, :{qv~&+C  
FileFsAttributeInformation, Se HagKA  
FileFsControlInformation, (EK"V';   
FileFsFullSizeInformation, 5V5%/FU m  
FileFsObjectIdInformation, iOwx0GD.n  
FileFsDriverPathInformation, *&?c(JU;<  
FileFsMaximumInformation [`p=(/I&L  
} FS_INFORMATION_CLASS, * PFS_INFORMATION_CLASS; W- i&sUgy  
ul u9'ch  
typedef NTSTATUS(*FZwSetVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); kHXL8k#T  
gT$Ju88  
typedef NTSTATUS(*FZwQueryVolumeInformationFile)(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS); hZh9uI7.  
4$qWiG~  
int main(int argc, char* argv[]) GN-mrQo  
{ )\sc83L  
const wchar_t* device = L"\\.\c:"; rrQQZ5fhb  
0|2%vh>J  
HANDLE h = CreateFileW(device, 0x40000000, 3, 0, 3, 0x80, 0); K#*reJ}K  
if (h == INVALID_HANDLE_VALUE) return 0; ]d,S749(s  
printf("handle is %d \n", h); {S,l_d+(  
R>,:A%?^b5  
HMODULE m = GetModuleHandleW(L"ntdll.dll"); dlJbI}-v=  
if (!m) return 0; ktj]:rCkF  
printf("module is %p \n", m); *F ? 8c  
% FXfqF9  
FZwSetVolumeInformationFile _ZwSetVolumeInformationFile = (FZwSetVolumeInformationFile)GetProcAddress(m, "ZwSetVolumeInformationFile"); wSb 1"a  
FZwQueryVolumeInformationFile _ZwQueryVolumeInformationFile = (FZwQueryVolumeInformationFile)GetProcAddress(m, "ZwQueryVolumeInformationFile"); m<{< s T  
if (!_ZwSetVolumeInformationFile || !_ZwQueryVolumeInformationFile) return 0; B+[A]dgS  
printf("_ZwSetVolumeInformationFile %p \n", _ZwSetVolumeInformationFile); 8CnRi  
printf("_ZwQueryVolumeInformationFile %p \n", _ZwQueryVolumeInformationFile); O<96/a'  
s4 6}s{6   
NTSTATUS s; mocI&=EF2X  
const int size = 1024 * 10; d@ Y}SWTB  
char* buf = new char[size]; M%1}/!J3  
memset(buf, 0, size); ,S'p %g  
IO_STATUS_BLOCK status{ 0 }; BDVHol*g  
Sl-v W  
typedef struct _FILE_FS_VOLUME_INFORMATION { {T4  
    LARGE_INTEGER VolumeCreationTime; z74in8]  
    ULONG VolumeSerialNumber; ,Vh.T&X5  
    ULONG VolumeLabelLength; la( <8  
    BOOLEAN SupportsObjects; ZZcEt  
    WCHAR VolumeLabel[1]; 4!+pc-}-  
} FILE_FS_VOLUME_INFORMATION, * PFILE_FS_VOLUME_INFORMATION; QFg sq{  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsVolumeInformation); <,3^|$c%  
PFILE_FS_VOLUME_INFORMATION p1 = (PFILE_FS_VOLUME_INFORMATION)buf; 6fd+Q  /  
p1->VolumeSerialNumber = 0; 6T +FH;h  
p1->VolumeLabel[0] = L'\0'; Hu.t 3:w  
s = _ZwSetVolumeInformationFile(h, &status, p1, size, FileFsVolumeInformation); g0>,%b  
printf("%p \n", s); /rq VB|M  
@) s,{F  
typedef struct _FILE_FS_OBJECTID_INFORMATION { rA2 g&  
    UCHAR ObjectId[16]; r) $+   
    UCHAR ExtendedInfo[48]; {.Z}5K  
} FILE_FS_OBJECTID_INFORMATION, * PFILE_FS_OBJECTID_INFORMATION; M&N B/  
s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsObjectIdInformation);//秒退了。************** A;/-u<f  
PFILE_FS_OBJECTID_INFORMATION p2 = (PFILE_FS_OBJECTID_INFORMATION)buf; }:u~K;O87  
p2->ObjectId[0] = 55; ?shIj;c[  
p2->ObjectId[1] = 55; +<xQM h8  
p2->ObjectId[2] = 55; [[>wB[w  
p2->ObjectId[3] = 55; CamE'  
p2->ObjectId[4] = 55; Nc+,&R13m  
p2->ObjectId[5] = 55; }e2(T  
p2->ObjectId[6] = 55; ;3\3q1oX  
p2->ObjectId[7] = 55; Q-MQ9'  
s = _ZwSetVolumeInformationFile(h, &status, p2, size, FileFsObjectIdInformation);//秒退了。************** :T]o)  
printf("%p \n", s); %CS@g.H=_  
MS0Fl|YA  
//typedef struct _FILE_FS_DRIVER_PATH_INFORMATION { tj  Gd )  
//  BOOLEAN DriverInPath; ?CC"Yij  
//  ULONG   DriverNameLength; mjWU0Gh%*  
//  WCHAR   DriverName[1]; ~=8u N<  
//} FILE_FS_DRIVER_PATH_INFORMATION, * PFILE_FS_DRIVER_PATH_INFORMATION; #{ k|I$  
//PFILE_FS_DRIVER_PATH_INFORMATION p3 = (PFILE_FS_DRIVER_PATH_INFORMATION)buf; 0{dz5gUde  
//p3->DriverInPath = TRUE; T/^Hz4uA7  
//p3->DriverNameLength = 0x200; qw@puw@D  
//wcscpy(p3->DriverName, L"\\\\?\\Volume{c6708e20-53cd-4265-a031-af74f04ca24b}"); w=^`w:5X  
//s = _ZwQueryVolumeInformationFile(h, &status, buf, size, FileFsDriverPathInformation); %Eb%V($  
LbaK={tR  
CloseHandle(h); ogL Etq T  
system("pause"); jV? }9L^;  
return 0; oI}kH=<,  
}
广海社区提醒您:
1.忘记账号、密码、安全问题等常见站务问题,请查看论坛左上角站点帮助
2.请理性对待商业信息,如有交易,强烈建议您选择广海中介进行交易
3.欢迎购买广海社区广告位,感谢您的支持,报价及位置详见广海社区广告服务
4.特殊会员售价50元,积分(金钱和威望)无限,更多权限,欢迎到广海淘宝购买
5.广海社区唯一域名ghoffice.net,唯一QQ190959022,其他均为假冒,谨防上当受骗
6.如您被骗,请查看广海社区举报中心,按照要求和流程提交举报材料,未经核实的举报帖子将一律删除
7.如您发现违规违法内容,欢迎点击帖子右下角举报按钮进行举报,也可到站务办公版块匿名发帖举报
免责声明
文中内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 私下交易造成损失的,本站概不负责。