Skip to content
This repository

Decompiler and Reverse Engineering tool

branch: master

FIXED: CALL failing post indirect_value_id removal

Change details:
As indirect_value_id is no longer used, "function pointer" as a source to CALL instruction is not a valid case.
A LOAD instruction is used in the "function pointer" case.
This reverts a small part of commit a1dda33.

Signed-off-by: Arun Prakash Jana <engineerarun@gmail.com>
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
latest commit 13ec82393b
James Courtier-Dutton authored April 19, 2014
Octocat-spinner-32 dis Initial import of test code. May 25, 2004
Octocat-spinner-32 libbeauty FIXED: CALL failing post indirect_value_id removal April 19, 2014
Octocat-spinner-32 www Update status, using GIT and not SVN. March 27, 2012
Octocat-spinner-32 README.md Fix typo. March 12, 2014
README.md

libbeauty

Decompiler and Reverse Engineering tool

The current aim has been changed to the following:
1) Take a x86_64 binary .o file as input.
2) Create an equivalent LLVM IR .o as output. Also referred to as .bc or .ll (llvm.org) file formats.
3) Add automated testing.

Once the above works, the aims will be expanded to include:
1) Also support x86_32 binary .o file as input.
2) Also support ARM binary .o file as input.
3) Create .c source code files from the LLVM IR .o file.
4) Implement support for self modifying code.

TODO:
1) Type inference propagation (TIP).
When registers are converted to SSA form, they are called "labels".
In order to get from ASM to LLVM IR, we need to know if labels are pointers or not.
Also, we need to know the bit width of labels.
If anyone can help me in this area I would appreciate it.

Note: We only have this last todo item left, and this tool will become really useful!

Something went wrong with that request. Please try again.