在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:Storyyeller/Krakatau开源软件地址:https://github.com/Storyyeller/Krakatau开源编程语言:Python 83.9%开源软件介绍:Krakatau provides an assembler and disassembler for Java bytecode, which allows you to convert binary classfiles to a human readable text format, make changes, and convert it back to a classfile, even for obfuscated code. You can also create your own classfiles from scratch by writing bytecode manually, and can examine and compare low level details of Java binaries. Unlike Krakatau's assembler syntax is mostly a superset of Jasmin syntax with some minor incompatibilities, but unlike Jasmin, Krakatau has full support for all Java 14 features and even supports some undocumented features found in old versions of the JVM. Krakatau also provides a decompiler for converting Java binaries to readable source code. Unlike other decompilers, the Krakatau decompiler was specifically designed for working with obfuscated code and can easily handle tricks that break other decompilers. However, the Krakatau decompiler does not support some Java 8+ features such as lambdas, so it works best on older code. InstallationKrakatau is pure python, so assuming you have Python already installed, all you need to do is checkout this repository. DisassemblyThe disassembler has two modes: default and roundtrip. The default mode is optimized for readability and ease of modification of the resulting assembly files. When the output is reassembled, it will result in classfiles that are equivalent in behavior to the original from the perspective of the JVM specification, but not necessarily bit for bit identical (for example, the constant pool entries may be reordered). Roundtrip mode produces output that will reassemble into classfiles that are bit for bit identical to the original, but this means that the assembly files preserve low level encoding information that makes them harder to read, such as the exact order of constant pool entries. It is recommended to use roundtrip mode when working with code that relies on non-standard attributes, such as CLDC code or Scala code. Example usage:
You can either disassemble an individual classfile, a directory of classfiles, or an entire jar file. If the input filename ends in The To disassemble in roundtrip mode as described above, pass the AssemblyThe Krakatau assembler allows you to write Java bytecode in a human friendly text based format and convert it into binary Java classfiles.
You can either assemble an individual source file, a directory of source files, or an entire jar file containing assembly files. If the input filename ends in The The DecompilationFirst off, make sure you have Python 2.7 installed. The Krakatau assembler and disassembler support both Python 2.7 and Python 3.5+, but the decompiler only supports Python 2.7. Next, make sure you have jars containing defintions for any external classes (i.e. libraries) that might be referenced by the jar you are trying to decompile. This includes the standard library classes (i.e. JRT). In versions of Java up to Java 8, this was conveniently provided as a By default Krakatau will attempt to locate the pre-installed Example usage:
The The The |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论