Commit Graph

620 Commits

Author SHA1 Message Date
momo5502
ce291728bd Support all registers 2025-01-19 11:30:32 +01:00
momo5502
77b4ee5e1e Properly read and write registers 2025-01-19 10:18:45 +01:00
momo5502
192d5687ff Provide x86_64 target descriptions 2025-01-19 09:37:59 +01:00
momo5502
270dbf000c Better thread exit check 2025-01-19 08:36:01 +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
momo5502
a16c17669d Fix target 2025-01-18 21:14:22 +01:00
momo5502
1a4ea584aa Fix vCont support 2025-01-18 21:01:38 +01:00
momo5502
7c4b1ba3ca Speedup GDB data processing 2025-01-18 20:36:54 +01:00
momo5502
9fc37fa3ef Small cleanup and utils 2025-01-18 19:36:12 +01:00
momo5502
4c5257098c Add logging line for later 2025-01-18 15:59:52 +01:00
momo5502
a0932e6803 Align register behaviour with implementation on main branch 2025-01-18 15:59:13 +01:00
momo5502
3dbd954c60 Fix includes 2025-01-18 15:58:51 +01:00
momo5502
b34ef0e546 Rename interface 2025-01-18 12:56:57 +01:00
momo5502
81fda5f8af Remove mini-gdbstub dependency 2025-01-18 12:49:10 +01:00
momo5502
cc252447d5 Multiple fixes 2025-01-18 12:43:55 +01:00
momo5502
5079b750cd Finish implementation 2025-01-18 11:43:54 +01:00
momo5502
062c20d902 Fix compilation 2025-01-18 09:30:03 +01:00
momo5502
e79d919bbb More fixes 2025-01-18 09:28:23 +01:00
momo5502
2044a3c4ab GDB command progress 2025-01-18 09:20:08 +01:00
momo5502
b180d9629c Refactor gdb interface 2025-01-17 19:50:06 +01:00
momo5502
2f6d17fde6 Process more commands 2025-01-17 18:21:23 +01:00
momo5502
cf76d5b4dc Extract connection handling 2025-01-17 18:02:35 +01:00
momo5502
0253592ae9 Integrate new gdb stub 2025-01-17 17:28:16 +01:00
momo5502
7d62d1e20e Support size limit 2025-01-17 17:28:16 +01:00
momo5502
64179c6580 Introduce helper classes 2025-01-17 17:28:16 +01:00
momo5502
942411686c Progress 2025-01-17 17:28:16 +01:00
momo5502
9e268ea4dc GDB stub progress 2025-01-17 17:28:16 +01:00
momo5502
8adc73de71 Prepare custom gdb-stub implementation 2025-01-17 17:28:16 +01:00
Elias Bachaalany
6879d1b06c fixed typo in 'committed_region' struct 2025-01-17 07:45:01 -08:00
Maurice Heumann
c4d3e480a9 exposed region inspection methods (#85)
allow inspecting regions from the emulator object. this is useful for
writing advanced tools that use the windows_emulator library
2025-01-17 16:34:18 +01:00
Maurice Heumann
e4ccaa1813 added '-r' switch to the analyzer (#84)
command line switch to specify the registry path to use with the
analyzer
2025-01-17 16:32:36 +01: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
Elias Bachaalany
493388beb1 minor mods 2025-01-17 06:33:09 -08:00
Maurice Heumann
d8fd9d3e69 Exposing high level callbacks (#79)
The idea here is to start exposing various high level callbacks from
various sub components (syscalls, device io, etc.).

Consumer of `windows_emulator` can then hook into any callback.


Please give your feedback on this initial commit.
2025-01-17 07:15:13 +01:00
Elias Bachaalany
1b712502bd added '-r' switch to the analyzer
command line switch to specify the registry path to use with the analyzer
2025-01-16 14:00:13 -08:00
Elias Bachaalany
78a11e2a60 expose loaded modules map from the module manager 2025-01-16 12:31:12 -08:00
Robert Yates
c4b76640c7 removed 'CHUNK' macro from global namespace (#81) 2025-01-16 21:20:59 +01:00
Elias Bachaalany
bfd272e818 removed 'CHUNK' macro from global namespace 2025-01-16 12:10:33 -08:00
Elias Bachaalany
5251398288 Update CMakeLists.txt 2025-01-16 12:02:31 -08:00
robert-yates
7773ea6794 add apiset selection code 2025-01-15 20:55:15 +01:00
robert-yates
fbb63b3534 add optional apiset dump tool 2025-01-15 20:55:15 +01:00
robert-yates
c1d7fa7e8b add compression utils 2025-01-15 20:42:02 +01:00
Elias Bachaalany
d70ff1e8f2 minor mods 2025-01-14 23:09:31 -08:00
Elias Bachaalany
e50eb96470 exposing high level callbacks to win_emu 2025-01-14 22:59:41 -08:00
Elias Bachaalany
35dbe09880 replaced more printf() with logger calls 2025-01-14 22:22:01 -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
Elias Bachaalany
a16c1dd654 renamed dependency 'common' to emulator-common
also made it mandatory when using the 'windows-emulator' dep
2025-01-12 12:31:53 -08:00
Elias Bachaalany
051e7a77a7 no need to export anything if MOMO_BUILD_AS_LIBRARY 2025-01-12 11:56:11 -08:00
Elias Bachaalany
c58abdc5fe added MOMO_BUILD_AS_LIBRARY
this allows to build the emulator as a static library.
useful for using the project as a library
2025-01-12 11:43:02 -08:00