Hello everyone,
I'd like to introduce my current work to you: a framework for analyzing assembly files in a static context. The idea behind it: Some parts of reverse-engineering functions are annoying, hard, or both. Still, you often don't have much time to do this work. This is the reason why decompilers were written. These are programs that try to recover the source code from a binary file. This approach has one great weakness, though: the user doesn't have any interaction with the analysis target, which is bad, especially when errors occur during analysis. Thus, this program tries to avoid this by focusing on some key aspects and only guiding the user during the process of analysis. It recovers controlflow-structures from functions, analyzes what data is allocated on the stack and recovers information from optimized divisions that are not human-readable. For more information, see the README. The docs are quite terrible at the moment, so any kind of feedback is appreciated. My apologies. The link:
http://www.github.com/ibabushkin/Iridium I hope this is of use to someone, although it is probably still very buggy.
Cheers.
EDIT: I added a fully functional GDB plugin to the project and plan to develop more frontends for common disassemblers and debuggers. Apart from that, the program has been stabilized and otherwise improved. And I got the best possible grade for it (doesn't necessarily mean much).