I am newbie for LLVM. I need some help,
I want to disassemble ARM binaries and perform some operation on LLVM IR and again back to generate ARM binary from modified ARM LLVM IR. How I can proceed for the same.
Any tool or document will be highly appreciated.
Thanks and Regards,
I don’t know of a specific tool to specifically translate ARM binaries to llvm IR…
An idea could be to look into the s2e project. I know its used by PANDA (dynamic analysis platform) to translate system executions to llvm IR.
You might be able to find a way to use PANDA to accomplish your goal or maybe some existing project is using s2e for something closer to what you need.
Hope this helps.
I want to disassemble ARM binaries and perform some operation on LLVM IR and
again back to generate ARM binary from modified ARM LLVM IR. How I can
proceed for the same.
I'm afraid this isn't something LLVM can do by itself. Disassembling
binaries to a higher level language like LLVM is in general a very
difficult problem (mostly because of the possibility of self-modifying
code, but it's no walk in the park even without that), and not in the
scope of the LLVM project itself.
Note that there are projects with this kind of goal. For example:
You can even play with small examples online. It appears to use some of the LLVM infrastruture.