Added stubs for IoCreateSymbolicLink and NtCreateFile.

This commit is contained in:
Cody Brocious 2016-05-14 20:08:16 -06:00
parent 1853ef2d79
commit 68c11a4161
3 changed files with 59 additions and 19 deletions

View file

@ -13,7 +13,7 @@ IOManager::IOManager() {
for(auto dir : dirs)
create_directory(dir);
create_link("/Device/Harddisk0/partition1", "D:");
create_link("/Device/Harddisk0/partition1", "T:");
}
shared_ptr<IOHandle> IOManager::open(string path) {

View file

@ -33,15 +33,15 @@ void threadex_proxy(uint32_t tid, uint32_t up) {
NTSTATUS NTAPI kernel_PsCreateSystemThreadEx(
OUT PHANDLE ThreadHandle,
IN ULONG ThreadExtraSize,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
OUT PULONG ThreadId OPTIONAL,
IN PVOID StartContext1,
IN PVOID StartContext2,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebugStack,
IN PKSTART_ROUTINE StartRoutine
IN ULONG ThreadExtraSize,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
OUT PULONG ThreadId OPTIONAL,
IN PVOID StartContext1,
IN PVOID StartContext2,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebugStack,
IN PKSTART_ROUTINE StartRoutine
) {
if(CreateSuspended) {
log("Suspended threads not supported.");
@ -62,8 +62,8 @@ NTSTATUS NTAPI kernel_PsCreateSystemThreadEx(
void NTAPI kernel_MmPersistContiguousMemory(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN Persist
IN ULONG NumberOfBytes,
IN BOOLEAN Persist
) {
//log("Ignore MmPersistContiguousMemory");
}
@ -75,8 +75,8 @@ PVOID NTAPI kernel_MmAllocateContiguousMemory(IN ULONG NumberOfBytes) {
uint32_t kernel_LaunchDataPage = 0;
uint32_t kernel_IdexChannelObject = 0;
XBOX_HARDWARE_INFO kernel_XboxHardwareInfo = {
0xC0000035,
0,0,0,0
0xC0000035,
0,0,0,0
};
uint32_t kernel_XboxKrnlVersion = 0;
@ -240,11 +240,11 @@ NTSTATUS NTAPI kernel_NtClose(HANDLE handle) {
}
NTSTATUS NTAPI kernel_NtQueryVolumeInformationFile(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
OUT PVOID FileInformation,
IN ULONG Length,
IN FS_INFORMATION_CLASS FileInformationClass
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
OUT PVOID FileInformation,
IN ULONG Length,
IN FS_INFORMATION_CLASS FileInformationClass
) {
if(IoStatusBlock)
debug("Ignoring status block");
@ -265,3 +265,26 @@ NTSTATUS NTAPI kernel_NtQueryVolumeInformationFile(
}
return STATUS_SUCCESS;
}
NTSTATUS NTAPI kernel_IoCreateSymbolicLink(
IN PSTRING SymbolicLinkName,
IN PSTRING DeviceName
) {
log("IoCreateSymbolicLink('%s', '%s')", SymbolicLinkName->Buffer, DeviceName->Buffer);
return STATUS_SUCCESS;
}
NTSTATUS NTAPI kernel_NtCreateFile(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions
) {
log("NtCreateFile('%s')", ObjectAttributes->ObjectName->Buffer);
return STATUS_SUCCESS;
}

View file

@ -93,3 +93,20 @@ NTSTATUS NTAPI kernel_NtQueryVolumeInformationFile(
IN ULONG Length,
IN FS_INFORMATION_CLASS FileInformationClass
);
NTSTATUS NTAPI kernel_IoCreateSymbolicLink(
IN PSTRING SymbolicLinkName,
IN PSTRING DeviceName
);
NTSTATUS NTAPI kernel_NtCreateFile(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions
);