Commit Graph

120 Commits

Author SHA1 Message Date
momo5502
370665b520 Introduce windows emulation context
This fixes #6
2024-09-13 13:48:21 +02:00
momo5502
53eeb988a7 Remove emulator from process context 2024-09-13 11:23:06 +02:00
momo5502
6d84604c82 Support serializing syscall handlers 2024-09-13 11:13:35 +02:00
momo5502
68cffae5c4 Implement serialization as a concept 2024-09-13 10:03:23 +02:00
momo5502
bdf179b0c2 Remove unused util 2024-09-13 10:02:26 +02:00
momo5502
b68892ceca Support saving and restoring snapshots 2024-09-13 09:52:11 +02:00
momo5502
b1cbc5a7ad Finish context saving/restoration 2024-09-12 17:53:41 +02:00
momo5502
d94a92df45 More serialization support 2024-09-12 13:21:52 +02:00
momo5502
cef85295af Prepare serialization support 2024-09-12 13:05:02 +02:00
momo5502
70400547ff Properly map locale file 2024-09-12 09:50:13 +02:00
momo5502
08cc6932d8 Progress 2024-09-11 19:44:48 +02:00
momo5502
d8cea9a373 Support more syscalls 2024-09-11 19:14:20 +02:00
momo5502
6aaceca7de Progress 2024-09-11 17:09:55 +02:00
momo5502
ddee229fca More syscall features 2024-09-11 13:22:52 +02:00
momo5502
46302df864 Support win32k syscalls 2024-09-11 12:52:24 +02:00
momo5502
920bc9dec6 More syscalls 2024-09-10 12:43:56 +02:00
momo5502
c4164f460a Some progress 2024-09-10 09:39:05 +02:00
momo5502
a2c344db53 Some progress 2024-09-09 20:28:24 +02:00
momo5502
c23da4484b Fix module mapping 2024-09-09 19:09:38 +02:00
momo5502
fad1721cba Better image information 2024-09-09 18:54:17 +02:00
momo5502
e054702ebd Small fixes and adjustments 2024-09-09 18:38:25 +02:00
momo5502
29ad787b6b Fix relocation handling 2024-09-09 17:16:31 +02:00
momo5502
9d21fd83d5 Safely access buffer when mapping modules 2024-09-09 14:41:09 +02:00
momo5502
73b15557e8 Cleanup gdb stub and module mapping 2024-09-09 12:14:22 +02:00
momo5502
01b1d422d9 Implement more efficient export logging
Unicorn hooks are expensive. It seems to iterate all hooks every
time an instruction is executed. Therefore more hooks -> slower execution.

Instead, we'll have one hook. Within that hook we'll check if the address
is within a mapped binary. If so, we then check if it is and export and
log when true. That's far more efficient than checking all hooks every time.
2024-09-08 16:10:03 +02:00
momo5502
9c5b65b103 Count executed instructions 2024-09-08 15:18:57 +02:00
momo5502
4d0d197376 Better handle abstraction 2024-09-08 13:09:10 +02:00
momo5502
9f437657ad Prepare handle cleanup 2024-09-07 21:41:00 +02:00
momo5502
d7dd64f896 Small adjustments 2024-09-07 15:07:51 +02:00
momo5502
f44f4777da Fix exception dispatching 2024-09-07 12:52:20 +02:00
momo5502
2022513bbe Fix stack alignment 2024-09-06 19:44:35 +02:00
momo5502
daeea58c91 Fix release build 2024-09-06 08:49:31 +02:00
momo5502
096a3c5f89 More exception dispatching progress 2024-09-05 20:38:27 +02:00
momo5502
e5b3dc953e Prepare exception dispatching 2024-09-05 19:01:55 +02:00
momo5502
7c6e4a23da More exception progress 2024-09-05 16:10:11 +02:00
momo5502
79607447e5 Support exception hooks 2024-09-05 11:13:54 +02:00
momo5502
c975a8863f Prepare reflect upgrade 2024-09-02 20:33:04 +02:00
momo5502
9086792a35 Cleanup hooking 2024-09-02 20:32:56 +02:00
momo5502
daff0d1e13 Implement rdtsc hook 2024-09-02 17:16:29 +02:00
momo5502
679fecda4e Finish emulating hello world 2024-09-01 20:32:45 +02:00
momo5502
fb0c740b89 More syscalls 2024-09-01 20:10:24 +02:00
momo5502
405a53ccef Support hardware breakpoints 2024-09-01 20:10:10 +02:00
momo5502
5254a28519 Fix export collection 2024-09-01 09:21:34 +02:00
momo5502
93f8f7b18e Query memory info 2024-09-01 09:13:50 +02:00
momo5502
164e9b737d Almost running application 2024-08-31 21:43:05 +02:00
momo5502
3ead613d2c More syscalls 2024-08-31 21:20:20 +02:00
momo5502
477eef2d6a Add console support 2024-08-31 20:28:54 +02:00
momo5502
d0e79f51bd Progress with kernelbase initialization 2024-08-31 19:43:27 +02:00
momo5502
2d23abc9e5 More fixes and progress 2024-08-31 17:37:30 +02:00
momo5502
f57e925499 Fix formatting 2024-08-31 16:41:55 +02:00