home *** CD-ROM | disk | FTP | other *** search
- _________________________________________
- ~ its been hidden somewhere ~
- .: how to crack daPopes java Crackme #02 :.
- ______________^heiko[BLiZZARD]___________
-
- Crackme name: daPopesCrackMe2.exe
- Crackme by: DaPope
- Type: Java/EXE compiled/NAG
-
- Toolz needed: J++Extract v1.0
- JAD v1.57
- Hexeditor
-
- **********
- *foreword*
- **********
-
- Hi, its me again, with my first tutor on JAVA targets. Enjoy it.
-
- Tonight's target is "DaPopes Java Crackme #2".
- First i didn't get the goal of this target. It says "Remove the NAG",
- but,
- hrmm, where's the NAG?
- I will tell you the whole story, just follow me...
-
- **********
- *B. A. U.*
- **********
-
- Business as usual! lets examine the target. start
- [daPopesCrackMe2.exe].
- (It requires a new JVM. if your "Virtual Java Machine" is to old,
- download
- a newer one)
- ah, the crackme shows us a nice splash with some text:
-
- "...remove the NAG"
-
- Hrmm..nothing more?? What the f***?
- K, calm down and take a deeper look into what we've got.
-
- Extract the class-file with Olivier MenguΘ's great J++Extractor.
- We got these five files:
-
- target.j++ - not important in this approach
- target.ico - the ICON of the crackme
- target.bat - a BATCH to start the cutted things ! We will need this
- later
- form1.resources - the resources file, take a look with your hexeditor,
- it contains e.g.
- a large image painted with photoshop.
- form1.class - THIS ONE IS VERY IMPORTANT
-
- Ah, we got a class-file named form1.class. lets decompile it and pray,
- that daPope didnt used some obfuscation toolz..heheh..nope, he didnt!
- *puhh*
- (you can use obfucation toolz to protect your java classes against
- being disassembled)
-
- start jad and load form1.class into it (I use the jad frontend by
- Martin Cowley)
-
- we see the java source code...just as it was just typed by daPope!!
- (better formatted, i think ;;))
-
- public class Form1 extends Form {} // our
- crackme form
- public Form1() { // the constuctor
-
- components = new Container(); // container for
- componets
- label1 = new Label(); // a label.can we
- see it??? ;)
- label2 = new Label(); // another label
- pictureBox1 = new PictureBox(); // container
- for images
- initForm(); // call an init procedure
- }
-
- Lets take a close look at the init-procedure (i skipped less important
- things,
- if you want to learn java, buy a good book and spinoff!):
-
- private void initForm() {
-
- (..snipp..)
-
- setText("daPopesCrackMe#2"); //caption of
- the crackme window
-
- (..snipp..)
-
- setClientSize(new Point(295, 267)); //set size of
- crackme
-
- (..snipp..)
-
- label1.setLocation(new Point(48, 104)); //label 1 is
- instanciated
- label1.setSize(new Point(152, 32));
- label1.setText("Mail me at daPope@firepop.de"); // caption of
- label 1, did
- //we see it
- somewhere??
- (..snipp..)
-
- label2.setLocation(new Point(40, 48)); //label 2 is
- instanciated
- label2.setSize(new Point(184, 40));
-
- (..snipp..)
-
- label2.setText("Well done !!!"); //caption of label
- 2, damn,
- //where is
- it??
- pictureBox1.setSize(new Point(296, 272)); //set size of
- Image
-
- (..snipp..)
-
- });
- }
-
- So, whats the riddle? there are two labels we cant see in the crackme.
- Mom, the size of the image-container is set to nearly the same size as
- the
- whole crackme form!!!!
-
- setClientSize(new Point(295, 267));
- pictureBox1.setSize(new Point(296, 272));
-
- Can you feel it???
-
- First the labels are put on the form, then the pictureBox hides them
- from our eyes.
- Dammit, thats it. We have to remove the image!!!!!!!!
-
- This is an easy task. just remember this line of code:
-
- pictureBox1.setSize(new Point(296, 272));
-
- what will happend if we can set the parameters for the size to (0,0) ??
- the pictureBox would be very,very small and nothing would be hide,
- right?
-
- k, lets fix this.
-
- *****************
- * THE CRACK *
- *****************
-
- open form1.class into your favorite hexeditor and search for
-
- 01,28,11,01,10 (bytes)
-
- this are the above parametes as hex-values, with a separator.
- now replace them with:
-
- 00,00,11,00,00 (bytes)
-
- save form1.class, and run the earlier created BATCH [target.bat]..
-
- "WELL DONE!!"
- "Mail me at daPope@firepop.de"
-
- We did it..WOW!.
-
- You also can try to edit the decompiled sources and recompile them
- (java).
-
- Now its your turn...send me your comments!
- Hope you learned something by this tutorial...
-
- hAVE pHUN'! ^heiko[BLiZZARD]
- mail: heiko@blizzard.st
-
- 12/12/2000 - gREETZ to aLL @ BLZ!! STEALTHLABS !! TheoTraXX !!
- daPope!!! Muabdib! tKC!!
- - and all ReVERsERz around da globe.
-
- ...end of tutorial...
-
-