7 open source Java anti compilation tools 7 款開源 Java 反編譯工具
- open source java decompiler
- decompiler Disassembler java
- java decompiler instructions
- decompiler Disassembler deobfuscator java
- java decompiler instructions Decompiler Disassembler Debugger
- decompiler Disassembler Debugger
- 1、Java Jadclipse - http://sourceforge.net/projects/jadclipse/
- 2、Java Jad - http://varaneckas.com/jad/
- 3、Java JD-GUI - http://jd.benow.ca/
- 4、Java jdec http://jdec.sourceforge.net/
- 5、uuDeJava - http://www.uuware.com/uudejava_cn.htm
- 6、Java Minjava - https://www.openhub.net/p/minjava
- 7、Java Decompiler - http://jd.benow.ca/
Automating Removal of Java Obfuscation
- [0] http://www.excelsior-usa.com/articles/java-obfuscators.html
- [1] http://jd.benow.ca/
- [2] http://varaneckas.com/jad
- [3] http://en.wikipedia.org/wiki/Function_overloading
- [4] https://github.com/Storyyeller/Krakatau
- [5] https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html
- [6] http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html
- [7] http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.tableswitch
- [8] http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
- [9] http://stackoverflow.com/questions/8517121/java-vmspec-what-is-difference-between-init-and-clinit
- [10] http://stackoverflow.com/questions/14721852/difference-between-byte-code-initv-vs-initzv
- 80x86 Win32 Disassembler DLL 1.2
- Hopper Disassembler 1.0.1
- Udis86 Disassembler for x86 and x86-64 86.1.7
- APNG Disassembler 2.4
- PE Explorer 1.99 R3
- emu8086 2.10
- PEBrowse Professional Interactive 7.32
- Visual DuxDebugger 2.8
- PEBrowseDbg64 Interactive 2.9
- deadener 1.17
- PEBrowse64 Professional 2.1
- IDA PRO for Linux 6.0
- IDA PRO for Mac 6.0
- DJ Java Decompiler 3.9.9.91
- Easy JAVA to Source Converter 1.6
http://www.program-transformation.org/Transform/WebHome
這裡很多資料,以下簡
Program transformation techniques are used in a many areas of software engineering ranging from program synthesis, via program optimization and program refactoring, to reverse engineering and documentation generation. Many theories, tools and applications have been developed over the last 30 years. Often the results of these efforts are used only in the community that developed them.
Program-transformation.org is dedicated to collecting, organizing and disseminating information about all aspects of program transformation in order to share results across communities. Such an effort cannot possibly be achieved by a static web site. Therefore, this site is based on TWiki, a system for collaborative web development. This means that you cannot only read information about program transformation, but also contribute to this site by editing pages and by adding new pages. OneMinuteWiki explains how wiki works. -- EelcoVisser & ArieVanDeursen
http://www.program-transformation.org/Transform/DecompilationResources
Decompilation Resources
Program-Transformation.Org: The Program Transformation Wiki
This page contains links to projects peripherally related to decompilation.
- Binary files
- The format of Executable files
- Tool generator tools
- Resource extractors
- Fenris tools
- Binary file decompilation
- Java and .NET related
- Delphi related
- Conferences and workshops
- Decompilation-related Theses
- Decompilation Papers
- Decompilation Books
- Online Collaborative Books
- Miscellaneous
The format of Executable files
- Win32PE (An In-Depth Look into the Win32 Portable Executable File Format)
- Pc Exe Format from The Interrupt List by Ralph Brown
- Ne Format (the NE (New Executable) format (16 bit Windows))
- ExeFmt A description of the New Executable (NE) 16-bit Windows format.
- Pe Dump (PE dump program)
- VXPE (VX Portable Executable Viewer)
- PE Explorer (Commercial tool)
- Manuals on several executable file formats (OMF, PE, ELF, Dwarf, etc)
Decompilation-related Theses
- Reverse Compilation Techniques, C. Cifuentes, Queensland University of Technology PhD thesis, 1994.
- Static Single Assignment for Decompilation, M. Van Emmerik, University of Queensland PhD thesis, 2007. Also available as gzipped postscript.
- WYSINXYX: What You See is Not What You Execute, Gogul Balakrishnan, University of Wisconsin-Maddison PhD thesis, 2007. Uses IDA Pro and custom code to analyse x86 binaries for security problems.
- Designing an Object-Oriented Decompiler, D. Eriksson, Blekinge Institute of Technology Masters thesis, 2002. See also the Desquirr IDA Pro plugin.
- Proving Program Refinements and Transformations, M. Ward, Oxford University PhD thesis, 1989. This is the basis for Ward's future work, which is able to transform assembly language to C on an industrial scale.
Miscellaneous
- Hex-rays decompiler plugin. IDA Pro has a commercial decompiler plugin now.
- Hexblog, by Ilfak Guilfanov (author of IDA Pro), has a decompilation category. Other categories, such as the IDA Pro category, are often of interest.
- QuantumG's blog was mostly about decompilation, especially the earlier entries. Some very good information.
- Windows Source Project, maintained by Clive Turvey.
- List of Debuggers and Disassemblers (from http://www.tech-faq.com). Also their "What is a Decompiler?" page.
- Free Disassemblers, Decompilers, Binary / Hex Editors and Viewers (from http://www.thefreecountry.com).
- x86 Assembly Language FAQ
- The Redo Project Archive.
- You can use the dllman32 Windows Dynamic Link Library Investigator for finding dependencies among DLL's.
- The Softpanorama page on Decompilation and Decompilers. Softpanorama describes itself as "resources for the independent study in computer science and programming".
- The Code Breakers Journal.
- Bob Stout posted a short history of PC C compilers.
- http://www.codesites.com (development related links)
- Fravia's page of Reverse engineering has a cracker's viewpoint, including a page on the legality of reverse engineering. The URL keeps changing; just search for it.
- ProgramObfuscation could be considered a defence to decompilation.
- DecompilationUrls (ordered alphabetically by URL).
- The static recompilers Yahoo group have the goal of statically translating binary code (mostly old arcade games) from one architecture to another. There is a tool called Orion that emits a sort of unrolled interpreter of input machine instructions into C code. It's basically static binary translation, so the output is hard to read, and the original machine's instructions are very visible. Works on code from Z80, 6502, and a few other architectures.
- Unconfirmed: John Banning and Hans Pufal's NLZ program, said to be part of Hunter Systems's XDOS suite. It was reportedly able to decompile PC applications and help port them to Unix workstations. Original contact: Hunter Systems, since acquired by Miltiport of Mountain View, CA, USA.
Search
- Search freshmeat for "decompiler" or "decompile".
- Search SourceForge for "decompiler" or "decompile".
- Search Google Scholar (in Beta at the time of writing) for "decompiler" or "decompilation".
- Search CiteSeer.IST for "decompiler" or "decompilation".
Java Decompilers
Program-Transformation.Org: The Program Transformation Wiki
Decompiler front ends
Some decompilers are just GUI front-ends for a console (text) based decompiler. Some are listed in this table.
Front end (GUI) decompiler Back end decompiler (engine)
- Cavaj Jad
- Decafe Pro Jad
- DJ Java Decompiler Jad
- Frontend Plus Jad
- JadClipse (Eclipse plugin) Jad
- BTJ (Back To Java) JODE
- jEdit's JavaInsight plugin JODE