{"id":198973,"date":"2017-12-27T01:25:00","date_gmt":"2017-12-27T00:25:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/?p=198973"},"modified":"2017-12-26T19:28:34","modified_gmt":"2017-12-26T18:28:34","slug":"decompiler-von-avast-verffentlicht","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2017\/12\/27\/decompiler-von-avast-verffentlicht\/","title":{"rendered":"Decompiler von Avast ver&ouml;ffentlicht"},"content":{"rendered":"<p>Antivirus-Hersteller Avast hat einen Decompiler als Open Source ver\u00f6ffentlicht. Ein Decompiler erm\u00f6glicht Programmdateien mit ausf\u00fchrbarem Maschinencode in lesbaren Quelltext zur\u00fcck zu \u00fcbersetzen. Der Quellcode kann dann analysiert werden.<\/p>\n<p><!--more--><\/p>\n<p>Avast hat das seinen Maschinencode-Decompiler f\u00fcr die plattformunabh\u00e4ngige Analyse von ausf\u00fchrbaren Dateien nach siebenj\u00e4hriger Entwicklungszeit zur Verf\u00fcgung gestellt. Ziel des Avast Analyse-Tools RetDec ist es, die Cybersicherheits-Community&nbsp; bei der Bek\u00e4mpfung b\u00f6sartiger Software zu unterst\u00fctzen. Das Tool erm\u00f6glicht es jedem, den Code von Anwendungen zu studieren, um zu sehen, was die Anwendungen tun, ohne sie auszuf\u00fchren. <\/p>\n<p>Der RetDec-Decompiler ist Open Source, wie Avast <a href=\"https:\/\/blog.avast.com\/avast-open-sources-its-machine-code-decompiler\" target=\"_blank\">hier schreibt<\/a>, d.h. jeder kann ihn frei benutzen, den Quellcode studieren, modifizieren und weitergeben. Das Ziel von Avast ist es mit dem Open Source Tool RetDec, ein generisches Werkzeug zur Verf\u00fcgung zu stellen, um plattformspezifischen Code, wie z.B. ausf\u00fchrbare x86\/PE-Dateien, in eine h\u00f6here Darstellungsform, wie z.B. C-Quellcode, zu transformieren. Generisch bedeutet, dass das Tool nicht auf eine einzige Plattform beschr\u00e4nkt sein sollte, sondern eine Vielzahl von Plattformen unterst\u00fctzen sollte, einschlie\u00dflich verschiedener Architekturen, Dateiformate und Compiler. Bei Avast wird RetDec aktiv f\u00fcr die Analyse b\u00f6sartiger Samples f\u00fcr verschiedene Plattformen wie x86\/PE und ARM\/ELF eingesetzt.<\/p>\n<p>Der Quellcode des RetDec-Decompilers und anderer verwandter Tools ist nun <a href=\"https:\/\/github.com\/avast-tl\/retdec\" target=\"_blank\">auf GitHub<\/a> unter der MIT-Lizenz verf\u00fcgbar. Mit der Freigabe als Open-Sourcenm\u00f6chte Avast dessen Verbreitung f\u00f6rdern und andere Entwickler einladen, bei der Weiterentwicklung des Decompilers mit zu arbeiten. Das Tools bietet folgende Features:<\/p>\n<ul>\n<li>Supported file formats: ELF, PE, Mach-O, COFF, AR (archive), Intel HEX, and raw machine code. <\/li>\n<li>Supported architectures (32b only): Intel x86, ARM, MIPS, PIC32, and PowerPC. <\/li>\n<li>Static analysis of executable files with detailed information. <\/li>\n<li>Compiler and packer detection. <\/li>\n<li>Loading and instruction decoding. <\/li>\n<li>Signature-based removal of statically linked library code. <\/li>\n<li>Extraction and utilization of debugging information (DWARF, PDB). <\/li>\n<li>Reconstruction of instruction idioms. <\/li>\n<li>Detection and reconstruction of C++ class hierarchies (RTTI, vtables). <\/li>\n<li>Demangling of symbols from C++ binaries (GCC, MSVC, Borland). <\/li>\n<li>Reconstruction of functions, types, and high-level constructs. <\/li>\n<li>Integrated disassembler. <\/li>\n<li>Output in two high-level languages: C and a Python-like language. <\/li>\n<li>Generation of call graphs, control-flow graphs, and various statistics. <\/li>\n<li>IDA plugin that allows decompilation of files directly from the IDA disassembler.<\/li>\n<\/ul>\n<p>Eine gewisse Einschr\u00e4nkung ist die Fokussierung auf 32-Bit-Code. Zum Ausprobieren hat Avast einen <a href=\"https:\/\/retdec.com\/decompilation\/\" target=\"_blank\">Web Service<\/a> aufgesetzt. Dort sollte man ausf\u00fchrbare Programmdateien hochladen k\u00f6nnen. Dann wird das zur\u00fcck \u00fcbersetzte Ergebnis im Browser angezeigt.<\/p>\n<p><a href=\"https:\/\/blog.avast.com\/hs-fs\/hubfs\/retargeting_decompiler_1.png?t=1514154819292&amp;width=680&amp;height=302&amp;name=retargeting_decompiler_1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" title=\"RetDec-Decompiler\" alt=\"RetDec-Decompiler\" src=\"https:\/\/blog.avast.com\/hs-fs\/hubfs\/retargeting_decompiler_1.png?t=1514154819292&amp;width=680&amp;height=302&amp;name=retargeting_decompiler_1.png\" width=\"635\" height=\"282\"\/><\/a><br \/>(Quelle: Avast)<\/p>\n<p>Wegen des hohen Aufkommens hat Avast die Webseite aktuell aber abgeschaltet. Man kann sich den Quellcode aber von <a href=\"https:\/\/github.com\/avast-tl\/retdec\" target=\"_blank\">GitHub<\/a> herunterladen und f\u00fcr die Zielplattform compilieren. Weitere Details finden sich in <a href=\"https:\/\/blog.avast.com\/avast-open-sources-its-machine-code-decompiler\" target=\"_blank\">diesem Avast-Blog-Beitrag<\/a> sowie <a href=\"https:\/\/www.heise.de\/newsticker\/meldung\/Avast-veroeffentlicht-Maschinencode-Decompiler-als-Open-Source-3923397.html\" target=\"_blank\">hier<\/a> bei heise.de.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antivirus-Hersteller Avast hat einen Decompiler als Open Source ver\u00f6ffentlicht. Ein Decompiler erm\u00f6glicht Programmdateien mit ausf\u00fchrbarem Maschinencode in lesbaren Quelltext zur\u00fcck zu \u00fcbersetzen. Der Quellcode kann dann analysiert werden.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3659],"class_list":["post-198973","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-tool"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/198973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=198973"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/198973\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=198973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=198973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=198973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}