Java Bytecode Obfuscator

When I used Bytecode Obfuscator to confuse my java code.
They were business rules which write in Actions and Entities.
But the confuguration in xmls such as Entities.xml or struts-config.xml does not mach the reference of my Obfuscated classes.
Are there any solutions about this??

Migolia,
This question is not related to JHeadstart. Please post your question on the JDeveloper forum.
Thank you,
Steven Davelaar
JHeadstart Team.

Similar Messages

  • Where to learn about the java bytecode?

    I want to learn the JAVA bytecode. Where to find information about that?

    The list of opcodes, list of data types, and how to use them is here:
    http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
    I personally use BCEL to manipulate class files.
    http://jakarta.apache.org/bcel/
    Some report they prefer Soot.
    http://www.sable.mcgill.ca/soot/

  • Java Bytecode error

    I am programming a program in Java Bytecode as an assignment. I am using Jasmin to compile the code.
    My program generates a random int between 0-1000 then converts that number into a string that is the binary equivalent of that number, then prints it out.
    I am getting an error though and I am not sure what the error means, or where the error is happening...so I heard the people here on the java forums can be very helpful so I decided to see if you could help me. Any Suggestions?
    Error:
    Exception in thread "main" java.lang.NoClassDefFoundError: java/util at IntToBinary.main(IntToBinary.j)
    .class public IntToBinary
    .super java/lang/Object
    ; standard initializer
    .method public <init>()V
       aload_0
       invokenonvirtual java/lang/Object/<init>()V
       return
    .end method
    .method public static main([Ljava/lang/String;)V
           ; set limits used by this method
           .limit locals 4
           .limit stack 4
           ;generates a Printsteam and stores it
           getstatic java/lang/System/out Ljava/io/PrintStream;
           astore_0
           ;Generates a Random Object
           getstatic     java/util/Random Ljava/util/Random;
           ;Push 1001 on stack, cause we only want numbers inbetween 0-1000
           sipush 1001
           ;This now gets me a random integer between 0-1000
           invokevirtual     java/util/Random.nextInt(I)I
           ;This takes in the int and puts out the binary equivalent in a string
           invokestatic     java/lang/Integer/toBinaryString(I)Ljava/lang/String;
           ;These are the methods/variables to print our result off
           astore_3
           aload_0    ; push the PrintStream object
           aload_3    ; push the string we just created - then ...
           invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
           ; done
           return
    .end method

           ;Generates a Random Object
           getstatic     java/util/Random Ljava/util/Random;The comment's wrong. It doesn't generate anything. Instead it tries to get the field Random from the class java.util - hence the error you're seeing.

  • Help reading java bytecode

    I need read java bytecode to understand the structure of a class. I need know the variable and the method of a class.
    I do this using the library javassist. I would like to know wich method are called inside a method. I think I should interpratate the javabytecode. Is it technical possible do this? Any idea o useful link to read?
    Edited by: orsvon on Sep 10, 2010 5:02 AM

    Thanks for your useful link!
    I get the method called inside a method using javap -c ClassFileName. Then I parse the output looking for the instraction invokevirtual.
    Is there a clen way to do this?

  • Hi, where can i find specification of the Java ByteCode language ?

    Hi all.
    I need the java Bytecode language RFC/Specification i must create an sample language which must be translated to Java Bytecode but i cant fnid java bytecode specification
    i mean what structures and operations are available under Java Interpretator language and etc.

    here

  • Comments inside java bytecode

    I have heard rumors of a way to add a comment block inside java bytecode. Can anyone point me to a reference that spells this out more clearly?

    Thanks for the help Owen.
    I'd like to add comments to bytecode so that I can create add annotations than an extended java bytecode typechecker can check. See SafeJava
    http://www.eecs.umich.edu/~bchandra/publications/phd.pdf
    Can you tell me more about using the CODE attribute?
    I'm sure they're talking about java source code, not
    byte code.
    Java bytecode is a strict list of approx 200 byte
    code instructions.
    What you "might" be able to do (but only you could
    read them) is to create your own "custom attribute"
    attached to a CODE attribute in the Java class file.
    The VM ignores any attributes it doesn't recognise.
    So, if you write your own dissassembler, it would
    recognise the custom attributes. But I don't see
    what this would accomplish for you....
    Why would you want comments in byte code ? ( the
    class file )
    It would only help people greatly to reverse engineer
    and decompile your code.
    regards,
    Owen

  • Java ByteCode

    Hi guys,
    I have some questions about java bytecode..
    1-java bytecode is cointained in the .Class file,that is autogenerated by Ecliplse(the ide I'm using) or by javac.
    I need to extract the bytecode from a .class file,and actually I'm using this piece of code :          //leggo il codice dal file java e lo memorizzo come byte
              file=new File(path);
              InputStream is;
              try {
                   is = new FileInputStream(file);
                   long length = file.length();// Get the size of the file
                   // You cannot create an array using a long type.
                   // It needs to be an int type.
                   // Before converting to an int type, check
                   // to ensure that file is not larger than Integer.MAX_VALUE.
                   if (length > Integer.MAX_VALUE) {
                        // File is too large
                   // Create the byte array to hold the data
                   dati = new byte[(int)length];
                   // Read in the bytes
                   int offset = 0;
                   int numRead = 0;
                   while (offset < dati.length
                             && (numRead=is.read(dati, offset,dati.length-offset))>=0) {
                        offset += numRead;
                   // Ensure all the bytes have been read in
                   if (offset < dati.length) {
                        throw new IOException("Could not completely read file "+file.getName());
                   // Close the input stream and return bytes
                   is.close(); Is it right?(I think so..)
    2-Then my program will serialize and send through TCP socket the bytes loaded from the .class.The receiver need to create an instance of the .class received...how do I do this...(note that I know the name of the class)?
    Thanks a lot guys...BYE!--JAVA ROCKS

    1. Looks okay.
    2. Create a suitable subclass of ClassLoader. The API doc for it is reasonable helpful.

  • Java bytecode generation

    I am a student and am doing a project on converting java syntax which is in english into my own language which is urdu. the problem is that i am not able to read a single word from java class file inorder to get the specified bytecode. please provide me guidance.

    My interpretation of your question, is that you want to extract the constant strings out of a class file, translate them from English to Urdu, and rewrite the class file ?
    Basically, localisation, without the source code ?
    Here's a link to the detailled format of the class file format.
    http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#80961
    You probably only need to know how to read the constant pool.
    It stores all the constant strings in a class file.
    You won't need to touch the byte code itself.
    ( The byte code is the actual instructions stored in a code tag within the method attribute )
    So, in theory, you could read in the constant pool, translate the strings and write out the translated string to a new classfile.
    ( has to be same name, but in a different directory )
    It would require at least intermediate Java skills though.
    regards,
    Owen

  • How to visualize java bytecode?

    Hey guys
    I'm here again with another question for you.
    That you know, is there a way to visualize and see the bytecode of a program in Java? if yes can you please tell me how to do this?
    Thanks in advance.
    Maddy

    I dont think u can insert anything into to a .class file.So not true. How do javac, jikes, jasmin and several other compilers / translators work then?
    There are several APIs for doing that. Check the link I gave. And this: http://directory.google.com/Top/Computers/Programming/Languages/Java/Class_Libraries/Data_Formats/Java_Class_Files/
    CafeBabe is a graphical tool but it is far from finished right now: http://jfa.javalobby.org/projects/CafeBabe.html
    I'm sure there are lots of others... I was browsing the 'net the other day and became momentarily intressed in this. I found a myriad of different tools - even graphical ones - but I can't seem to be able to find them now :(
    infact as far as i know, even if u delete a char and retype the same char the verifier will complain.If you use a text editor, of course. The different character encodings and null bytes mix things up pretty badly, you know... You can't even open and save an casual GIF file in Notepad so that the result will be valid GIF!

  • Java Code Obfuscation

    Hello Everyone,
    I want to obfuscate my java code in order to protect its source code. Can anybody tell me how to do it ? I am using netbeans ide for development.
    Thanks

    DrClap wrote:
    BigDaddyLoveHandles wrote:
    DrClap wrote:
    jverd wrote:
    If you have to ask this here, your code is not worth obfuscating.But there are use cases for obfuscating bad or incompetent code. Consider the case where you are writing code on an outsourcing basis, and you don't want to reveal to your customer just how bad your code is...DrC, have you turned to the Dark Side?No, it's just that I can produce an explanation for anything.Yeah, I was married too.

  • Java code obfuscation contest!

    Is there a contest for code obfuscation in Java like this one:
    http://www.ioccc.org/
    Thanks,
    ***Annie***

    A humble contribution ported from the C program below:
    public class obfu {
    static char P(int x) { return (char) (72.5
    + (x) * ( 17488.5893190143069659825414419174194335938
    + (x) * ( -54923.96120078334934078156948089599609375
    + (x) * ( 72666.967918019494391046464443206787109375
    + (x) * ( -54398.9747932198733906261622905731201171875
    + (x) * ( 25980.9552212852504453621804714202880859375
    + (x) * ( -8426.37914599867326614912599325180053710938
    + (x) * ( 1921.50903346147470074356533586978912353516
    + (x) * ( -313.599191650329032654553884640336036682129
    + (x) * ( 36.7992157531415244875461212359368801116943
    + (x) * ( -3.07878165647045820563221241172868758440018
    + (x) * ( 0.179135367188752586686817380723368842154741
    + (x) * ( -0.00688508034211159428150672567880974384024739
    + (x) * ( 0.000157099121942871932430113579570729598344769
    + (x) * ( -1.61094004099956588328874419746572499434478e-06
    public static void main(String args[])
         int i,c; for(i=0;(c=P(i))!='\0';i++) System.out.print((char)c);
    #define P(x) ( 72.5\
    + (x) * ( 17488.5893190143069659825414419174194335938\
    + (x) * ( -54923.96120078334934078156948089599609375\
    + (x) * ( 72666.967918019494391046464443206787109375\
    + (x) * ( -54398.9747932198733906261622905731201171875\
    + (x) * ( 25980.9552212852504453621804714202880859375\
    + (x) * ( -8426.37914599867326614912599325180053710938\
    + (x) * ( 1921.50903346147470074356533586978912353516\
    + (x) * ( -313.599191650329032654553884640336036682129\
    + (x) * ( 36.7992157531415244875461212359368801116943\
    + (x) * ( -3.07878165647045820563221241172868758440018\
    + (x) * ( 0.179135367188752586686817380723368842154741\
    + (x) * ( -0.00688508034211159428150672567880974384024739\
    + (x) * ( 0.000157099121942871932430113579570729598344769\
    + (x) * ( -1.61094004099956588328874419746572499434478e-06\
    #include <stdio.h>
    int main() { int i,c; for(i=0;(c=P(i));i++) printf("%c",c); return c;}

  • Java bytecode editor...

    ...does anyone know of one?
    I'm only looking to make very minor changes to some classes in a .jar, so it doesn't have to be too fancy.
    I've already tried this eclipse plugin:
    http://andrei.gmxhome.de/bytecode/links.html
    but couldn't get it to work.
    Any other suggestions 
    cheers!

    no need to edit the bytecode directly.
    unzip, jad( java decompiler) the classfile, change the javafile, compile changed javafile and package the whole thing up again.

  • Serialization and Java bytecode version

    I have the following scenario: the server sends serialized objects compiled with java 1.5 (the source code is compilable with java 1.4) to clients running java 1.4. I thought I would have problems and conflicts of java versions but the application runs fine. Is there any risk in such scenario? I mean, would it be better if I compiled with java 1.4 on the server side only those classes whose objects are sent as serialized objects to the java 1.4 clients or is it not necessary?

    cotton.m wrote:
    In the future Serialization related questions should be posted into the appropriate forum.Okay, sorry for this inconvenience.
    What you are doing may be okay but you need to be careful. I hope you have a serialID at least? Yes, I have an explicit and generated by serialver tool serial id.
    The question of 1.4 to 1.5 compatibility is best checked by compiling that code to 1.4 using the javac source and target parameters.Surprisingly I am defining source and target with 1.5, and the application works perfectly. I believe what matters is the bytecode version, that, in my case, even with source and target equal to 1.5 in the moment of compilation, is equal to 48.0.

  • Java bytecode operation 'invokevirtual' does not keep consistency

    I have following codes.
    public class Parent {
    @Override
    public int hashCode() {
    return 0;
    public class Child extends Parent {
    public void test() {
    this.toString();
    this.hashCode();
    As you see in the above codes, Child inherits toString() from Object and hashCode() from Parent. Bytecode operation of Child#test is as following.
    ALOAD 0: this
    INVOKEVIRTUAL Object.toString() : String
    ALOAD 0: this
    INVOKEVIRTUAL Child.hashCode() : int
    RETURN
    I think if invokevirtual calls Object.toString(), it should call Parent.hashCode() for consistency. or, Child.hashCode() called, then Child.toString() should be called.
    However, invokevirtual does not keep its consistency if and only if target method is inherited by Object.
    Only that case, invokevirtual calls method in the Object. For other cases, invokevirtual calls method in current class.
    I want to know why this happens.

    I think if invokevirtual calls Object.toString(), it should call Parent.hashCode() for consistencyExcept that it doesn't exist.
    You can't seriously be suggesting that this doesn't work correctly.

  • Can we convert Java ByteCodes into Executable Independent Files?

    Hi there!
    I have been bragging to my clients the benefits of Java Applications, but one thing I couldn't convince them is the use of a JVM. They dislike the idea of downloading the JRE, and the slowness of programs running in an interpreter. I am stumped for not being able to satisfy their need for a .EXE program on their Win32 systems. And, it would be ridiculous to go back again to C++, after learning Java.
    Is their a tool or a way to convert .CLASS files into .EXE(Win32) files, to make it execute faster and independent? I know it would sacrifice portability, but I have to give in to demands. As they say it, "The customers are always right." Please, anybody out there, shed some light for me on this one. Thanx in advance.
    BlueKnyght.ph

    I have been bragging to my clients the benefits of
    Java Applications, but one thing I couldn't convince
    them is the use of a JVM. They dislike the idea of
    downloading the JRE, and the slowness of programs
    running in an interpreter. I am stumped for not being
    able to satisfy their need for a .EXE program on their
    Win32 systems. And, it would be ridiculous to go back
    again to C++, after learning Java. I'm not going to address the JRE distribution as it's already been mentioned and there are several ways of approaching that problem that you can find easily in the forum so I won't waste space for it here.
    What you need to address more than anything is the supposed slowness of java programs. The question at hand is slow as compared to what? In what context? A benchmark can be twisted to show whatever the author of the report wants it to show. Thus I tend to distrust such statistics in general due to the economical influence of the author or comissioner of the report being in the business of trying to sell something. Exactly what are they calling slow and what causes this perception on their part? I wouldn't sidestep the issue, or try to B.S. about it, but I'd be willing to bet that their fears are unfounded and based on superstition and hearsay.
    >
    Is their a tool or a way to convert .CLASS files into
    .EXE(Win32) files, to make it execute faster and
    independent? I know it would sacrifice portability,
    but I have to give in to demands. As they say it,
    "The customers are always right." Please, anybody out
    there, shed some light for me on this one. Thanx in
    advance.
    BlueKnyght.ph

Maybe you are looking for

  • External HArd Drive not recognized by MAcBook Air

    Hi, I bought an external hard drive(from LaCie) few months ago and plugged it once to my Macbook Air. I tried to plug it again last month and my MacBook Air didn't recognize it. I also tried to plug it in a PC and not recognized as well. I've been to

  • Upload to solaris slower than to wintel

    I posted a similar question before but have not resolved the issue so... I setup WLS 6.1 on a wintel, 500MHz laptop and WLS6.1 on a E220R running Solaris 8 my client browser is IE 5.5 running on Win2k I tested the time it takes to upload a file using

  • Program to activate the process chain in 3.5 version

    HI Experts, Like we are activatie jng the transfer strcturers_TRANSTRUC_ACTIVATE_ALL. I am having some problems ...I need the program to activate the process chain by using program in 3.5 Could any respond on this ASAP. Thanks KK

  • VoIP (SIP) configuration guide for Nokia 5800xm

    hi.everybody i would like to ask how to configure this  VoIP (SIP) configuration for my n5800, because when i saw and follow this link http://www.elisanet.fi/craig/sipvoip/nokia_n97.html ,i only configure my SIP setting and not my net setting which i

  • Cannot resolve symbol on char variable

    my compiler stops at this line char variablename = keyboardInputChar(); i am trying to input a character and declare a variable at the same time. what am i doing wrong? any help appreciated.