Post Reply 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cracking Java Appz
06-27-2011, 01:02 PM (This post was last modified: 06-27-2011 02:08 PM by cw2k.)
Post: #1
Cracking Java Appz
Well JD-Java Decompiler and DJ Java 3.11.95(2009) with JAD Jad 1.5.8g(2001).7z is nice to see what's going on in the code.

When you just like to do some little magicRolleyes - compiling the whole class file is often really painful, error prune or even not possible since there are to many errors / missing classes or whatever problems...

Before I know it better I open the *.class in IDA(enable in option/Disam/opcode byte=3) and a hexeditor.
But wow the
CCK (Class Construction Kit)
was a real revelation to me and exactly what I was looking for !!! Big Grin
[Image: cck2_2.gif]
Beside modifying the bytecode (That JBE also does) you can also delete or add lines and when doing so CCK also takes care about updating jmp and goto references. Big Grin

Installation took me some time because I just downloaded BCEL.jar and tried to figure out how to run it. Well DL and
and then run it with
javaw.exe -jar cck.jar
Another nasty thing - if there is just cck.jar (and no BCEL.jar) CCK will hang at it's splash screen and nothing happens. (well when you use java.exe instead of javaw.exe I'll see the error. Na anyway...)

Btw. if you like associate *.jar with javaw.exe like this. Wink Well you can do it the clicky-clicky-way or in like this <winkey+r>"cmd"<Enter>
Quote:C:\MyDownloadPorns&XXXMovies>prompt -$G
->assoc .jar
.jar=WinRAR <-wuups Big Grin

->assoc .jar=jar_file

->ftype jar_file=%ProgramFiles%\Java\jdk1.6.0_26\jre\bin\javaw.exe -jar "%1"

...and for console apps is that
Quote:ftype jar_file=%ProgramFiles%\Java\jdk1.6.0_26\jre\bin\java.exe -jar "%1" %*

So now you can run a *.jar like this:
jbet3-R1.jar -P "%CD%" disassemble CpDouble >MyClass.dmp
jbet3-R1.jar assemble %(include MyClass.dmp)

Or even better
Quote:for %i in (java.exe) do ftype jar_file=%~$PATH:i -jar "%1" %*
hehe Wink shorter, more universal and generic.
Huh but also more cryptic.

Well for better understanding try out these commands
->for %i in (java.exe) do @echo. %i
->set path
->for /?
%~$P:i - searches the directories listed in the P environment variable
and expands %i to the fully qualified name of the first one found.
If the environment variable name is not defined or the file is not
found by the search, then this modifier expands to the empty string.
->for %i in (java.exe) do @echo %~$PATH:i
Note that the blue part is there just to be able to use '%~$PATH:i'. <-Not very nice but the way how it's done in windows Wink

If now everything got too clear here's another brain teaser © by M$ Big Grin :
->for %i in ("%path:;=" "%") do @echo %i

So but now enough of:
`Hiking in the mystics of da windows batch 'BowGraming' language.┬┤ Tongue

So and after about half a day of 'research' I'm finally able to patch away that little Nag from SABRE BinDiff 2.0.23
    [Image: attachment.php?aid=128]
Find all posts by this user
Quote this message in a reply
Post Reply 

Forum Jump:

User(s) browsing this thread: 1 Guest(s)

Contact Us | Homepage | Return to Top | Return to Content | Lite (Archive) Mode | RSS Syndication