ASM - Java bytecode manipulation and analysis framework

  •        0

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.

http://asm.ow2.org/
http://forge.ow2.org/projects/asm/

Tags
Implementation
License
Platform

   




Related Projects

asm-codecheck - Example of how to use ASM bytecode library to examine bytecode


Example of how to use ASM bytecode library to examine bytecode

java-asm-test - Testing ASM framework for java bytecode manipulation


Testing ASM framework for java bytecode manipulation

JavaProfiler - Java profiling application using javaagents and ASM bytecode rewriter


Java profiling application using javaagents and ASM bytecode rewriter

asm-example


A few examples of objectweb's asm, a java bytecode library. Trying out the ASMifier to run HelloWorlds from bytecode in both Scala and Java.

BC - Scala Bytecode DSL built on ASM


Scala Bytecode DSL built on ASM

dexmaker - A utility for doing compile or runtime code generation targeting Android's Dalvik VM


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.

JMD - Java bytecode analysis/deobfuscation tool


Java bytecode analysis/deobfuscation tool

scarab - A static code analysis tool for java bytecode


A static code analysis tool for java bytecode

asm-bytecode-intellij - An ASM (http://asm.ow2.org/) plugin for IntelliJ IDEA


An ASM (http://asm.ow2.org/) plugin for IntelliJ IDEA

huntbugs - Java bytecode static analyzer


Java bytecode static analysis tool

enjarify


Note: 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: A translator from .NET bytecode to Boogie


Bytecode Translator is a translator from .NET bytecode to Boogie.

log-remover - Removes apache commons-logging debug() calls from bytecode while loading bytecode


Removes apache commons-logging debug() calls from bytecode while loading bytecode

jclasslib bytecode viewer


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, modify and write Java class files and bytecode.

Flasm - a Flash bytecode assembler


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.

autodisass-java-bytecode - Automatically disassemble emacs buffers containing Java bytecode.


This package enables the automatic disassembly of Java bytecode inside Emacs buffers. It was inspired by a blog post of Christopher Wellons.

Visual Examinator


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


Undx is a bytecode translator, it converts the bytecode for the dalvik vm (a virtual machine for android applications) to standard java bytecode.

bytecode-hack - Hacking Python bytecode


Hacking Python bytecode