1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#include <iostream>
#include "Userspace.h"
#include "GUI.h"
#include <thread>
// nop
// mov eax, 0xF4
// mov ecx, 0x8000
// mov edx, 0x8000
// add DWORD PTR [0x8011], eax
uint8_t test[] = {
0x90,
0xB8, 0xF4, 0x00, 0x00, 0x00,
0xB9, 0x00, 0x80, 0x00, 0x00,
0xBA, 0x00, 0x80, 0x00, 0x00,
0x01, 0x05, 0x16, 0x80, 0x00, 0x00,
0x00,
};
int main(int argc, char** argv) {
Userspace user;
GUI gui(user);
user.Upload2Memory(test, 23);
std::thread tuserspace(&Userspace::Run, &user);
gui.Run();
user.Exit();
tuserspace.join();
return 0;
}
|