Commit Graph

146 Commits

Author SHA1 Message Date
robert-yates
2b76880cf1 partial process_context abstraction 2025-04-26 18:00:02 +02:00
robert-yates
b2296930d3 prepare 32bit support with name and class inheritance modifications 2025-04-22 12:01:40 +02:00
momo5502
4ac8d853a6 Always use static socket factory for emscripten 2025-04-18 08:15:17 +02:00
momo5502
c1553ad2ec Fixes for emscripten 2025-04-17 19:40:20 +02:00
momo5502
68022ef501 Fixes 2025-04-14 20:16:24 +02:00
Maurice Heumann
a6dd9251b8 Prepare 32 bit support 2025-04-14 13:57:54 +02:00
momo5502
b3139cfacd Small fixes 2025-04-13 16:38:50 +02:00
momo5502
2ed35d94b9 Set correct status 2025-04-13 15:00:39 +02:00
momo5502
7910021124 Fix apc dispatching 2025-04-13 14:28:35 +02:00
momo5502
c1e621c2cd Basic hacky working APC dispatching 2025-04-13 13:39:09 +02:00
momo5502
f58dec38a2 Prepare APC support 2025-04-13 13:39:08 +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
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
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
67d34b3988 Small fix 2025-04-08 10:17:05 +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
momo5502
349526a54a Simplify hooking interface 2025-04-05 11:59:49 +02:00
Maurice Heumann
8de5c7be3a Run icicle tests 2025-04-04 15:34:58 +02:00
Maurice Heumann
24df7c65c2 Support accurate instruction counts 2025-04-04 13:13:09 +02:00
momo5502
1cdf280fcf Support disabling rust code 2025-04-01 18:49:41 +02:00
momo5502
7d5555e985 Fix unicorn and switch back to it as default emulator 2025-04-01 18:37:00 +02:00
Maurice Heumann
dec66f051d Test 2025-03-29 10:44:41 +01:00
momo5502
c4349bc4e6 Log message box strings 2025-03-22 20:32:18 +01:00
momo5502
53fb2f9116 Support more syscalls 2025-03-22 19:53:53 +01:00
momo5502
0b9fe3d7cc Slightly optimize performance 2025-03-22 17:54:39 +01:00
Maurice Heumann
851fe3acba Create proper emulator 2025-03-20 16:15:00 +01:00
Maurice Heumann
4da6642123 Add socket abstraction 2025-03-20 15:45:38 +01:00
momo5502
df4208c34d Fix more warnings 2025-03-18 20:58:26 +01:00
Maurice Heumann
95c7ffbf91 Move executed instructions into windows emulator 2025-03-18 12:35:38 +01:00
Maurice Heumann
2cc2137c3a Unify steady and system clock 2025-03-18 12:10:59 +01:00
Maurice Heumann
450e3c2a9c Use clock interfaces to precisely control time 2025-03-18 11:48:44 +01:00
momo5502
3218e26306 Small callback optimization and unification 2025-02-14 09:05:55 +01:00
Elias Bachaalany
c0719651d3 minor changes 2025-02-11 10:25:02 -08:00
Elias Bachaalany
1d7f841ee4 added more callbacks 2025-02-10 11:25:04 -08:00
momo5502
934374c4bb Extract main module cache into module manager 2025-02-10 17:43:09 +01:00
momo5502
c1aa260f8f Cleanup process context 2025-02-10 17:28:00 +01:00
momo5502
04ca0981a1 Extract API set data 2025-02-10 17:21:34 +01:00
momo5502
2815a74a18 Setup PEB image base 2025-02-10 16:58:57 +01:00
momo5502
349ef9688a Move module manager into windows emulator 2025-02-10 16:49:33 +01:00
momo5502
7ae36a6452 Move registry manager into windows emulator 2025-02-10 16:37:33 +01:00
momo5502
adf632c64e Remove getters 2025-02-10 16:20:24 +01:00
Maurice Heumann
a28be3049b Separate application and emulator settings 2025-02-10 15:46:38 +01:00
Maurice Heumann
a5bae30e00 Rename context_frame to cpu_context 2025-02-10 14:28:53 +01:00
Maurice Heumann
2686251fde Cleanup windows-emulator and extract classes 2025-02-10 13:42:49 +01:00
momo5502
6263353438 Isolate memory manager 2025-02-09 18:19:32 +01:00
momo5502
8a427ec368 Hack to skip nls/alpc communication
This is related to #128
2025-02-09 11:00:12 +01:00
momo5502
27f02c74c7 Support logging actions for interesting modules 2025-02-09 09:43:19 +01:00
momo5502
fe84448bf5 Reserve space for current directory 2025-02-08 18:55:19 +01:00