Skip to content

Mr-Thack/bits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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``

About

Binary Immediate Translation System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages