Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ManipulateFileAttributes

A Driver to Manipulate DiskFile Attributes such as CreationTime, LastAccessTime, LastWriteTime, ChangeTime using a runtime driver.

NTSTATUS ManipulateFileAttributes(PUNICODE_STRING FileName) {
    OBJECT_ATTRIBUTES objAttr;
    HANDLE fileHandle;
    IO_STATUS_BLOCK ioStatusBlock;
    FILE_BASIC_INFORMATION fileInfo;

    InitializeObjectAttributes(&objAttr, FileName, OBJ_KERNEL_HANDLE | OBJ_CASE_INSENSITIVE, NULL, NULL);

    NTSTATUS status = ZwCreateFile(&fileHandle, FILE_WRITE_ATTRIBUTES, &objAttr, &ioStatusBlock, NULL, 0,
        FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_OPEN, 0, NULL, 0);

    if (NT_SUCCESS(status)) {
        fileInfo.CreationTime.QuadPart = 0x01C7D0B360D80000;
        fileInfo.LastAccessTime.QuadPart = 0x01C7D0B360D80000;
        fileInfo.LastWriteTime.QuadPart = 0x01C7D0B360D80000;
        fileInfo.ChangeTime.QuadPart = 0x01C7D0B360D80000;

        status = ZwSetInformationFile(fileHandle, &ioStatusBlock, &fileInfo, sizeof(fileInfo), FileBasicInformation);
        ZwClose(fileHandle);
    }

    return status;
}

Tbh I have no clue what the use-case for this would be but I thought it would be a cool release.

About

A Driver to Manipulate Executable Attributes such as CreationTime, LastAccessTime, LastWriteTime, ChangeTime

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages