Commit Graph

46 Commits

Author SHA1 Message Date
Igor Pissolati
7a8e6dd459 Fix Windows 2019 Time Zone Test 2025-04-28 18:47:24 -03:00
Igor Pissolati
a629f77e31 Miscellaneous fixes 2025-04-28 12:48:28 -03:00
Maurice Heumann
be9d0164d7 Improvements to NtQueryDirectoryFileEx (#235)
This PR aims to:
- [Stub FileBasicInformation in
NtSetInformationFile](6d0ad1dd61)
- [Make sure a root `windows_path` have slash at the
end](02ed4fbb03),
this was necessary because `directory_iterator` fails when the path is
`C:` (without slash)..
- [Improve
NtQueryDirectoryFileEx](f6ec1fc9cc)
by adding filename filtering support, including more basic file
information in the struct, and fixing an issue that prevented the last
chunk of files from being enumerated correctly.
2025-04-25 08:32:47 +02:00
Igor Pissolati
61c6ecb65b Fix small oversight 2025-04-24 18:01:17 -03:00
Igor Pissolati
97ec131c50 Improvements to NtQueryDirectoryFileEx 2025-04-24 17:31:49 -03:00
Igor Pissolati
6d0ad1dd61 Stub FileBasicInformation in NtSetInformationFile 2025-04-24 01:01:09 -03:00
Igor Pissolati
a3a786c6ec Fix failing check 2025-04-23 18:41:56 -03:00
Igor Pissolati
3b918f2d5c Stub SystemFirmwareTableInformation in NtQuerySystemInformation 2025-04-23 18:24:12 -03:00
Igor Pissolati
7fef4ebc24 Handle TokenGroups in NtQueryInformationToken 2025-04-23 18:22:06 -03:00
Igor Pissolati
44fcc9970d Fix failing checks 2025-04-23 01:51:37 -03:00
Igor Pissolati
134b45d1e8 Fix vm crash when teb.ThreadLocalStoragePointer is null 2025-04-23 01:16:31 -03:00
Igor Pissolati
39d40a7f2f Simplify TimeZone query fix 2025-04-23 01:14:35 -03:00
Igor Pissolati
8dfcf2755c Add stub for NtAreMappedFilesTheSame and modify NtSetInformationKey to return success 2025-04-23 01:03:42 -03:00
Maurice Heumann
1b9e114737 Improvements to locale syscalls, fix TimeZone query and add more syscalls (#223)
This PR aims to do the following:
- Add the `NtUserGetAtomName` syscall.
- Add stub handlers for `NtUserSetWindowsHookEx`,
`NtUserUnhookWindowsHookEx`, and `NtUserCreateWindowEx`.
- Implement `NtGetNlsSectionPtr` (for Code Pages), add
`NtQueryDefaultUILanguage`, and improve `NtQueryInstallUILanguage`.
- Handle `SystemTimeZoneInformation`,
`SystemCurrentTimeZoneInformation`, and
`SystemDynamicTimeZoneInformation` in `NtQuerySystemInformation`.
- Skip `ThreadAffinityMask` in `NtSetInformationThread`.
- Fix `NtConnectPort` to allow TimeZone queries to work properly. This
is probably the most problematic change here because it required messing
with the shared section and hardcoding an offset (2504). Initializing
the data in this offset seems necessary for calls like
`GetTimeZoneInformation` to succeed, so maybe there's no other way
around it.
2025-04-22 09:08:42 +02:00
Igor Pissolati
8970c4b1e6 Fix x86 build (again) 2025-04-22 03:54:13 -03:00
Igor Pissolati
bd8818c335 Fix failing checks 2025-04-22 02:35:54 -03:00
Igor Pissolati
7e93f5d7f6 Improvements to locale syscalls and fix TimeZone query 2025-04-22 01:48:52 -03:00
Igor Pissolati
08098da538 Skip ThreadAffinityMask in NtSetInformationThread 2025-04-22 01:25:15 -03:00
Igor Pissolati
7dbf498ea9 Fix clang-tidy warning (attempt 2) 2025-04-20 17:08:54 -03:00
Igor Pissolati
763b8fc760 Improvements to registry syscalls 2025-04-20 16:09:04 -03:00
Igor Pissolati
8e48793f47 Fix formatting 2025-04-19 17:12:41 -03:00
Igor Pissolati
c702bedaee Add 3 new syscall handlers 2025-04-19 16:33:34 -03:00
Igor Pissolati
5d19803020 Fix NtOpenSection 2025-04-19 16:29:47 -03:00
Maurice Heumann
91c7ce43a1 Fix reading unicode strings 2025-04-14 15:03:16 +02:00
Maurice Heumann
f3caea91de Fix remaining structs 2025-04-14 15:03:05 +02:00
Maurice Heumann
0e9cffa5cb More 32 bit fixes 2025-04-14 14:34:06 +02:00
Maurice Heumann
a6dd9251b8 Prepare 32 bit support 2025-04-14 13:57:54 +02:00
RektInator
af26c8de61 fix: resolve comments, comment unused parameter in section.cpp 2025-04-14 13:00:36 +02:00
RektInator
e41a3be497 fix: comment unused parameter names 2025-04-14 12:56:09 +02:00
RektInator
6379370a50 fix(syscalls): fix VirtualQuery return size, ignore unimplemented APC flags and log a warning. 2025-04-14 12:43:11 +02:00
RektInator
7bf0b67167 wip 2025-04-14 12:23:08 +02:00
momo5502
52d4e7e281 Fix region info query 2025-04-14 07:46:53 +02:00
momo5502
4f8c374b01 Support initial memory protection 2025-04-14 07:46:19 +02:00
momo5502
7910021124 Fix apc dispatching 2025-04-13 14:28:35 +02:00
momo5502
30e77f5f9a Fix NtQueueApcThreadEx 2025-04-13 14:12:14 +02:00
momo5502
a3f811a466 Support all APC queue syscalls 2025-04-13 13:39:09 +02:00
momo5502
c1e621c2cd Basic hacky working APC dispatching 2025-04-13 13:39:09 +02:00
momo5502
a8926592bc Prepare APC dispatching 2025-04-13 13:39:09 +02:00
momo5502
bb4b159850 Implement NtQueueApcThreadEx2 2025-04-13 13:39:09 +02:00
momo5502
82227e4d41 Prepare NtQueueApcThreadEx2 support 2025-04-13 13:39:08 +02:00
momo5502
c0252a5f71 Add partial NtContinueEx support 2025-04-13 13:39:08 +02:00
momo5502
f58dec38a2 Prepare APC support 2025-04-13 13:39:08 +02:00
momo5502
891dafaf26 Cleanup file syscalls 2025-04-11 21:05:11 +02:00
momo5502
facfe2b6bf More system information syscall cleanup 2025-04-11 17:59:30 +02:00
momo5502
915b31c093 Cleanup system information syscalls 2025-04-11 17:44:57 +02:00
RektInator
8bc49bdd03 refactor(windows-emulator/syscalls): partial refactor of syscalls.cpp, splits syscall implementations over multiple files 2025-04-11 16:42:00 +02:00