{"id":28,"date":"2012-02-24T00:23:11","date_gmt":"2012-02-23T23:23:11","guid":{"rendered":"http:\/\/kronotai.com\/wordpress\/?page_id=28"},"modified":"2012-02-24T00:23:11","modified_gmt":"2012-02-23T23:23:11","slug":"holdec","status":"publish","type":"page","link":"https:\/\/kronotai.com\/wordpress\/holdec\/","title":{"rendered":"holdec"},"content":{"rendered":"<p>\t\t\t\t<![CDATA[The holdec decompiler was started in 2003 and currently has the following features:\n\n\n<ul>\n\n\n<li>loads ELF, PE, MZ and Amiga binaries<\/li>\n\n\n\n\n<li>has support for i386 and m68k<\/li>\n\n\n\n\n<li>has a GUI<\/li>\n\n\n\n\n<li>contains over 20 different passes which are executed for a total of about 50 times to produce correct and compact source code<\/li>\n\n\n\n\n<li>uses SSA (single static assignment) as its internal main data structure<\/li>\n\n\n\n\n<li>cope with functions which use a framepointer as well as functions without one<\/li>\n\n\n\n\n<li>supports a variety of user input to specify for example extra non-code areas in the binary, volatile memory locations or function signatures<\/li>\n\n\n\n\n<li>the function signatures go beyond the classical signatures of C by allowing for example to specify multiple result values in multiple registers, passing flag registers or stack changes<\/li>\n\n\n\n\n<li>requires Java 6 to run<\/li>\n\n\n<\/ul>\n\n\n\n\n<h1>Limitations<\/h1>\n\n\nA decompiler usually assumes a static non-changing program: self-modifying code is also not  not supported by holdec.\nThe implemented type system is currently in a non-working condition and only basic type information (operand size in bytes and signedness).\n\n\n<h1>Future<\/h1>\n\n\nAs there are always ways to improve the holdec decompiler is not finished. Currently planned are FPU and SIMD support, improved naming of functions and variables.\n]]>\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\t\t\t\t<![CDATA[]]>\t\t <a href=\"https:\/\/kronotai.com\/wordpress\/holdec\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-28","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/pages\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":0,"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/pages\/28\/revisions"}],"wp:attachment":[{"href":"https:\/\/kronotai.com\/wordpress\/wp-json\/wp\/v2\/media?parent=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}