Commit Graph

998 Commits

Author SHA1 Message Date
Maurice Heumann
d9b6aefeff Run isolated windows test to reduce CI load (#190) 2025-04-11 11:37:44 +02:00
momo5502
7f6edb46f7 Run isolated windows test to reduce CI load 2025-04-11 11:01:53 +02:00
Maurice Heumann
1751ec6e9a Group backends in a dedicated source directory (#189) 2025-04-11 09:25:51 +02:00
Maurice Heumann
1adb16f8e7 feat: spoof rdtsc timings (#185)
Previously, RDTSC in the VM always returned a constant value of 4, which
broke any timing-based operations, or caused detections in heuristics of
malware and ANTI-VM tools.

This patch introduces a spoofed rdtsc_fake counter that tracks and
adjusts timing deltas to simulate realistic TSC increments. Can be
extended to simulate rdtsc timings based on CPU clock speed.
2025-04-11 09:24:36 +02:00
momo5502
705162d069 Cancel in-progress workflows to speedup CI 2025-04-11 09:07:51 +02:00
momo5502
d409c08ef6 Restructure backends 2025-04-11 08:58:49 +02:00
Soham Nandy
ea7f6a68c8 Use auto for timestamp_counter tick type
Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>
2025-04-11 12:12:56 +05:30
Soham Nandy
640cd500c3 fix typo on time.hpp
Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>
2025-04-11 12:12:31 +05:30
Soham Nandy
daeefb4a7f refactor(rdtsc): clean up code overall
Change type of chrono return to be auto

Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>

simplify conditional compile and add #else to prevent clang-tidy breaking CI

Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>
2025-04-11 06:39:01 +05:30
Soham Nandy
55f29caf0f Revert "refactor: better conditional compilation on time.hpp"
This reverts commit 3bb599d356.
2025-04-11 02:26:28 +05:30
Soham Nandy
3bb599d356 refactor: better conditional compilation on time.hpp 2025-04-11 02:21:22 +05:30
Soham Nandy
0271e39474 refactor(rdtsc): clean up tick logic,
fix intrinsics, and resolve x86 compiler issues

- fix `time.hpp` compiler warnings (errors) and use proper intrinsic for gcc
- simplify tick calculation logic
- fix: exclude intrinsics include for non x86 builds and fix style
- fix: get() on clock_ unique ptr
2025-04-11 01:46:52 +05:30
Soham Nandy
dbc1b4439e feat: spoof rdtsc timings
Previously, RDTSC in the VM always returned a constant value, which broke any non deterministic timing-based operations, or caused detections in heuristics of malware and ANTI-VM tools.

This patch introduces a spoofed rdtsc_fake counter that tracks and adjusts timing deltas to simulate realistic TSC increments. Can be extended to simulate rdtsc timings based on CPU clock speed.
2025-04-10 06:58:01 +05:30
Maurice Heumann
3836f5d381 Always use release windows artifacts (#186)
This will always use the windows release test sample artifacts. It
doesn't really make sense to test the debug artifacts. They're just
slower and do the same.

This will still run debug artifacts on windows.
The change only applies to non-windows platforms
2025-04-09 19:55:26 +02:00
momo5502
6cb43b672e Redirect to wiki 2025-04-09 18:59:09 +02:00
momo5502
446978ad5a Always use release windows artifacts
This will always use the windows release test sample artifacts.
It doesn't really make sense to test the debug artifacts.
They're just slower and do the same.

This will still run debug artifacts on windows.
The change only applies to non-windows platforms
2025-04-09 18:32:41 +02:00
Maurice Heumann
e737e6ed80 Improve momo_strip_target and add unicord-emulator and windows-emulator-test (#184)
Tested on linux locally in release mode.
Build size before:
105.9 MiB

Build size after:
46.4 MiB
2025-04-09 17:59:02 +02:00
João Lucas de Oliveira Lopes
7029829ec7 revert: add back strip in ios 2025-04-09 12:28:19 -03:00
João Lucas de Oliveira Lopes
e4542f407a chore: add back strip in ios 2025-04-09 11:59:19 -03:00
João Lucas de Oliveira Lopes
63059a328a chore: ignore android and ios. Add custom strip do macos 2025-04-09 11:49:16 -03:00
João Lucas de Oliveira Lopes
0c26c71fd5 Update cmake/utils.cmake
Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>
2025-04-09 11:28:02 -03:00
João Lucas de Oliveira Lopes
0e45cc4d66 Update cmake/utils.cmake
momo5502 suggestion

Co-authored-by: Maurice Heumann <MauriceHeumann@gmail.com>
2025-04-09 11:27:12 -03:00
João Lucas
ac76a3ffd3 chore: improve momo_strip_target and add unicord-emulator and windows-emulator-test 2025-04-09 11:00:04 -03:00
Maurice Heumann
d73be6b656 Switch back to main icicle repo 2025-04-09 07:02:38 +02:00
Maurice Heumann
803c7da07b Disable icicle jit (#183) 2025-04-09 04:42:10 +02:00
momo5502
9e4e872b55 Run icicle debug tests 2025-04-08 20:37:56 +02:00
momo5502
b9c4cf98ad Disable icicle jit 2025-04-08 20:29:53 +02:00
momo5502
9e8f921be1 Add emulator names 2025-04-08 20:29:53 +02:00
Maurice Heumann
67d34b3988 Small fix 2025-04-08 10:17:05 +02:00
Maurice Heumann
0d9e03b673 Support logging debug strings (#182) 2025-04-07 21:31:59 +02:00
momo5502
f1101cc90d Fix module lookup 2025-04-07 21:04:06 +02:00
momo5502
3c58c1af98 Log debug strings 2025-04-07 21:03:57 +02:00
momo5502
62c972333a Support ignoring multiple functions 2025-04-07 19:01:10 +02:00
Maurice Heumann
73c37eaeb1 Fix NtQueryInformationProcess ProcessDebugFlags 2025-04-07 15:47:00 +02:00
Maurice Heumann
66a529cf43 More logging 2025-04-07 15:36:25 +02:00
Maurice Heumann
f087d3998a Ignore certain function calls 2025-04-07 15:17:52 +02:00
Maurice Heumann
7f3c5d080c Basic working icicle support (#181) 2025-04-07 09:31:42 +02:00
Maurice Heumann
e749c7d47f Adapt readme 2025-04-07 09:02:05 +02:00
Maurice Heumann
1cfe20b7a1 Skip icicle debug tests 2025-04-07 08:04:24 +02:00
Maurice Heumann
787410ff33 Remove IP skip check 2025-04-07 07:52:02 +02:00
Maurice Heumann
baad36ccf2 Support interrupt hooks 2025-04-07 07:24:46 +02:00
momo5502
1ed997445d Fix IRETQ instruction 2025-04-06 20:56:28 +02:00
momo5502
e8ac70f0d0 Use ghidra spec from icicle-python
--> https://github.com/icicle-emu/icicle-python
2025-04-06 20:55:51 +02:00
momo5502
5fde8c033d Fix hooks
This fixes #180
2025-04-06 20:01:18 +02:00
momo5502
cacf2c152c Fix single stepping after breakpoints 2025-04-06 17:50:02 +02:00
momo5502
e40e1bfb83 Ugly hack to *sometimes* fix instruction skipping 2025-04-06 10:46:21 +02:00
momo5502
3450a6a517 Fix reading/writing eflags 2025-04-06 09:44:46 +02:00
momo5502
320af6bb46 Support GDB stepping
...almost :(
2025-04-06 09:44:05 +02:00
momo5502
ed711197ae Fix GDB debugging with icicle 2025-04-05 16:15:56 +02:00
momo5502
bfb9760d29 Fix unicorn read hook 2025-04-05 15:58:34 +02:00