2026-02-04 12:52:42 +01:00
|
|
|
#include <iostream>
|
|
|
|
|
|
2026-02-06 19:20:42 +01:00
|
|
|
#include "Userspace.h"
|
|
|
|
|
#include "GUI.h"
|
|
|
|
|
#include <thread>
|
2026-02-04 12:52:42 +01:00
|
|
|
|
2026-02-05 14:57:23 +01:00
|
|
|
// nop
|
2026-02-04 22:28:36 +01:00
|
|
|
// mov eax, 0xF4
|
2026-02-04 22:48:20 +01:00
|
|
|
// mov ecx, 0x8000
|
2026-02-05 14:57:23 +01:00
|
|
|
// mov edx, 0x8000
|
|
|
|
|
// add DWORD PTR [0x8011], eax
|
2026-02-04 12:52:42 +01:00
|
|
|
uint8_t test[] = {
|
2026-02-05 14:57:23 +01:00
|
|
|
0x90,
|
2026-02-04 22:28:36 +01:00
|
|
|
0xB8, 0xF4, 0x00, 0x00, 0x00,
|
2026-02-04 22:48:20 +01:00
|
|
|
0xB9, 0x00, 0x80, 0x00, 0x00,
|
2026-02-05 14:57:23 +01:00
|
|
|
0xBA, 0x00, 0x80, 0x00, 0x00,
|
2026-02-06 19:20:42 +01:00
|
|
|
0x01, 0x05, 0x16, 0x80, 0x00, 0x00,
|
2026-02-04 22:28:36 +01:00
|
|
|
0x00,
|
2026-02-04 12:52:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int main(int argc, char** argv) {
|
2026-02-06 19:20:42 +01:00
|
|
|
Userspace user;
|
|
|
|
|
GUI gui(user);
|
|
|
|
|
|
|
|
|
|
user.Upload2Memory(test, 23);
|
|
|
|
|
std::thread tuserspace(&Userspace::Run, &user);
|
|
|
|
|
|
|
|
|
|
gui.Run();
|
|
|
|
|
|
|
|
|
|
user.Exit();
|
|
|
|
|
|
|
|
|
|
tuserspace.join();
|
|
|
|
|
|
2026-02-04 12:52:42 +01:00
|
|
|
return 0;
|
|
|
|
|
}
|