ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools.
ASM offer similar functionality as other bytecode frameworks, but it is focused on simplicity of use and performance. Because it was designed and implemented to be as small and as fast as possible, it makes it very attractive for using in dynamic systems.
Tags | bytecode bytecode-analysis |
Implementation | Java |
License | BSD |
Platform | OS-Independent |
A Java-language API for doing compile time or runtime code generation targeting the Dalvik VM. Unlike cglib or ASM, this library creates Dalvik .dex files instead of Java .class files.It has a small, close-to-the-metal API. This API mirrors the Dalvik bytecode specification giving you tight control over the bytecode emitted. Code is generated instruction-by-instruction; you bring your own abstract syntax tree if you need one. And since it uses Dalvik's dx tool as a backend, you get efficient register allocation and regular/wide instruction selection for free.
jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read and write Java class files and bytecode. There is a plugin for IntelliJ IDEA that can be installed via the plugin manager. The action in the "View menu" can be invoked when a Java, Groovy or Kotlin file is open in the editor.
kotlin bytecode guiNote: This repository may be out of date. Future development will occur at https://github.com/Storyyeller/enjarify.Enjarify is a tool for translating Dalvik bytecode to equivalent Java bytecode. This allows Java analysis tools to analyze Android applications.
Bytecode Translator is a translator from .NET bytecode to Boogie.
A native Python cross-version decompiler and fragment decompiler. The successor to decompyle, uncompyle, and uncompyle2. uncompyle6 translates Python bytecode back into equivalent Python source code. It accepts bytecodes from Python version 1.5, and 2.1 to 3.7 or so, including PyPy bytecode and Dropbox's Python 2.5 bytecode.
decompiler bytecodejclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read, modify and write Java class files and bytecode.
Flasm is an assembler/disassembler for Flash actionscript bytecode. Using flasm, script authors may learn how actionscript compiler and Flash Player virtual machine work, and tweak the compiled bytecode in SWF files for performance.
Bytecode Examinator - This is a gui application that aids students learning of Java bytecode and Java class file construction. It provides visual insight to assembly and disassembly of Java bytecode.
Undx is a bytecode translator, it converts the bytecode for the dalvik vm (a virtual machine for android applications) to standard java bytecode.
ReDex is an Android bytecode (dex) optimizer originally developed at Facebook. It provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes that use this framework to improve the bytecode. An APK optimized by ReDex should be smaller and faster than its source.Getting these dependences is easiest using a package manager.
GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.
java-compiler compilerThe TechTrader Bytecode Toolkit is a high-level set of APIs for manipulating java bytecode. It is primarily targeted at making runtime and/or compile-time enhancements to existing java classes, or creating new java classes on the fly.
The LuaJIT Language Toolkit is an implementation of the Lua programming language written in Lua itself. It works by generating LuaJIT bytecode, including debug information, and uses LuaJIT's virtual machine to run the generated bytecode. On its own, the language toolkit does not do anything useful, since LuaJIT itself does the same things natively. The purpose of the language toolkit is to provide a starting point to implement a programming language that targets the LuaJIT virtual machine.
An annotation and bytecode rewriter that creates overloads of methods which vary only by return type. This is not legal in source but is perfectly valid in bytecode. The second method will be generated by the compiler. It is marked as synthetic so that it does not show up in the IDE to consumers. The annotation is also removed from the original method leaving no runtime trace of the tool.
Cinder is Instagram's internal performance-oriented production version of CPython 3.8. It contains a number of performance optimizations, including bytecode inline caching, eager evaluation of coroutines, a method-at-a-time JIT, and an experimental bytecode compiler that uses type annotations to emit type-specialized bytecode that performs better in the JIT. For more information on CPython, see README.cpython.rst.
Huge thanks to QuoScient for having sponsored this project. Octopus is a security analysis framework for WebAssembly module and Blockchain Smart Contract.
security ethereum smart-contracts blockchain disassembler webassembly wasm neo control-flow-analysis eos security-analysis evm-bytecode call-flow-analysisSCOUTER is an open source APM like new relic and appdynamics. (APM means Application Performance Monitoring or Application Performance Management.) SCOUTER shows metrics about Users (Active user, Recently used user, Today visitor), Services ( Active service, TPS, Response time, Application profiles(method profile, sql profile, external call profile etc) and Resources (Cpu, Memory, Network and Heap usage, Connection pools etc).
agent monitoring bytecode metrics asm tomcat apm performance-metrics performance-monitoring bci java-application application-performance-monitoringThe T. J. Watson Libraries for Analysis (WALA) provide program analysis capabilities for Java bytecode and related languages. The WALA libraries constitute an open-source release of parts of IBM Research's DOMO analysis infrastructure.
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.