Hi folks! I've been working for some time on an interactive disassembler[2] using libLLVM for Parsing Binaries/Instructions. The whole thing started as a Proof-of-Concept and morphed to a university project of mine. It will now continue to exist as a Free Software[0] project. It currently runs by the name ``FrIDa'' [1] and yes it could use a better name (one that isn't used by like 4 other software projects for a start). So far I have been a mostly happy user of LLVM and want to say hi and thanks to you all! LLVM already allows me to mostly work with binaries From all LLVM targets and I'm looking forward to integrate lldb and probably libclang for data-mining header files. My primary wish from the LLVM side right now would be some way / idea on how to cleanly plug into the InstructionPrinter -- I would like to write a generic printer for Operands -- use the specialized Printer and annotate the results (wrap it into HTML). Thanks for listening Christoph Egger [0] Currently GPLv3+ [1] https://www.frida.xyz/ [2] An Interactive Disassembler is a tool to better understand how some binary program works. Instead of the long instruction listing you get by running objdump, FrIDa provides you with a control flow graph and lets you annotate parts of the program you already understood. It lets you add names to things (like functions) to actually describe their function -- even if the binary has been stripped and the original names are gone. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 818 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150602/a854916f/attachment.sig>
Cool project! One feature that I've been missing in such tools is the ability to store your annotations as debug information. I think that having something like that would be a really useful feature when combining this kind of static analysis with analyzing the code in a debugger. I guess that this won't be on your priority list soon but maybe its an idea that you could add to a list somewhere. Cheers, Roel On 02/06/15 12:33, Christoph Egger wrote:> Hi folks! > > I've been working for some time on an interactive disassembler[2] > using libLLVM for Parsing Binaries/Instructions. The whole thing started > as a Proof-of-Concept and morphed to a university project of mine. It > will now continue to exist as a Free Software[0] project. It currently > runs by the name ``FrIDa'' [1] and yes it could use a better name (one > that isn't used by like 4 other software projects for a start). > > So far I have been a mostly happy user of LLVM and want to say hi and > thanks to you all! LLVM already allows me to mostly work with binaries > From all LLVM targets and I'm looking forward to integrate lldb and > probably libclang for data-mining header files. > > My primary wish from the LLVM side right now would be some way / idea > on how to cleanly plug into the InstructionPrinter -- I would like to > write a generic printer for Operands -- use the specialized Printer and > annotate the results (wrap it into HTML). > > Thanks for listening > > Christoph Egger > > [0] Currently GPLv3+ > [1] https://www.frida.xyz/ > [2] An Interactive Disassembler is a tool to better understand how some > binary program works. Instead of the long instruction listing you > get by running objdump, FrIDa provides you with a control flow graph > and lets you annotate parts of the program you already understood. > It lets you add names to things (like functions) to actually > describe their function -- even if the binary has been stripped and > the original names are gone. > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Hi! Roel Jordans <r.jordans at tue.nl> writes:> One feature that I've been missing in such tools is the ability to > store your annotations as debug information. I think that having > something like that would be a really useful feature when combining > this kind of static analysis with analyzing the code in a debugger.That sounds like a good idea definitely, thanks for the suggestion! Currently I don't have any idea on how this would work but something to keep in mind. Christoph -- 9FED 5C6C E206 B70A 5857 70CA 9655 22B9 D49A E731 Debian Developer | Lisp Hacker | CaCert Assurer