From 7f1f0ce8e9b3607539c2c06d3e0b5ec61237e923 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 16 Sep 2021 02:00:01 +0000 Subject: [PATCH] Update README.md --- README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 826fd59..087b2b5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ # Code Virtualizer -virtualize x86_64 \ No newline at end of file +virtualize x86_64 + +# Ideas: +- Handle inputted buffers only for now, no nonsense with files yet. +- Output buffers containing the vm(with required instructions), vm handler table(offsets to insturctions in vm buffer), and one containing the x86 code(with the vm code right along side it(this means fixing up all relative jumps and rip relative instructions.. ugh >:| )) +- I want the vm code to be embedded right alongside the x86, so you see like + +``` +x86 instruction +x86 instruction +vmenter(which jumps to some place based on the handler table) +vm opcode (vm opcode and bytecode which looks like jibberish) +vm opcode +vm opcode +vm exits back to here ---. +x86 instruction <----` +x86 instruction +``` + +# Todo: +- Setup some il rope like structure to contain all x86 instructions +- Functions to find groups of x86 instructions that i can handle/convert into my vm.(the larger the group the better) +- Learn file structure, what are reallocations and how do imports work?!?