Coddec released

Finally we’ve decided to release coddec to public. Well, it is not actual coddec we use “in-house” but a very first working version of it.

Source and binary are provided. Please don’t ask for documentation or how to use it, I think it is very straightforward. There is a little bug which fires exemptions in some cod files – it is easy to fix it so we’ve left it there for you :)

Coddec

Enjoy

dr bolsen

127 Responses to Coddec released

  1. Zx.MYS says:

    It worked!!
    Goooooooooooooooood job!!!

  2. dELTA says:

    You will find this download mirrored at the Collaborative RCE Tool Library too, in case the RapidShare link has expired when you read this.

    http://www.woodmann.com/collaborative/tools/index.php/Coddec

  3. Oon says:

    hi drbolsen,

    have you reverse engineering the Javaloader.exe protocol communication (USB communication)?

    please contact me via email,
    where should i contact you?

    thanks

  4. jojo says:

    how do u use this coddec?

  5. pitito says:

    Indeed I would correct the bug if I’d know how to build it:

    ./net/rim/tools/compiler/exec/Comparator.java:7: net.rim.tools.compiler.exec.Comparator is already defined in this compilation unit
    import java.util.Comparator;
    ^
    ./net/rim/tools/compiler/exec/Comparator.java:9: cyclic inheritance involving net.rim.tools.compiler.exec.Comparator
    public interface Comparator
    ^
    ./net/rim/tools/compiler/exec/c.java:18: net.rim.tools.compiler.exec.c is already defined in net.rim.tools.compiler.exec
    static class c
    ^
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    3 errors

  6. dandin1 says:

    Fantastic! It works! Is there a way to turn off the output on the screen? I think it might be slowing coddec down.

  7. dandin1 says:

    When looking at the decompiled headers of public non-static methods, it would seem there’s an added parameter at their begenning, of the same type as the class. For example, BasicEditField.getTextLength() shows up as getTextLength(net.rim.device.api.ui.component.BasicEditField);. Is this a bug or simply the way the VM works internally?

    Also, is there a trick to manually resolving classes that show up as something.class#27?

    I’ve yet to take a look at the code, so my questions will probably sound stupid to me once I do. ;)

  8. Compu_guy says:

    Just wondering if there is something out there to translate the bytecode to standard java language. I have an arithmetic problem that I can’t quite follow in the bytecode.

  9. Cristian says:

    Hi,

    I tried to decomplite a COD file but I got the following exception stack trace.

    C:\coddec>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compiler Gestion.cod
    flashId mismatch. need: -16162 found: 67324752
    java.io.IOException: flashId mismatch. need: -16162 found: 67324752
    at net.rim.tools.compiler.codfile.Codfile.(Codfile.java:83)
    at net.rim.tools.compiler.codfile.Codfile.(Codfile.java:125)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:919)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

    C:\coddec>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compiler /B’

    Could anyone please help to find a solution?

    Thanks.

    Cristian

  10. Dr. {B0lsen} says:

    Cristian,

    That is a normal behavior of the tool – a valid cod file must start with FFFFC0DE tag (-16162). Check your file whether it is a working BB app.

    • sheep says:

      i have some valid cods file worked, but they are not starting with FFFFC0DE(-16162).so what do you think about that?
      BTW,may i have one new coddec you haven’t released it to public?
      i am form China.like to crack berryable apps.
      thank you!

  11. Dr. {B0lsen} says:

    Compu_guy,

    Yes, we have an advanced version of the coddec which can decompile cod files. However we don’t have any plans at the moment to release it to public.

    Cheers

  12. Dr. {B0lsen} says:

    dandin1,

    In the provided example is how JVM “internally” passes a “self” parameter to a method. Hint: check get_name, get_name1 and get_name2 methods to find out how to present a method in a standard, not internal way ;0)

    something.class#27 – hint: check getNonLocalClassDef method in coddec.java. The idea is to use ordinal of class (i.e 27) as an index to find the name of the class.

  13. Dr. {B0lsen} says:

    Oon,

    mail us to reverseforsage at gmail com

  14. Prabhu says:

    Hi,

    Got a doubt regarding application permissions. I am signing my application but still it asks the user to save the application permission. Is there any way to by pass it so that our app will work without user manually setting the permissions.

  15. pyrex says:

    what is the point of reversing? If i reversed a theme i made, can i make it more advanced? Using the blackberry ofcourse? I dumped the .cod junk into a .java file, what comes afterwards now?

  16. divus says:

    I would like to say thank you for such an awesome tool!
    However, I do have a question; I used coddec on a .cod file and one of the lines I am trying to understand is this:

    invokevirtual_short net.rim.tools.compiler.codfile.Identifier@0( )

    is that an unknown method being called or am I missing something?

    Thank you in advance for any help you may have to offer!

  17. xane says:

    no class ref found at offset: 0xa9d
    java.io.IOException: no class ref found at offset: 0xa9d
    at net.rim.tools.compiler.codfile.DataSection.getClassRef(DataSection.ja
    va:1653)
    at net.rim.tools.compiler.codfile.MemberRef.(MemberRef.java:49)
    at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590
    )
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.j
    ava:277)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.jav
    a:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

    I get this type of error on every COD file … :(

  18. Dr. {B0lsen} says:

    Check this line:

    at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590

    that is exactly the bug I’ve been talking about. You need to change “if” statement to resolve that then re-build the code again and it should work fine.

    Cheers,
    drbolsen

  19. fibrechunks says:

    I’m having two issues with coddec with regards to the codfile.DataSection.getClassRef error

    1) “Version 6” of CODFile has a new member type that is a subclass of MemberRef, that is 8 bytes long (contains an additional offset to something that appears similar to the _typeListOffset but I don’t know what it is yet)

    2) You said to change the “if” statement and re-build the code. Are you referring to:

    (in getClassRef)
    1652 if(at1 == null)
    1653 throw new IOException(“no class ref found at offset: 0x” + Integer.toHexString(__offset));
    1654 else
    1655 return at1;
    — modify this to return getNullClassRef?

    (or in _ifaZ)
    589 {
    590 net.rim.tools.compiler.codfile.MemberRef j2 = new net.rim.tools.compiler.codfile.MemberRef(__input, this);
    591 __codFileVector.addElement(new net.rim.tools.compiler.codfile.FixupTableEntry(__input, j2, 2, _aliasesFlag, flag1));
    592 }
    — extend the skipBytes logic into this portion of the if-statement.

    It doesn’t seem like adding support for the new 8-bytes MemberRef, or adding byte skipping, would work for my codfile.

    I can see classref offsets in the hex, but they just aren’t where I would expect.

    Any more hints? :-)

    • Paul Calderon says:

      Did you solve this problem, maybe you have the file modified, if you did, can you provide the datasection.java file to compile, or maibe you can send the compiled solved version.

      Thanks

  20. rambutan says:

    I’ve been told that a few shipping versions of rapc include the following classes:

    dumpclassfile
    dumpcodfile
    dumpdebug
    dumdepend
    dumphierarchy
    dumppersistable
    dumpsigner
    verifydebug

    Kindly let us know which version(s) of rapc were used by your team and if they remain publicly available.

    -rambutan

    thanks

  21. berryable says:

    dr bolsen, excellent work mate!

    after searching the net inside/out for signs of berry movement i was pleased to discover your work. i almost began to think that no one had interest on the subject.

    i’m able to get a valid s/n on numerous berry apps with another method.

    all the best,
    berryable

  22. Myraddin says:

    Anyone has an idea what this function does?

    public final int verifySlack(int i)
    throws IOException
    {
    int j = i – 1;
    int k = (_offset + j & ~j) – _offset;
    for(int l = 0; l < k; l++)
    if(readByte() != 0)
    throw new IOException(“bad slack byte at offset: 0x” + Integer.toHexString(_offset));

    return k;
    }

    It never reads anything and always returns zero :D
    Could be written as:

    public final int verifySlack(int i)
    {
    return 0;
    }

    Am I right ?

  23. Myraddin says:

    I cannot get it to work.
    It always misses the second MEMBERFIXUP struct :(

    (regarding net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590)

    The first struct is read properly but the second one is missed by exactly one byte (proven by using 010 editor with your COD template). I tried to ‘rewind’ backwards by one but it doesn’t work (and will probably break other code).

    Any hints for the if condition you mentioned needing a change?

  24. Majestik says:

    Am I reading this right, or is the jump offset calculation messed up?

    /* decompiled block
    enter e
    iconst_0 23
    istore_2 4f
    iconst_0 23
    istore_3 50
    new_lib b9 1
    dup cf
    aload_1 40
    invokespecial_lib 6
    astore_4 59
    aload_4 43
    stringlength d9
    istore_5 52
    iload_3 3a
    iload_5 3c
    if_icmpge 99 21 2 15
    aload_1 40
    iload_3 3a
    caload ae
    bipush 24
    if_icmpeq 91 10 2 a
    iinc 78 local= 2, 2 value= 1, 1
    iinc 78 local= 3, 3 value= 1, 1
    goto a1 -12 2 fffffff4
    iload_2 39
    bipush 24

    if_icmpne 94 10 2 a <— Is this jump offset really 10 bytes?

    /* there are only 4 left + the 3 for the if_icmp, are the offsets using words? */

    iconst_1 2c
    ireturn 18
    iconst_0 23
    ireturn 18
    */

  25. gReebok says:

    I’m having the same issue with DataSection._ifaZ as fibrechunks and xane
    Could anyone send me updated version? sergei.grebnov[a]gmail.com

    no class ref found at offset: 0xdbe4
    java.io.IOException: no class ref found at offset: 0xdbe4
    at net.rim.tools.compiler.codfile.DataSection.getClassRef(DataSection.java:1653)
    at net.rim.tools.compiler.codfile.MemberRef.(MemberRef.java:49)
    at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590)
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.java:277)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.java:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

  26. atleta says:

    “exemptions in some cod files – it is easy to fix it so we’ve left it there for you” && “that is exactly the bug I’ve been talking about. You need to change “if” statement to resolve that then re-build the code again and it should work fine.”

    That is a bit arrogant, isn’t it? It’s very nice tu publish your work for free, it’s even more generous to include the source code for every one to learn and use it, however it isn’t so nice to publish a piece of software with a known bug _and_ without the known fix. It’s a waste of a lot of people’s time. (Add to that that there is no build file or build script, so everyone wanting to use your stuff would have to get acquainted with your code, figure out the fix and create a build file.)

    I have also published some open source stuff on the net and when anyone found a bug or even a biit of incompatibility (think j2me implementations…) then I felt compelled to fix it. Just because by publishing your software you make a promise that it will work and you motivate people to invest time into trying to use it. :(

  27. smiley says:

    this tool does not work at all.
    i’m getting the same errors as everyone else.

    java.io.IOException: no class ref found at offset: 0x78cf

  28. light says:

    it doesn’t even work on a helloworld cod file… wtf?

    I tried using Netbeans to build it… no luck :/ any help would be nice… thanks!

  29. chadwik66 says:

    A few notes:

    1. I’ve not been able to get this to build in eclipse or netbeans. It does build rather easily in x-develop though (http://www.omnicore.com/en/xdevelop.htm).

    2. I’m still having trouble with the documented bug. Any guidance would be helpful -either in understanding the exact issue, or on how to handle the issue.

  30. nortchuck says:

    Hi dr bolson. Thanks for your hard work. is there a reason you are not releasing the advanced version that can decompile the code? seems that would be most helpful to the community.

    again, thanks for the work so far.

  31. Todd says:

    Any hits on how to build the files using X-develop Pro?

  32. icanhasfix? says:

    can someone pls provide a solution to fix that anoying bug?

    pleeeeeeeease :/

  33. I wish someone would use this to create some working keygens. I can’t even figure out how to rebuild the programs, let alone do anything useful.

  34. GaborZsazsa says:

    Hi,

    Please help me, i have got an error message:
    no class ref found at offset: 0x2ba6

    Thanx in advance,
    GZ

  35. Eric Crist says:

    I ran across this tool while trying to find a way to export thumbnails from Blackberry COD files for themes. I’ve got your tool working on my Mac, but I’m not seeing the actual images extracted. Is this something broken in my version, is this not part of the software. Could it be added? I’m building a BB theme hosting site, and would like to be able to extract the thumbnail upon file upload.

    Thanks.

  36. footose says:

    ^^ Were you able to fix the bug that is so haunting everyone for the last 2 years?

  37. boris spore says:

    a partial solution to this problem is at http://www.dontstuffbeansupyournose.com/?p=99

  38. Nick says:

    no class ref found at offset: 0x843e

    Any one resolve this problem?

  39. Maverick says:

    hi,i tied the coddec it says
    Exception in thread “main” java.lang.NoClassDefFoundError: net/rim/tools/compile
    r/Compiler
    Caused by: java.lang.ClassNotFoundException: net.rim.tools.compiler.Compiler
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: net.rim.tools.compiler.Compiler. Program will ex
    it.

  40. Geoff says:

    I am a complete neophyte to this type of enjoyment and would really appreciate it if some kind person would actually email me (or place on the site) step by step idiot proof instructions on how to “build” the application and then have it run against the file. A one time blurb from a person in the know would help this ole person amazingly. Thank You to All.

    G

    • Paul Calderon says:

      After a lot of work, patching, and trying, i got it, I have now all the java files for a cod.

      I just have a problem, the code i get into the java files is the assembly code. lines like this

      enter
      new BlackBerryWebIcon
      dup
      invokespecial com.lw.blackberry.webicon.BlackBerryWebIcon. // pc=1
      astore_1
      aload_1
      bipush 4

      i need to know how to convert this into java high level languaje.

      Thanks

      • Autinhorse says:

        Paul, is it possible to share the experience on how to make it work? I tried several days, but still failed, I think there are lots of people need help.
        Thanks.

  41. Eddy Setyawan says:

    great tools….

  42. Raghu says:

    I wish I knew to use it right. I downloaded the coddec.rar and extracted it but tried to apply it getting class not found error. My classpath is set to . and as well as the full path where the class is.
    Not sure what mistake I am doing. ANy help would be appreciated. i have to get the source code for this app to continue support, the earlier developer left the company with no documentation or source code.

    • Paul Calderon says:

      I already posted all the steps but I thinkg Webmaster removed my post for some reason.

      1.- Download Files
      2.- Download Patch Files according to this link http://www.dontstuffbeansupyournose.com/?p=99
      3.- Patch the Files (for windows users, there are some linux patch files)
      4.- Compile the Downloaded Files
      5.- Run the result class files according to this site and enjoy

  43. Shirley Cohen says:

    When trying to build with the latest patch, I get the following compilation errors:

    .\net\rim\tools\compiler\exec\c.java:346: cannot find symbol
    symbol : constructor c(int,int,int,java.io.DataOutputStream)
    location: class net.rim.tools.compiler.exec.c
    c c1 = new c(l, j, i1, dataoutputstream1);
    ^
    .\net\rim\tools\compiler\exec\c.java:352: cannot find symbol
    symbol : method _aaIIV(int[],int,net.rim.tools.compiler.exec.i)
    location: class net.rim.tools.compiler.exec.c
    c1._aaIIV(ai, j2, j1);
    ^
    .\net\rim\tools\compiler\exec\c.java:359: cannot find symbol
    symbol : method _avV()
    location: class net.rim.tools.compiler.exec.c
    c1._avV();
    ^
    3 errors

    Everything else appears to build just fine though. Has anybody run into this before? Please let me know if you have. I’m running java 1.6.0_10 on cygwin.

    Thanks,

    Shirley

  44. Paul Calderon says:

    Download Patch Files according to this link

    http://www.dontstuffbeansupyournose.com/?p=99

    and then run according to the instructions there.

    then try to rebuild the files

  45. yisu_02 says:

    3Q for your job at first…

    when I decompile a operamini5beta2zh.cod
    I got errors like this:

    C:\Documents and Settings\Administrator>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compiler operette-hifi_om5china-zh-fw42.cod
    flashId mismatch. need: -16162 found: 67324752
    java.io.IOException: flashId mismatch. need: -16162 found: 67324752
    at net.rim.tools.compiler.codfile.Codfile.(Codfile.java:83)
    at net.rim.tools.compiler.codfile.Codfile.(Codfile.java:125)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:919)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

    I don’t know what happened ? Can you give me a favour to resolved it ?

    Thank you.

  46. Ted Hopp says:

    I’m getting the following error:

    null
    java.io.EOFException
    at net.rim.tools.compiler.io.StructuredInputStream.read(StructuredInputStream.java:125)
    at net.rim.tools.compiler.io.StructuredInputStream.readByte(StructuredInputStream.java:133)
    at net.rim.tools.compiler.io.StructuredInputStream.readUnsignedShort1(StructuredInputStream.java:184)
    at net.rim.tools.compiler.codfile.FixupTableEntry.read(FixupTableEntry.java:52)
    at net.rim.tools.compiler.codfile.FixupTableEntry.(FixupTableEntry.java:72)
    at net.rim.tools.compiler.codfile.DataSection._aaV(DataSection.java:644)
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.java:281)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.java:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

  47. Asad Haider says:

    Would be nice to have this updated at some point, I can get the program to work and keep getting the following error:

    no class ref found at offset: 0x7f21
    java.io.IOException: no class ref found at offset: 0x7f21
    at net.rim.tools.compiler.codfile.DataSection.getClassRef(DataSection.java:1653)
    at net.rim.tools.compiler.codfile.MemberRef.(MemberRef.java:49)
    at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590)
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.java:277)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.java:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

  48. Aviator168 says:

    I am hoping this tool can help me to figure out the GSM packing format (RIM uses a different one than the standard VoIP packing order) for audio capture as newer CDMA phones DO NOT support audio capture in PCM format and I need the audio to be in PCM for speech processing. Without this information, I won’t be able to decode GSM recordings and that makes my software won’t work with those newer CDMA phones.

  49. roger says:

    haha, i’m betting dr bolsen is already regretting posting this.

    first things first: the flashid mismatch is because you’re trying to decompile a cod equivalent of a jar. try unzipping your cod file with any zip program, you’ll see it works fine. then try decompiling the cod files within the first cod file.

    second: i think he was referring to the if belonging to the else where the error is thrown, around line 590. a bit before that, you need to add a ! before the flag in the if condition i think. that should be all. or you can read above and apply the patch.

    makes me wonder what most of you are going to do once they have the assembly code…

  50. jack_black says:

    I am able to run after fixing in X develop but where is the output???

  51. scooby_doo says:

    Wonderful tool Dr. Bolsen. Thanks for all your hard work.

  52. Raven2260 says:

    Cant someone post detail instruction on this. I keep getting

    bad slack byte at offset: 0x484e
    java.io.IOException: bad slack byte at offset: 0x484e
    at net.rim.tools.compiler.io.StructuredInputStream.verifySlack(Structure
    dInputStream.java:75)
    at net.rim.tools.compiler.codfile.DataSection._aaV(DataSection.java:642)

    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.j
    ava:281)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.jav
    a:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

    I tried the regular one and the patch one and nothing is working. Please detail how you would get this working from compiling the patch to running this program

  53. Raven2260 says:

    Ok after about a couple of days I got it to working put when I tried to recompile HelloWorld but I keep getting either
    Warning!: No entry points found
    Warning!: No definition found for exported static routine: .main(String[])
    Packaging project HelloWorld succeed (took 1.112 seconds)
    or something about and that java 1.3 cant use generics

    • Frogz10 says:

      How did you get this working, I cant seem to figure it out

    • buzie says:

      Hi, I can’t decompiled this file:
      http://www.mediafire.com/?fygdi2dmkzj

      It’s got error:
      > ofs 0x5ace -> CR 0x57fc
      In class(?) MainScreen
      member
      bad slack byte at offset: 0x5adc
      java.io.IOException: bad slack byte at offset: 0x5adc
      at net.rim.tools.compiler.io.StructuredInputStream.verifySlack(StructuredInputStream.java:75)
      at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:650)
      at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.java:325)
      at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.java:144)
      at net.rim.tools.a.coddec.enumerateModules(coddec.java:958)
      at net.rim.tools.a.coddec.parseFile(coddec.java:993)
      at net.rim.tools.a.coddec.main(coddec.java:1021)
      at net.rim.tools.compiler.Compiler.main(Compiler.java:3837)
      ___________________________________
      Can you help me ??

    • yogi says:

      Hi Raven, I am getting the same error. Please let me know, how did you resolve it.
      Thanks

  54. Frogz10 says:

    How do you use this?

  55. help me says:

    how to run the coddec.patch ?
    torrent09@live.com

    • sam says:

      Hi,

      Just unzip coddec files to a directory.Place the .cod files to in same directory.Open run Ms-Dos batch file in notepad just edit the path u have extracted the codec file.Now open Command Prompt and just cd to directory(where u have extracted).execute batch file.Thats it you can get your java files.

      • kashif says:

        Can you please write these steps 1 by 1 with paths and commands.
        please it’s a great favor, please

  56. NOTiFY says:

    Some of the most convoluted instructions I’ve come across.

    Why Dr. Bolsen can’t you just make available the patched/working version. It would have saved the economies of our respective countries loads of man days.

    It doesn’t work as it is and I can’t get the patches to be applied!

    • NOTiFY says:

      Two years since the original post!

      Tried to compile the code in Eclipse using JDK 1.6. Get the following errors.

      Is there a bug free version of the App available or code that compiles and I’ll fix and make available!

      Description Resource Path Location Type
      Cycle detected: the type Comparator cannot extend/implement itself or one of its own member types Comparator.java /coddec/net/rim/tools/compiler/exec line 9 Java Problem
      The constructor c(int, int, int, DataOutputStream) is undefined c.java /coddec/net/rim/tools/compiler/exec line 346 Java Problem
      The import java.util.Comparator conflicts with a type defined in the same file Comparator.java /coddec/net/rim/tools/compiler/exec line 7 Java Problem
      The import net.rim.tools.a cannot be resolved Code.java /coddec/net/rim/tools/compiler/codfile line 13 Java Problem
      The method _aaIIV(int[], int, i) is undefined for the type c c.java /coddec/net/rim/tools/compiler/exec line 352 Java Problem
      The method _avV() is undefined for the type c c.java /coddec/net/rim/tools/compiler/exec line 359 Java Problem
      The method exec(String) is undefined for the type Runtime cls_e.java /coddec/net/rim/tools/compiler/exec line 69 Java Problem
      The method getConstructor(Class[]) is undefined for the type Class cls_e.java /coddec/net/rim/tools/compiler/exec line 50 Java Problem
      The method getMethod(String, Class[]) is undefined for the type Class cls_e.java /coddec/net/rim/tools/compiler/exec line 35 Java Problem
      The method getMethod(String, Class[]) is undefined for the type Class cls_e.java /coddec/net/rim/tools/compiler/exec line 58 Java Problem
      The method isJavaIdentifierPart(char) is undefined for the type Character CharacterHelper.java /coddec/net/rim/tools/compiler/exec line 29 Java Problem
      The method isJavaIdentifierStart(char) is undefined for the type Character CharacterHelper.java /coddec/net/rim/tools/compiler/exec line 24 Java Problem
      The method pow(double, double) is undefined for the type Math cls_d.java /coddec/net/rim/tools/compiler/exec line 120 Java Problem
      The method sort(Object[]) in the type Arrays is not applicable for the arguments (Object[], Comparator) MyArrays.java /coddec/net/rim/tools/compiler/exec line 24 Java Problem
      The method toArray(String[]) is undefined for the type Vector cls_e.java /coddec/net/rim/tools/compiler/exec line 111 Java Problem
      The method toArray(String[]) is undefined for the type Vector cls_e.java /coddec/net/rim/tools/compiler/exec line 121 Java Problem
      The nested type c cannot hide an enclosing type c.java /coddec/net/rim/tools/compiler/exec line 18 Java Problem
      The type cls_d$a is already defined cls_d$a.java /coddec/net/rim/tools/compiler/exec line 11 Java Problem
      The type cls_d$b is already defined cls_d$b.java /coddec/net/rim/tools/compiler/exec line 11 Java Problem
      The type Enumeration is not generic; it cannot be parameterized with arguments Compiler.java /coddec/net/rim/tools/compiler line 2248 Java Problem

  57. Ezzi says:

    C:\coddec>run.bat

    C:\coddec>FOR %A IN (‘DIR *.cod /B’) DO java.exe -classpath c:\coddec\bin\Releas
    e net.rim.tools.compiler.Compiler %A

    C:\coddec>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compi
    ler ‘DIR

    C:\coddec>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compi
    ler Lala1.cod
    no class ref found at offset: 0x4ad
    java.io.IOException: no class ref found at offset: 0x4ad
    at net.rim.tools.compiler.codfile.DataSection.getClassRef(DataSection.ja
    va:1653)
    at net.rim.tools.compiler.codfile.MemberRef.(MemberRef.java:49)
    at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590
    )
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.j
    ava:277)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.jav
    a:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

    C:\coddec>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compi
    ler /B’

    • NOTiFY says:

      Doesn’t appear Dr. Bolsen looks at his website/blog anymore. His last post was just over two years ago.

      I can’t see how anyone could get this to work in its current form.

      I’d be instrested in a comment/repsonse from “Jack Black” and “Sooby Doo”, who aledgedly have decompiled a COD file to Java! I think Dr. Bolsen will turn out to be the “Ghost” in all those Scooby Doo cartoons, trying to frighten away the Java developers!

  58. franc says:

    Where can i find the coddec.patch now? The Link on dontstuffbeansupyournose.com is dead.

  59. Lironhel says:

    First thanks for the amazing job,

    I was able to decompile a simple hello world but this was with one .cod file, is this code handles several .cod files ? what should be done to add support?

    Thanks Liron

  60. Shoaib says:

    Hi,

    I am able to decompile the .cod file but it is showing in Java Bytecode format. Please any one can help me how can I convert into Java Source code.

    Thanks

  61. Golgo13 says:

    Thanks to the blog dontstuffbeansupyournose.com I successfully patched coddec and works very well. I uploaded the file patched to: http://www.megaupload.com/?d=IEQ4Z8AG

    • lanjie says:

      I download the files you uploaded,but still found the IOException : no class ref found at offset, how can i solve this? And how to use the coddec.patch file?

  62. Bigcoon says:

    java.io.IOException: no class ref found at offset: 0x36a
    at net.rim.tools.compiler.codfile.DataSection.getClassRef(DataSection.ja
    va:1653)
    at net.rim.tools.compiler.codfile.MemberRef.(MemberRef.java:49)
    at net.rim.tools.compiler.codfile.DataSection._ifaZ(DataSection.java:590
    )
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.j
    ava:277)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.jav
    a:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

  63. ahwei says:

    Who know the opcode 285 ,286, 287, 288’s fucntion?
    Some low level API use these instructions.

  64. ahwei says:

    The 6.0 version added opcodes from 282 to 289

  65. Droopy says:

    I have successfully decompile the code using latest version of coddec. Works perfect, no errors.

    The result is a Java bytecode that could be edit in notepad. Is it possible to recompile it? How???

    Or i need to transform it to java source code and then compile from there?

    Any idea appreciate.

  66. IssOmile says:

    I Managed to get it to work,
    1. Installed lastest jdk from sun.com
    2. under system properties, in control pannel. edit the system environment varibles
    3. add the CLASSPATH=;
    saved and closed

    Ok now i need help?
    what do i do with the files once it’s decompiled???

  67. RIan says:

    i aready decompile cod but still not understand about read javabytecode , can using decompiler

    if using decompiler the problem is result of decompiling cod always hava extention .java not .class

    what do you think??

  68. MagicKing says:

    hello i want to learn how to cod file format,
    how can i get Coddec source code?

  69. MagicKing says:

    hi,dr bolsen

    how can i get coddec source code?
    i come form China,a Antivirus software company, now i was studying virus on the BB .so i want to know cod file format.
    thanks.

  70. Blackberry, Blackberry Playbook Hack…

    […]Coddec released « Reverse & Форсаж[…]…

  71. ahh!!,to many codes and letter everywhere..human being so complicated..

  72. kunss says:

    I am getting the following error.., kindly let me know how to resolve it..

    Thnx in advance.

    c:\coddec>java.exe -classpath c:\coddec\bin\Release net.rim.tools.compiler.Compi
    ler XXXXXXX.cod
    null
    java.io.EOFException
    at net.rim.tools.compiler.io.StructuredInputStream.read(StructuredInputS
    tream.java:125)
    at net.rim.tools.compiler.io.StructuredInputStream.readByte(StructuredIn
    putStream.java:133)
    at net.rim.tools.compiler.io.StructuredInputStream.readUnsignedShort1(St
    ructuredInputStream.java:184)
    at net.rim.tools.compiler.codfile.FixupTableEntry.read(FixupTableEntry.j
    ava:52)
    at net.rim.tools.compiler.codfile.FixupTableEntry.(FixupTableEntry
    .java:72)
    at net.rim.tools.compiler.codfile.DataSection._doaZ(DataSection.java:551
    )
    at net.rim.tools.compiler.codfile.DataSection.addClassRefs(DataSection.j
    ava:279)
    at net.rim.tools.compiler.codfile.Codfile.processCodeSegment(Codfile.jav
    a:144)
    at net.rim.tools.a.coddec.enumerateModules(coddec.java:920)
    at net.rim.tools.a.coddec.parseFile(coddec.java:955)
    at net.rim.tools.a.coddec.main(coddec.java:982)
    at net.rim.tools.compiler.Compiler.main(Compiler.java:3836)

  73. warez says:

    warez…

    […]Coddec released « Reverse & Форсаж[…]…

  74. project men says:

    project men…

    […]Coddec released « Reverse & Форсаж[…]…

  75. link die, you can reupload or send to email: chienthan1612@gmail.com tks :D

  76. jackass says:

    anybody reupload please or send to email : dony74@gmail.com

  77. gfsprague says:

    Where do you actually get your information from? You always have something intriguing to offer.

  78. Tony says:

    Would love a copy of this if anyone can share my email is acegambit@hotmail.co.uk

    Thanks in advance
    Tony

  79. ghost says:

    New apps protected with anti decompilers cant be decompiled using this coddec however by modifying the patch and coddec it is possible to decompile the new apps like zonablackberry,quick launch,etc

  80. kumartps says:

    hi hello i am using my email id kumartps@yahoo.com now 2 months not working . because they ask some verification code but i didnt get that code. please help me.

  81. div says:

    Unable to find the link….pls help:

  82. Javier Falbo says:

    Finally it is possible to completely decompile to plain java source code and also to recompile. i have the tool which is advanced version of coddec

  83. Steve says:

    Can someone send me the file via Email: lucius300_300@hotmail.com Thanks

  84. GasGeverij says:

    Link is broken a really need to decompile some cod files for research purposes. Help is rewarded!
    Greetings.

  85. GasGeverij says:

    Someone please send me a working link for the coddec cod file decompiler GasGeverij@hotmail.com

  86. Aaahhh…. I love Tori Black, she is so sexy. Pondering if she is still looking for the right one.

  87. Great run Steve. Sounds like a very social group you have going there for the Sunday runs.nGG Click https://twitter.com/moooker1

  88. But the majority of people prefer to play the above 3 main video games. Nevertheless, the online video games are quite amazing to play. They utilize ceramic material that is injection formed in one piece.

  89. Kerry Keeley says:

    The vast majority of gamers don’t have an problem with comprehending the sport they just disregard the holes in their sport. Let me give you an instance of me understanding my personal thoughts. Humberto Brenes is a Expert Poker Participant.

  90. Sam says:

    Hi, I’m trying to decompile a Jad / Cod files to just extract the images from them. Can someone help? The coddec isn’t working for me (or I’m not using it correctly). Thanks!
    sam.burnett@outlook.com

Leave a reply to Zx.MYS Cancel reply