Commit Graph

847 Commits

Author SHA1 Message Date
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
3d0ba3fee4 Fix failing check 2025-04-24 18:02:11 -03: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
02ed4fbb03 Make sure root windows_path have slash at the end 2025-04-24 01:02:27 -03:00
Igor Pissolati
6d0ad1dd61 Stub FileBasicInformation in NtSetInformationFile 2025-04-24 01:01:09 -03:00
Igor Pissolati
0474eef373 Fix failing test 2025-04-23 19:38:19 -03:00
Igor Pissolati
a3a786c6ec Fix failing check 2025-04-23 18:41:56 -03:00
Igor Pissolati
21af0de2c8 Add c_437.nls to create-root.bat 2025-04-23 18:24:36 -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
9d0de32cde Add new tests 2025-04-23 18:21:29 -03:00
Maurice Heumann
ab19a2de84 Switch back to original icicle 2025-04-23 09:09:00 +02: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
Igor Pissolati
16e7cac48a Retry loading using normal path when wow6432node path is not found 2025-04-23 01:00:30 -03:00
Igor Pissolati
21fc460db8 Update create-root.bat 2025-04-23 00:56:36 -03:00
robert-yates
b2296930d3 prepare 32bit support with name and class inheritance modifications 2025-04-22 12:01:40 +02: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
b5abcce65d Fix NtUserGetAtomName signature 2025-04-22 03:45:52 -03:00
Igor Pissolati
657bf6121a Apply suggested changes 2025-04-22 03:44:45 -03:00
Igor Pissolati
5f2c15e642 Fix x86 build 2025-04-22 02:51:19 -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
039b276fb7 Add 3 new syscall stubs 2025-04-22 01:23:27 -03:00
Igor Pissolati
6deefb932f Add NtUserGetAtomName syscall 2025-04-22 01:19:05 -03:00
Igor Pissolati
927d7fcd27 Merge branch 'pr/3' of https://github.com/Igoorx/emulator into pr/3 2025-04-21 21:53:38 -03:00
Igor Pissolati
b40cfa2bed Apply suggested changes 2025-04-21 21:52:40 -03:00
Igor Pissolati
c59002e263 Fix null dereference issue 2025-04-20 18:34:20 -03:00
Igor Pissolati
7dbf498ea9 Fix clang-tidy warning (attempt 2) 2025-04-20 17:08:54 -03:00
Igor Pissolati
5eba6d5e8d Fix clang-tidy warning 2025-04-20 16:44:12 -03:00
Igor Pissolati
140d1dd5b3 Fix failing checks 2025-04-20 16:26:08 -03:00
Igor Pissolati
763b8fc760 Improvements to registry syscalls 2025-04-20 16:09:04 -03:00
Igor Pissolati
317d90d7d8 Merge branch 'main' into pr/1 2025-04-20 01:34:06 -03:00
Igor Pissolati
e74b1dad5a Fix formatting (attempt 2) 2025-04-19 17:23:03 -03:00
Igor Pissolati
8e48793f47 Fix formatting 2025-04-19 17:12:41 -03:00
Igor Pissolati
d8f8bd07f9 Fix failed check 2025-04-19 17:12:27 -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
Igor Pissolati
88a744a756 Hopefully fix formatting 2025-04-19 15:29:17 -03:00
Igor Pissolati
09b25d8c89 Fix NtDeleteAtom signature 2025-04-19 15:18:26 -03:00
Igor Pissolati
6b1df674ab Fix non-windows builds 2025-04-19 15:07:12 -03:00
Igor Pissolati
3dfad0f789 Add more atom-related syscalls 2025-04-19 13:52:13 -03:00
momo5502
a8d25b0a5c Save another DLL 2025-04-19 09:23:11 +02:00
momo5502
3e53325c03 Fix compilation 2025-04-19 08:35:50 +02:00
momo5502
b5c37e6a92 Disable object watching for GCC 2025-04-19 08:25:58 +02:00