bytecode

How do languages/runtimes based on JVM generate Java bytecode?

There are several languages/runtimes atop the JVM: such as JRuby, Groovy, Jython, Clojure, Rhino, Scala, and so on... How do these generate Java bytecode? Are there standardized libraries for doing this? How the generated bytecode gets executed? (Or is my assumption wrong, and some of mentioned languages do not generate bytecode?) ...

Is it easy to fully decompile python compiled(*.pyc) files?

I wanted to know that how much easy is to decompile python byte code. I have made an application in python whose source I want to be secure. I am using py2exe which basically relies on python compiled files. Does that secure the code? ...

What is Java bytecode injection?

What exactly is Java bytecode injection and why would one use it? ...

is it possible to disable javac's inlining of static final variables?

The Java static compiler (javac) inlines some static final variables and brings the values directly to the constant pool. Consider the following example. Class A defines some constants (public static final variables): public class A { public static final int INT_VALUE = 1000; public static final int STRING_VALUE = "foo"; } Cla...

How can be bytecode used for optimizing the execution time of dynamic langauges?

I am interested in some optimization methods or general bytecode designs, which might help speed up execution using VM in comparison to interpretation of an AST. ...

How to check that bytecode operation PUTFIELD is reassigning a field belonging to 'this' object using ObjectWeb ASM?

I am using the ASM bytecode manipulation framework to perform static analysis on Java code. I wish to detect when fields of an object are reassigned, i.e. when this kind of code occurs: class MyObject { private int value; void setValue(int newValue) { this.value = newValue; } } Using the following code (in a class implementing...

What are alternatives to the Java VM?

As Oracle sues Google over the Dalvik VM it becomes clear, that you cannot implement a Java VM without license from Oracle (EDIT: Matthew Flaschen points out, that the claims of Oracle may not be valid. Anyways we have currently a situation, where Oracle threats VM-implementations.). That may become the death for Open-Source-implementati...

Is it possible to change strings (content and size) in Lua bytecode so that it will still be correct?

Is it possible to change strings (content and size) in Lua bytecode so that it will still be correct? It's about translating strings in Lua bytecode. Of course, not every language has the same size for each word... ...

i need NHibernate.ByteCode.Castle source code

Hi I need to get into FluentNhibernate and NHibernate code so i rebuild the solutions and used the new assemblies, but the problem is that there is an assembly called NHibernate.ByteCode.Castle.Dll which refuses to load the my own version of Nhibernate and keep telling me that the Public Token doesn't match, so where can i get the sour...

Python bytecode compiler; removes unnecessary variables?

Given the following: def foo(): x = a_method_returning_a_long_list() y = a_method_which_filters_a_list(x) return y will Python's bytecode compiler keep x & y in memory, or is it clever enough to reduce it to the following? def foo(): return a_method_which_filters_a_list(a_method_returning_a_long_list()) ...

How to detect where strings begin in Lua Bytecode? (using C#)

How to detect where strings begin in Lua Bytecode using C#? I would like to list all the strings in a Lua Bytecode file. ...

How to programatically find the bytecode (CIL) in a .Net executable/dll?

I would like to open a PE file (which i know is a .Net assembly) and find where the .Net bytecode is (ideally starting at the entrypoint). I know that the PE header data (entrypoint RVA) take me just to a stub which calls CorExeMain from mscoree.dll. This is not what i'm looking for though. I would like to find the bytecode that gets ru...

Find out which classes of a given API are used

In a Java Project of mine, I would like to find out programmatically which classes from a given API are used. Is there a good way to do that? Through source code parsing or byte code parsing maybe? Because Reflection won't be of any use, I'm afraid. To make things simpler: there are no wildcard imports (import com.mycompany.api.*;) anyw...

Encrypted class files with decryption handled by a native library

The article "Cracking Java byte-code encryption" (javaworld.com/javaworld/javaqa/2003-05/01-qa-0509-jcrypt.html) explains why class file encryption using a custom class loader is pointless, because at some point you always need to call defineClass(), which passes the class file to the JVM as an unencrypted byte array. However I've seen ...

Get java.lang.IllegalAccessError when accessing the private field of a outside class via ASM Java Bytecode

Hi, in reflection, the private field can be access via getDeclaredField() and setAccessible(true). How to access the private field of a outside class via Objectweb ASM bytecode API? I set to get the private field from something like, via Field current = sourceObject.getDeclaredField(privateFieldName); Field.setAccessible(true); Type so...

Java 6 - Annotation processor and code addition

I wrote a custom annotation containing metadata for a property and an AnnotationProcessor: @SupportedAnnotationTypes({"<package>.Property"}) public class PropertyProcessor extends AbstractProcessor { @Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { // Get messager object Mes...

Possible strategies to increase the difficulty of effective bytehacking

I've been asked to patch a few minor flaws in a game of the unreal series. It uses the unrealscript language which produces bytecode in a similar way to Java. One of the issues is that it's possible to edit any packages downloaded to a client and insert a goto instruction to jump over important bits of code. It isn't possible to preven...

How can I see in what [Java/Scala?] code does Scala compiler rewrites original Scala-code

Following Scala mailing lists, different people often say: "compiler rewrites this [scala] code into this [java/scala??] code". For example, from one of the latest threads, if Scala sees class C(i: Int = 4) { ... } then the compiler rewrites this as (effectively): class C(i: Int) { ... } object C { def init$default$1: Int = 4 } H...

Does jruby compile down to the same bytecode as a java app? can it be obfuscated then?

If jruby can run on tomcat, I'm guessing it compiles down to the same bytecode that a regular java web app would? Does this mean I can use existing obfuscation tools that exist in the java market and use it on a jruby (ruby on rails) web app? ...

Lua equivalent to Python dis()?

In Python you have the ability to view the compiled bytecode of a user-defined function using dis. Is there a builtin equivalent to this for Lua? It would really useful! ...