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
momo5502
9f4a80b42e
Fix running relative applications
2025-02-08 17:52:11 +01:00
momo5502
7efe75ba97
Remove working directory translations
2025-02-08 17:31:53 +01:00
momo5502
72e88d30d4
Use working directory provider
2025-02-08 17:22:17 +01:00
momo5502
3347667948
Prevent unmapping core modules
2025-02-07 19:56:23 +01:00
Maurice Heumann
c94370cc5d
Support relative files on windows
2025-02-07 07:21:30 +01:00
Maurice Heumann
83edab3564
Fix bad objects
2025-02-04 20:05:11 +01:00
Maurice Heumann
b56a4bd162
Log singlestep
2025-02-04 19:48:33 +01:00
momo5502
f2c5df5139
Support hardware breakpoints
2025-02-04 19:08:38 +01:00
Maurice Heumann
0029582d12
Support port and path mappings
2025-02-04 09:04:52 +01:00
momo5502
4597f3b6d6
Prevent failure when accessing stack
2025-01-26 07:30:04 +01:00
momo5502
e34a9e6468
Serialization fixes
2025-01-26 07:05:32 +01:00
momo5502
d387477883
Support verbose logging during tests
2025-01-25 13:09:07 +01:00
momo5502
a3c6e9a5c0
Cleanup emulation root handling
...
This fixes #103
This fixes #105
2025-01-25 08:30:43 +01:00