Mr-Thack/bits
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Ok, so this is my Binary Immediate Translation System, or BITS BITS takes assembly output from other programs (such as Ddisasm) Then it parses it for the instructions, registers, etc. Then it converts them from x86_64 to ARM64. Then it does any weird last minute fixed that's required. It can be used to run AMD64 programs natively on ARM hardware, eliminating the need for virtualization such as QEMU. Currently only has basic support for System V ABI (Specifically Linux). SO, this tool will "Immediate"ly convert the AMD64 to ARM64 instructions after disassembly. No middle step of going through any Intermediate Representation, which means that it can't translate to other architectures, but it's super good at x64->ARM. MINIMAL impact on size or performance! Currently in Python for simplicity, Will finish rewrite in Haskell (and maybe Datalog) later because it's cleaner and better than the Python version. TO RUN: go to src/ do a ``./run main.bin`` or substitute main.bin for a binary or do ``python main.py -f main.bin``