├── .github └── workflows │ └── test_vm.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── Makefile.toml ├── README.md ├── core ├── Cargo.toml ├── build.rs ├── src │ ├── lib.rs │ ├── main.rs │ ├── pe │ │ ├── mod.rs │ │ └── parser.rs │ └── virtualizer │ │ ├── assembler.rs │ │ ├── disassembler.rs │ │ ├── mod.rs │ │ └── traits.rs ├── testbins │ ├── build.rs │ ├── hello_world │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ ├── license_check │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ └── two_functions │ │ ├── Cargo.toml │ │ └── src │ │ └── main.rs └── tests │ ├── binaries.rs │ └── bytecode.rs ├── vm-build ├── .cargo │ └── config.toml ├── Cargo.toml ├── src │ └── lib.rs └── tests │ └── tests.rs ├── vm-proc ├── Cargo.toml └── src │ └── lib.rs └── vm ├── Cargo.toml ├── build.rs ├── libs └── minicrt.lib └── src ├── allocator.rs ├── assembler ├── imm.rs ├── insn.rs ├── insn │ ├── add.rs │ ├── call.rs │ ├── dec.rs │ ├── jmp.rs │ ├── jnz.rs │ ├── jz.rs │ ├── mov.rs │ ├── nop.rs │ ├── pop.rs │ ├── push.rs │ ├── ret.rs │ └── test.rs ├── label.rs ├── mod.rs ├── prelude.rs └── reg.rs ├── crt.rs ├── handlers ├── add.rs ├── and.rs ├── cmp.rs ├── const.rs ├── ctx.rs ├── div.rs ├── exec.rs ├── jmp.rs ├── load.rs ├── mod.rs ├── mul.rs ├── not.rs ├── or.rs ├── reloc.rs ├── rot.rs ├── store.rs ├── sub.rs └── xor.rs ├── lib.rs ├── macros.rs ├── shared.rs ├── syscalls.rs ├── vm.asm └── vm.rs /.github/workflows/test_vm.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/.github/workflows/test_vm.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/Makefile.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/README.md -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/Cargo.toml -------------------------------------------------------------------------------- /core/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/build.rs -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/lib.rs -------------------------------------------------------------------------------- /core/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/main.rs -------------------------------------------------------------------------------- /core/src/pe/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod parser; 2 | -------------------------------------------------------------------------------- /core/src/pe/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/pe/parser.rs -------------------------------------------------------------------------------- /core/src/virtualizer/assembler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/virtualizer/assembler.rs -------------------------------------------------------------------------------- /core/src/virtualizer/disassembler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/virtualizer/disassembler.rs -------------------------------------------------------------------------------- /core/src/virtualizer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/virtualizer/mod.rs -------------------------------------------------------------------------------- /core/src/virtualizer/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/src/virtualizer/traits.rs -------------------------------------------------------------------------------- /core/testbins/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/build.rs -------------------------------------------------------------------------------- /core/testbins/hello_world/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/hello_world/Cargo.toml -------------------------------------------------------------------------------- /core/testbins/hello_world/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/hello_world/src/main.rs -------------------------------------------------------------------------------- /core/testbins/license_check/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/license_check/Cargo.toml -------------------------------------------------------------------------------- /core/testbins/license_check/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/license_check/src/main.rs -------------------------------------------------------------------------------- /core/testbins/two_functions/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/two_functions/Cargo.toml -------------------------------------------------------------------------------- /core/testbins/two_functions/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/testbins/two_functions/src/main.rs -------------------------------------------------------------------------------- /core/tests/binaries.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/tests/binaries.rs -------------------------------------------------------------------------------- /core/tests/bytecode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/core/tests/bytecode.rs -------------------------------------------------------------------------------- /vm-build/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm-build/.cargo/config.toml -------------------------------------------------------------------------------- /vm-build/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm-build/Cargo.toml -------------------------------------------------------------------------------- /vm-build/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm-build/src/lib.rs -------------------------------------------------------------------------------- /vm-build/tests/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm-build/tests/tests.rs -------------------------------------------------------------------------------- /vm-proc/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm-proc/Cargo.toml -------------------------------------------------------------------------------- /vm-proc/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm-proc/src/lib.rs -------------------------------------------------------------------------------- /vm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/Cargo.toml -------------------------------------------------------------------------------- /vm/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/build.rs -------------------------------------------------------------------------------- /vm/libs/minicrt.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/libs/minicrt.lib -------------------------------------------------------------------------------- /vm/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/allocator.rs -------------------------------------------------------------------------------- /vm/src/assembler/imm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/imm.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/add.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/add.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/call.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/call.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/dec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/dec.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/jmp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/jmp.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/jnz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/jnz.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/jz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/jz.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/mov.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/mov.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/nop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/nop.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/pop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/pop.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/push.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/push.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/ret.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/ret.rs -------------------------------------------------------------------------------- /vm/src/assembler/insn/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/insn/test.rs -------------------------------------------------------------------------------- /vm/src/assembler/label.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/label.rs -------------------------------------------------------------------------------- /vm/src/assembler/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/mod.rs -------------------------------------------------------------------------------- /vm/src/assembler/prelude.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/prelude.rs -------------------------------------------------------------------------------- /vm/src/assembler/reg.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/assembler/reg.rs -------------------------------------------------------------------------------- /vm/src/crt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/crt.rs -------------------------------------------------------------------------------- /vm/src/handlers/add.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/add.rs -------------------------------------------------------------------------------- /vm/src/handlers/and.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/and.rs -------------------------------------------------------------------------------- /vm/src/handlers/cmp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/cmp.rs -------------------------------------------------------------------------------- /vm/src/handlers/const.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/const.rs -------------------------------------------------------------------------------- /vm/src/handlers/ctx.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/ctx.rs -------------------------------------------------------------------------------- /vm/src/handlers/div.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/div.rs -------------------------------------------------------------------------------- /vm/src/handlers/exec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/exec.rs -------------------------------------------------------------------------------- /vm/src/handlers/jmp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/jmp.rs -------------------------------------------------------------------------------- /vm/src/handlers/load.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/load.rs -------------------------------------------------------------------------------- /vm/src/handlers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/mod.rs -------------------------------------------------------------------------------- /vm/src/handlers/mul.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/mul.rs -------------------------------------------------------------------------------- /vm/src/handlers/not.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/not.rs -------------------------------------------------------------------------------- /vm/src/handlers/or.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/or.rs -------------------------------------------------------------------------------- /vm/src/handlers/reloc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/reloc.rs -------------------------------------------------------------------------------- /vm/src/handlers/rot.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/rot.rs -------------------------------------------------------------------------------- /vm/src/handlers/store.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/store.rs -------------------------------------------------------------------------------- /vm/src/handlers/sub.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/sub.rs -------------------------------------------------------------------------------- /vm/src/handlers/xor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/handlers/xor.rs -------------------------------------------------------------------------------- /vm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/lib.rs -------------------------------------------------------------------------------- /vm/src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/macros.rs -------------------------------------------------------------------------------- /vm/src/shared.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/shared.rs -------------------------------------------------------------------------------- /vm/src/syscalls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/syscalls.rs -------------------------------------------------------------------------------- /vm/src/vm.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/vm.asm -------------------------------------------------------------------------------- /vm/src/vm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meowette/guardian-rs/HEAD/vm/src/vm.rs --------------------------------------------------------------------------------