|
by +Alt-F4, 4 January 1998 |
|
here | ||
|
I mildly criticized +Alt+F4 for having written in the previous version of this essay, back in October 97: "If part of the crack is missing, I will probably find out within the next week or so, and will post a new version..." and he sent a more complete essay, which is a state of the art work. I was thinking about including this, together with A+heist's Symantec Visual café essay, in our project1 (tools of the trade), since I feel that Java workshops and compilers are going to be very soon among the most important tools for reverse engineers (which is good: die Gates, die! :-) We will see, may be we should open a completely new HCU "Java" section. Enjoy (for the second time, but you have gained a lot in comparison with the previous essay) this nice work by +Alt-F4 |
|
|
Cracking Sun's JavaWorkshop 2.0
Written by +Alt-F4 on January 3rd, 1998. |
|
|
( )Beginner (x)Intermediate ( )Advanced (
)Expert
Part 1 requires understanding of using Softice, and using a dead code listing Part 2 requires understanding of java. |
|
|
In this Essay I will show how to crack Sun's Java Workshop 2.0 This is an important target, because (as +Orc says), Java is the future of cracking. I will show 2 approaches to cracking this program: Part1 will show how to crack the date using a Live and Dead code approach Part2 will show how to get a serial number, using pure dead code on a java Dissasembley |
|
|
Mocha(java Decompiler) Softice(Windows Debugger) W32Dasm(Windows Dissasemler) Don't just use these though, use what ever tools you like(Prehaps IDA?) |
|
|
No known(or intersting) history | |
H E E S S A Y |
~Part 1:Cracking the Date CheckThe target: Java Workshop 2.0, trial edition: setupjws.exe (20303236 bytes) Where you can get it: java.sun.com Installing this product, you find a huge monstrosity on your hard-drive, 50 megs of overbloated, very slow programming. The first strange thing I noticed was the size of the executable, jws.exe is only 29696 bytes! Obviously it is using dll's to do everything, but which ones? There are 32 dll's in different places in the directory structure. Using Borland Resource Workshop I found that they don't use standard windows resources (At least all the dll's I could be bothered checking used none) Obviously, the first approach would be to get a valid serial number
~Part 2:Getting a serial number
Unzipping classes.zip, an intersting class is found, License.class Running mocha on this new class, we find the source code for the Registration checking!
Look at some of these interesting functions! Thanks to Mocha, we have source code for the check-sum: private static String generateCheck(String b) { nop String ret; int x0 = b.charAt(0) - 65 + 1; int x1 = b.charAt(1) - 65 + 1; int x2 = b.charAt(2) - 65 + 1; int v0 = b.charAt(3) - 48; int v1 = b.charAt(4) - 48; int v2 = b.charAt(5) - 48; int z0 = b.charAt(7) - 97; int z1 = b.charAt(8) - 97; int z2 = b.charAt(9) - 97; int check = x0 + (27 - x1) + x2; check += v0 + (9 - v1) + v2; if (newVersion(b)) check += z0 + (13 - z1) + z2; check += b.charAt(14) - 48; check += 9 - (b.charAt(15) - 48); check += b.charAt(16) - 48; check += 9 - (b.charAt(17) - 48); check += b.charAt(18) - 48; check += 9 - (b.charAt(19) - 48); check += b.charAt(20) - 48; //Strange code here! Just turns check into a string padded with 0's for (ret = Integer.toString(check % 100); ret.length() <2; ret="new" StringBuffer("0").append(ret).toString()) /* null body */ ; return ret; }(Quite amazing how well mocha works, isn't it?)
I then made a little java program, that takes an input string, and displays
the expected Wow, I am a golden scholar, with a license that never expires!
|
|
|
I wont even bother explaining you that you should BUY this target program if you intend to use it for a longer period than the allowed one. Should you want to STEAL this software instead, you don't need to crack its protection scheme at all: you'll find it on most Warez sites, complete and already regged, farewell. | |
|
An easy crack, but intersting in that it uses java. As you can see, we
can crack java even easier
than we can crack normal code! This doesn't mean we should get complacent and assume all java cracks will be easy! Java makes Network programming extremely easy, so we can expect a lot of protections in the future that will test your serial number on the server... Should be FUN. I can't wait! (c) +Alt-F4 3 Jan 1998 All rights reversed. |
|
|
tools cocktails antismut CGI-scripts search_forms mail_fravia+ Is reverse engineering legal? |