{"id":142,"date":"2008-03-31T10:58:00","date_gmt":"2008-03-31T10:58:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=142"},"modified":"2008-03-31T10:58:00","modified_gmt":"2008-03-31T10:58:00","slug":"thema-der-woche-bytecode-und-obfuscator","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2008\/03\/thema-der-woche-bytecode-und-obfuscator\/","title":{"rendered":"Thema der Woche: Bytecode und Obfuscator"},"content":{"rendered":"<p>Wie jeder wei\u00df, produziert der Java-Compiler in der Regel Bytecode. Um eine Vorstellung davon zu bekommen, sollte man lesen<\/p>\n<ul>\n<li><a title=\"http:\/\/en.wikipedia.org\/wiki\/Java_bytecode\" href=\"http:\/\/en.wikipedia.org\/wiki\/Java_bytecode\">http:\/\/en.wikipedia.org\/wiki\/Java_bytecode<\/a><\/li>\n<li><a title=\"http:\/\/java.sun.com\/docs\/books\/jvms\/second_edition\/html\/Compiling.doc.html\" href=\"http:\/\/java.sun.com\/docs\/books\/jvms\/second_edition\/html\/Compiling.doc.html\">http:\/\/java.sun.com\/docs\/books\/jvms\/second_edition\/html\/Compiling.doc.html<\/a><\/li>\n<\/ul>\n<p>Dann je nach Wunsch weitere Kapitel aus der <a href=\"http:\/\/java.sun.com\/docs\/books\/jvms\/\">Java Virtual Machine Specification<\/a>; da ist aber jede Waschmaschine spannender.<\/p>\n<p>Java Bytecode l\u00e4sst sich disassemblieren, etwa mit <a href=\"http:\/\/java.sun.com\/j2se\/1.4.2\/docs\/tooldocs\/windows\/javap.html\">javap<\/a>. Hier sollte man ein Beispiel ausprobieren.<\/p>\n<p>Um den Bytecode unansehnlich zu machen, l\u00e4sst sich ein Obfuscater einsetzten. Teste die M\u00f6glichkeiten von <a title=\"http:\/\/proguard.sourceforge.net\/\" href=\"http:\/\/proguard.sourceforge.net\/\">http:\/\/proguard.sourceforge.net\/<\/a> an einem Beispiel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie jeder wei\u00df, produziert der Java-Compiler in der Regel Bytecode. Um eine Vorstellung davon zu bekommen, sollte man lesen http:\/\/en.wikipedia.org\/wiki\/Java_bytecode http:\/\/java.sun.com\/docs\/books\/jvms\/second_edition\/html\/Compiling.doc.html Dann je nach Wunsch weitere Kapitel aus der Java Virtual Machine Specification; da ist aber jede Waschmaschine spannender. Java Bytecode l\u00e4sst sich disassemblieren, etwa mit javap. Hier sollte man ein Beispiel ausprobieren. Um den [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[],"class_list":["post-142","post","type-post","status-publish","format-standard","hentry","category-die-wochentliche-dosis-java"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=142"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/142\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}