home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / CrackMesCbjNet / daPopes-heiko-sol.txt < prev    next >
Encoding:
Text File  |  2001-09-21  |  4.9 KB  |  184 lines

  1.   _________________________________________
  2.        ~ its been hidden somewhere ~
  3. .: how to crack daPopes java Crackme #02      :.
  4.   ______________^heiko[BLiZZARD]___________
  5.  
  6. Crackme name:    daPopesCrackMe2.exe
  7. Crackme by:      DaPope
  8. Type:              Java/EXE compiled/NAG
  9.  
  10. Toolz needed: J++Extract v1.0
  11.           JAD v1.57
  12.           Hexeditor
  13.  
  14. **********
  15. *foreword*
  16. **********
  17.  
  18. Hi, its me again, with my first tutor on JAVA targets. Enjoy it.
  19.  
  20. Tonight's target is "DaPopes Java Crackme #2". 
  21. First i didn't get the goal of this target. It says "Remove the NAG", 
  22. but, 
  23. hrmm, where's the NAG? 
  24. I will tell you the whole story, just follow me...
  25.  
  26. **********
  27. *B. A. U.*
  28. **********
  29.  
  30. Business as usual! lets examine the target. start 
  31. [daPopesCrackMe2.exe].
  32. (It requires a new JVM. if your "Virtual Java Machine" is to old, 
  33. download 
  34. a newer one)
  35. ah, the crackme shows us a nice splash with some text:
  36.  
  37. "...remove the NAG"
  38.  
  39. Hrmm..nothing more?? What the f***?
  40. K, calm down and take a deeper look into what we've got.
  41.  
  42. Extract the class-file with Olivier MenguΘ's great J++Extractor.
  43. We got these five files:
  44.  
  45. target.j++ -      not important in this approach
  46. target.ico -    the ICON of the crackme
  47. target.bat -    a BATCH to start the cutted things ! We will need this 
  48. later
  49. form1.resources -    the resources file, take a look with your hexeditor, 
  50. it contains e.g.
  51.                   a large image painted with photoshop.
  52. form1.class -     THIS ONE IS VERY IMPORTANT
  53.  
  54. Ah, we got a class-file named form1.class. lets decompile it and pray, 
  55. that daPope didnt used some obfuscation toolz..heheh..nope, he didnt! 
  56. *puhh*
  57. (you can use obfucation toolz to protect your java classes against 
  58. being disassembled)
  59.  
  60. start jad  and load form1.class into it (I use the jad frontend by 
  61. Martin Cowley)
  62.  
  63. we see the java source code...just as it was just typed by daPope!!
  64. (better formatted, i think ;;))
  65.  
  66. public class Form1 extends Form {}                           // our 
  67. crackme form
  68. public Form1() {                                          // the constuctor
  69.  
  70.         components = new Container();                     // container for 
  71. componets
  72.         label1 = new Label();                              // a label.can we 
  73. see it??? ;)
  74.         label2 = new Label();                              // another label
  75.         pictureBox1 = new PictureBox();                   // container 
  76. for images 
  77.         initForm();                                  // call an init procedure
  78. }    
  79.  
  80. Lets take a close look at the init-procedure (i skipped less important 
  81. things, 
  82. if you want to learn java, buy a good book and spinoff!): 
  83.  
  84. private void initForm()   {
  85.  
  86. (..snipp..)
  87.  
  88.          setText("daPopesCrackMe#2");                     //caption of 
  89. the crackme window
  90.  
  91. (..snipp..)
  92.  
  93.         setClientSize(new Point(295, 267));               //set size of 
  94. crackme
  95.  
  96. (..snipp..)     
  97.  
  98.         label1.setLocation(new Point(48, 104));           //label 1 is 
  99. instanciated
  100.         label1.setSize(new Point(152, 32));
  101.         label1.setText("Mail me at daPope@firepop.de");   // caption of 
  102. label 1, did 
  103.                                                           //we see it 
  104. somewhere??
  105. (..snipp..)  
  106.  
  107.         label2.setLocation(new Point(40, 48));            //label 2 is 
  108. instanciated
  109.         label2.setSize(new Point(184, 40));
  110.  
  111. (..snipp..)
  112.  
  113.         label2.setText("Well done !!!");                  //caption of label 
  114. 2, damn, 
  115.                                                           //where is 
  116. it??
  117.         pictureBox1.setSize(new Point(296, 272));          //set size of 
  118. Image
  119.  
  120. (..snipp..)
  121.        
  122.        });
  123.     }
  124.  
  125. So, whats the riddle? there are two labels we cant see in the crackme.
  126. Mom, the size of the image-container is set to nearly the same size as 
  127. the 
  128. whole crackme form!!!!
  129.  
  130.      setClientSize(new Point(295, 267));
  131.      pictureBox1.setSize(new Point(296, 272));  
  132.  
  133. Can you feel it??? 
  134.  
  135. First the labels are put on the form, then the pictureBox hides them 
  136. from our eyes.
  137. Dammit, thats it. We have to remove the image!!!!!!!!
  138.  
  139. This is an easy task. just remember this line of code:
  140.  
  141.  pictureBox1.setSize(new Point(296, 272)); 
  142.  
  143. what will happend if we can set the parameters for the size to (0,0) ??
  144. the pictureBox would be very,very small and nothing would be hide, 
  145. right?
  146.  
  147. k, lets fix this.
  148.  
  149. *****************
  150. *  THE CRACK    *
  151. *****************
  152.  
  153. open form1.class into your favorite hexeditor and search for
  154.  
  155. 01,28,11,01,10 (bytes)
  156.  
  157. this are the above parametes as hex-values, with a separator. 
  158. now replace them with:
  159.  
  160. 00,00,11,00,00 (bytes)
  161.  
  162. save form1.class, and run the earlier created BATCH [target.bat]..
  163.  
  164. "WELL DONE!!"
  165. "Mail me at daPope@firepop.de"
  166.  
  167. We did it..WOW!.
  168.  
  169. You also can try to edit the decompiled sources and recompile them 
  170. (java).
  171.  
  172. Now its your turn...send me your comments!
  173. Hope you learned something by this tutorial...
  174.  
  175. hAVE pHUN'!       ^heiko[BLiZZARD]
  176. mail:           heiko@blizzard.st
  177.  
  178. 12/12/2000 - gREETZ to aLL @ BLZ!! STEALTHLABS !! TheoTraXX  !! 
  179. daPope!!! Muabdib! tKC!!
  180.            - and all ReVERsERz around da globe.
  181.  
  182. ...end of tutorial...
  183.  
  184.