Hi, 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, Deep -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150107/02e4f9a4/attachment.html>
Hi Sandeep. 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. Panda: https://github.com/moyix/panda s2e: https://github.com/dslab-epfl/s2e Hope this helps. Yasser On Jan 6, 2015 11:42 PM, "Sandeep Kumar Singh" <deepdondo007 at gmail.com> wrote:> Hi, > > 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, > Deep > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150108/2de8abe2/attachment.html>
Hi Deep, On 6 January 2015 at 20:39, Sandeep Kumar Singh <deepdondo007 at gmail.com> wrote:> 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. Cheers. Tim.
Note that there are projects with this kind of goal. For example: http://decompiler.fit.vutbr.cz/ You can even play with small examples online. It appears to use some of the LLVM infrastruture. On Fri, Jan 9, 2015 at 4:39 AM, Tim Northover <t.p.northover at gmail.com> wrote:> Hi Deep, > > On 6 January 2015 at 20:39, Sandeep Kumar Singh <deepdondo007 at gmail.com> > wrote: > > 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. > > Cheers. > > Tim. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150109/269c051d/attachment.html>
Hi. These links may be helpful. I'v not tried. http://code.google.com/p/llvm-qemu/ http://infoscience.epfl.ch/record/149975/files/x86-llvm-translator-chipounov_2.pdf http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-March/012953.html If successful, please let me know. Good Luck. On Thu, Jan 8, 2015 at 7:34 PM, Bruce Hoult <bruce at hoult.org> wrote:> Note that there are projects with this kind of goal. For example: > > > http://decompiler.fit.vutbr.cz/ > > You can even play with small examples online. It appears to use some of > the LLVM infrastruture. > > > On Fri, Jan 9, 2015 at 4:39 AM, Tim Northover <t.p.northover at gmail.com> > wrote: > >> Hi Deep, >> >> On 6 January 2015 at 20:39, Sandeep Kumar Singh <deepdondo007 at gmail.com> >> wrote: >> > 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. >> >> Cheers. >> >> Tim. >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > On Wed, Jan 7, 2015 at 8:09 AM, Sandeep Kumar Singh <deepdondo007 at gmail.com> wrote:> Hi, > > 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, > Deep > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150109/a144dab0/attachment.html>