Commit Graph

98 Commits

Author SHA1 Message Date
Maurice Heumann
7a663094d6 [NFC] Cleanup project structure a bit (#93) 2025-01-20 20:25:52 +01:00
Elias Bachaalany
1d5c5c2e74 Introducing reflection levels concept into core components (#91)
The idea is to allow as much internal information into inner components.
to not burden all builds, the reflection level can be controlled via the
MOMO_REFLECTION_LEVEL (where 0 means no reflection code is included).

more reflection variables will be introduced as needed.

For now, the memory manager's layout state version is used to track
whether the memory layout is changed or not (at the lowest level). the
win_emu API consumer can use this reflection to decide to whether to
refresh or not expensive computations
2025-01-20 11:19:33 -08:00
momo5502
2e1fa4554a Extract windows-gdb-stub 2025-01-20 20:09:16 +01:00
Elias Bachaalany
8b3c0755b1 mods based on suggestion/feedback 2025-01-19 13:57:45 -08:00
momo5502
77b4ee5e1e Properly read and write registers 2025-01-19 10:18:45 +01:00
Elias Bachaalany
8053889d20 introducing reflection concept into core components
the idea is to allow as much internal information into inner components.
to not burden all builds, the reflection level can be controlled
via the MOMO_REFLECTION_LEVEL (where 0 means no reflection code is
included).

more reflection variables will be introduced as needed.

for now, the memory manager's layout version is used to track whether
the memory layout is changed or not (at the lowest level).
the API consumer can use this to decide to refresh or not expensive
computations
2025-01-18 21:10:28 -08:00
Elias Bachaalany
6879d1b06c fixed typo in 'committed_region' struct 2025-01-17 07:45:01 -08:00
Elias Bachaalany
0c40214c29 exposed region inspection methods
allow inspecting regions from the emulator object.
this is useful for writing advanced tools that use the windows_emulator
library
2025-01-17 07:27:39 -08:00
momo5502
b76dc7cf24 Introduce path_key util
It represents a canonical path that can be used as key
for unordered containers
2025-01-13 19:00:01 +01:00
momo5502
6c2a6ff872 Prepare android support 2025-01-13 08:04:32 +01:00
momo5502
cad5e674e4 Refactor emulator interface 2025-01-09 19:18:20 +01:00
momo5502
bff8420ffd Format all the code 2025-01-06 17:19:26 +01:00
momo5502
fdb0fafa56 Reformat code + small fixes 2025-01-06 09:36:37 +01:00
momo5502
eeac915a55 Fix macOS warnings 2025-01-05 20:14:53 +01:00
momo5502
605d66c237 Fix ADL for serialize/deserialize 2025-01-05 19:31:51 +01:00
momo5502
6b172f5e78 Add macOS support 2025-01-05 17:43:17 +01:00
momo5502
f75f95cc61 Merge remote-tracking branch 'origin/main' into multi-platform-support
# Conflicts:
#	src/analyzer/main.cpp
#	src/emulator/memory_region.hpp
#	src/windows-emulator/io_device.cpp
#	src/windows-emulator/module/module_mapping.cpp
#	src/windows-emulator/process_context.hpp
#	src/windows-emulator/syscalls.cpp
#	src/windows-emulator/windows_emulator.cpp
2025-01-05 14:44:17 +01:00
momo5502
24f53bc498 Fix more compilation issues 2025-01-05 13:25:28 +01:00
momo5502
010fbb2120 Support concise debugger output 2025-01-03 13:22:51 +01:00
robert-yates
12c80f159e add explicit 16bit unicode 2024-12-24 21:08:39 +01:00
momo5502
ce6cb0116b Support more syscalls 2024-12-21 20:18:59 +01:00
momo5502
d3cf88a0c4 Dynamically update KUSD system time 2024-11-23 22:19:05 +01:00
momo5502
325e8115af Replace constructor function with actual constructor call 2024-11-23 19:26:40 +01:00
momo5502
ce6718e932 Fix optional creation 2024-11-23 17:02:01 +01:00
momo5502
84a0aed1d9 Small fixes and additions 2024-11-23 16:44:49 +01:00
momo5502
2c421df771 Fix serialization for MMIO 2024-11-18 18:53:09 +01:00
momo5502
1a23e82f91 Integrate MMIO into the memory manager 2024-11-18 17:15:38 +01:00
momo5502
49a8435f6b Prepare MMIO support 2024-11-18 16:58:23 +01:00
momo5502
804f517e68 Fix tests and compilation 2024-11-17 09:43:02 +01:00
momo5502
a87bb85858 Support afd endpoint serialization 2024-11-17 09:23:45 +01:00
momo5502
78e2a5a80b Fix 2024-11-11 20:51:19 +01:00
momo5502
da5b3e84c4 Force 'lazy' static assert evaluation
This fixes #26
2024-11-11 20:49:58 +01:00
momo5502
d1493867fe Support relative and absolute time
This fixes #23
2024-11-10 15:34:21 +01:00
momo5502
71232d51ab Add memory reading/writing helpers 2024-11-09 16:10:19 +01:00
momo5502
371665290a Implement UDP recvfrom support 2024-11-09 10:02:28 +01:00
momo5502
db34ef29fd Support UDP sending 2024-11-07 20:25:20 +01:00
momo5502
3a26b3a894 Perform retrigger after violation 2024-11-03 20:28:47 +01:00
momo5502
5390d90993 Serialize registry manager 2024-11-03 10:15:42 +01:00
momo5502
d710fb4403 Fix serialization 2024-11-03 10:15:42 +01:00
momo5502
b9e1a0f01b Fix warnings 2024-10-26 17:22:36 +02:00
momo5502
d782c80f3f Prepare support for serialization of non-default-constructible objects 2024-10-25 18:56:16 +02:00
momo5502
8bac2ba407 Fix thread serialization 2024-10-24 19:41:37 +02:00
momo5502
c992d17300 Fix debugging 2024-10-23 17:10:23 +02:00
momo5502
b756bf354f Prepare threading by saving/restoring registers 2024-10-14 18:00:21 +02:00
momo5502
a259072b27 More fuzzing progress 2024-09-24 18:35:34 +02:00
momo5502
10b09b8f51 Prepare fuzzing engine 2024-09-24 14:18:32 +02:00
momo5502
1f5e5c1fad More syscalls 2024-09-22 11:21:49 +02:00
momo5502
f1127ce170 Fix commandline args 2024-09-13 19:06:10 +02:00
momo5502
68cffae5c4 Implement serialization as a concept 2024-09-13 10:03:23 +02:00
momo5502
b68892ceca Support saving and restoring snapshots 2024-09-13 09:52:11 +02:00