{"id":51,"date":"2005-08-29T19:57:26","date_gmt":"2005-08-30T02:57:26","guid":{"rendered":"http:\/\/outflux.net\/blog\/archives\/2005\/08\/29\/open-source-disassemblers\/"},"modified":"2005-08-29T20:02:22","modified_gmt":"2005-08-30T03:02:22","slug":"open-source-disassemblers","status":"publish","type":"post","link":"https:\/\/outflux.net\/blog\/archives\/2005\/08\/29\/open-source-disassemblers\/","title":{"rendered":"open source disassemblers"},"content":{"rendered":"<p>Not a lot of OSS folks seem to be interested in reverse engineering, so as a result, there isn&#8217;t anything like IDA-Pro for the OSS reverse engineer.  There is a very excellent <a href=\"http:\/\/bastard.sourceforge.net\/libdisasm.html\">disassembling library<\/a>, but it has no user interface (yet).  It used to have <a href=\"http:\/\/bastard.sourceforge.net\/\">Bastard<\/a> attached, but that&#8217;s pretty out of date now.  There is also <a href=\"http:\/\/lida.reverse-engineering.net\/\">Lida<\/a>, but it doesn&#8217;t even compile.  It was based on Bastard, but I can&#8217;t get it to work.  It seems to be missing some specific version of the opcode map from Bastard.<\/p>\n<p>Bastard and Lida are both static analysis tools, though.  What I really want is a dynamic analyzer.  I want to be able to trace the call paths during Porrasturvat&#8217;s execution, so I can more easily figure out which function is called when I click &#8220;Dismount&#8221;.  That&#8217;ll help me find the Force constant.  I&#8217;m worried I&#8217;m going to have to hack together some unholy Perl script to run &#8220;stepi&#8221; over and over, waiting for each &#8220;call&#8221; to take place.  That.  Would.  Be.  Very.  Slow.<\/p>\n<p>Anyway, I was really impressed with libdisasm, so I built an <a href=\"http:\/\/outflux.net\/software\/patches\/libdisasm-build.patch\">automake\/autoconf setup<\/a> for it.  Even if they don&#8217;t want it, I like being able to do a &#8220;make install&#8221; and having the library end up in the right place.  :)<\/p>\n<p style='text-align:left'>&copy; 2005, <a href=\"https:\/\/outflux.net\/blog\/\">Kees Cook<\/a>. This work is licensed under a <a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\">Creative Commons Attribution-ShareAlike 4.0 License<\/a>.<br \/><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><img decoding=\"async\" alt=\"CC BY-SA 4.0\" style=\"border-width:0\" src=\"https:\/\/i.creativecommons.org\/l\/by-sa\/4.0\/88x31.png\" \/><\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Not a lot of OSS folks seem to be interested in reverse engineering, so as a result, there isn&#8217;t anything like IDA-Pro for the OSS reverse engineer. There is a very excellent disassembling library, but it has no user interface (yet). It used to have Bastard attached, but that&#8217;s pretty out of date now. There [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/51"}],"collection":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":0,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"wp:attachment":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}