Commit Graph

1368 Commits

Author SHA1 Message Date
ahm3dgg
f9fccedf4f Merge branch 'main' of https://github.com/momo5502/sogen into knowndlls-patch 2026-01-13 01:58:32 +02:00
ahm3dgg
0438b7a62b Update module_load_count when unmapping 2026-01-13 01:44:36 +02:00
Igor Pissolati
271fb0f270 Add useful comment to user_callback_dispatch header 2026-01-11 17:12:40 -03:00
Igor Pissolati
2c93915ecc Make Atom case-insensitive 2026-01-11 17:12:15 -03:00
Igor Pissolati
f5fe795028 Fix inadvertent stack pointer overwriting in callback hook 2026-01-11 17:11:17 -03:00
Igor Pissolati
fc036ca2c5 Fix wrong return value of user_handle_table::get_server_info 2026-01-11 17:08:45 -03:00
Igor Pissolati
ffd7058bec Fix NtCreateFile's create_disposition behavior 2026-01-11 17:07:34 -03:00
ahmed
0eae0cac56 Merge branch 'main' into knowndlls-patch 2026-01-11 01:47:34 +02:00
ahm3dgg
92e3ec33cb fix 2026-01-11 01:46:29 +02:00
ahm3dgg
73d82d9ee9 NtOpenSection: Do Case-Insensitive String Comparison And Some Refactoring 2026-01-11 01:41:17 +02:00
ahm3dgg
d54c8bf9ca NtOpenSection: Do Case-Insensitive String Comparison 2026-01-11 01:37:55 +02:00
ahm3dgg
5b03324342 Formatting 2026-01-11 00:32:00 +02:00
ahm3dgg
d9fc7ce614 Formatting 2026-01-11 00:26:44 +02:00
ahm3dgg
8dc54d7816 Clang Tidy Fix 2026-01-11 00:22:35 +02:00
ahm3dgg
fc0853aab6 NtOpenSection: Do Case-Insensitive String Comparison 2026-01-11 00:15:22 +02:00
Maurice Heumann
d70ab2607e Add support for user callbacks (#691)
This PR is my attempt to add support for user callbacks in the emulator.
User callbacks allow the emulator to call guest callbacks from syscalls,
and when the callback finishes running, control returns to the syscall
through the completion method. I've also added a test and implemented
the NtUserEnumDisplayMonitors syscall.

One thing to note is that this implementation isn't faithful to how the
Windows kernel does it, since the kernel uses the KernelCallbackTable
and the `ntdll!KiUserCallbackDispatch` method, and this implementation
currently just calls the callback directly.
2026-01-10 13:59:24 +01:00
ssvine
c49226d7c1 Fix memory_manager serialization 2026-01-10 14:13:09 +03:00
ahm3dgg
6cd94b7f4d Simplify code and remove uncessary comments 2026-01-09 13:36:26 +02:00
ahm3dgg
58d6a10837 Simplify code and remove uncessary comments 2026-01-09 13:35:38 +02:00
ssvine
dd31b6344f Fix user_handle_table memory handling 2026-01-09 10:51:09 +03:00
ahm3dgg
f41e7bf881 Exclude win32u.dll from module_load_count 2026-01-09 06:45:32 +02:00
ahm3dgg
974defb080 Translate FilePath before getting it from module_load_count 2026-01-09 06:00:18 +02:00
ahm3dgg
9161d04417 Clang Format fix 2026-01-09 05:48:35 +02:00
ahm3dgg
ee051fad92 Clang Tidy Fix 2026-01-09 05:45:47 +02:00
ahm3dgg
80fc959221 Formatting Fix 2026-01-09 05:33:35 +02:00
ahm3dgg
0b99e11f99 We can only wish 2026-01-09 05:29:19 +02:00
ahm3dgg
f0b8e56933 We can only wish 2026-01-09 04:56:23 +02:00
ahm3dgg
c58ad0153e We can only wish 2026-01-09 03:41:22 +02:00
ahm3dgg
48cb637571 Workaround win32u only 2026-01-09 03:29:50 +02:00
ahm3dgg
a728db63de Workaround win32u only 2026-01-09 03:28:35 +02:00
ahm3dgg
37db1c635f Formatting 2026-01-09 03:14:53 +02:00
ahm3dgg
80db2420e6 Formatting 2026-01-09 03:10:21 +02:00
ahm3dgg
8481cdfb5d Use std::map instead of std::unordered_map for data that will be serialized 2026-01-09 03:09:42 +02:00
ahm3dgg
833fd610da Test CI/CD 2026-01-09 00:23:35 +02:00
Igor Pissolati
d33ef2d93f Avoid memory hook being triggered twice for the same callback 2026-01-08 16:59:09 -03:00
ahm3dgg
762d732056 Format fix 2026-01-08 19:49:41 +02:00
ahm3dgg
871e249227 Safety check for api-set ValueCount 2026-01-08 19:46:51 +02:00
ahm3dgg
a53addef5f Serialize & Deserialize module_load_count 2026-01-08 19:23:25 +02:00
Brian Wynn
7ba5a7b2e4 Revert "module manager: safer ldr init block setup" 2026-01-08 17:37:01 +08:00
ahm3dgg
06cc62042c Serialize and Deserialize KnownDLLs Tables 2026-01-08 00:36:53 +02:00
ahm3dgg
bb98f2cee3 no need to set maximum size for section 2026-01-07 21:03:52 +02:00
ahm3dgg
63fad67e8f no need to set maximum size 2026-01-07 20:49:37 +02:00
ahm3dgg
f12766f027 use local path for fs ops 2026-01-07 20:34:33 +02:00
ahm3dgg
49ae9ef68a Add dummy stub for NtFlushInstructionCache 2026-01-07 20:21:19 +02:00
Igor Pissolati
d5d73f42c9 Improve clarity in dispatch_user_callback 2026-01-07 15:01:02 -03:00
ahm3dgg
0b47eb77f1 Formatting fix 2026-01-07 19:54:34 +02:00
ahm3dgg
1ec9816d9a Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH in case a 64-bit process tries to map a 32-bit executable 2026-01-07 19:50:26 +02:00
ahm3dgg
fdcc7455a1 Separated KnownDLLs and KnownDLLs32 2026-01-07 19:37:36 +02:00
ahm3dgg
72ea3e0f0d format fix 2026-01-07 09:35:13 +02:00
ahm3dgg
200b39359e Fix 2026-01-07 09:33:06 +02:00