Advertisement
Guest User

K Patch

a guest
Jul 22nd, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.02 KB | None | 0 0
  1.     public static int kcount = 0;
  2.     public static void main(String[] args) throws Exception {
  3.         // TODO Auto-generated method stub
  4.         System.out.println("K patch by Forex.");
  5.         System.out.println("Borrando...");
  6.         deleteHabboFiles();
  7.         System.out.println("Descompiliando...");
  8.         decompilieHabboFiles();
  9.         System.out.println("Aplicando el k patch(Puede demorar bastante.)...");
  10.         fixK(new File("swf\\Habbo-0\\"));
  11.         fixK(new File("swf\\Habbo-1\\"));
  12.         fixK(new File("swf\\Habbo-2\\"));
  13.         System.out.println("Compiliando...");
  14.         compilieHabboFiles();
  15.         System.out.println("Listo! K patch echo! Cierre la aplicación.");
  16.         while(true);
  17.     }
  18.    
  19.     public static void fixK(File fichero) throws Exception {
  20.             File[] ficheros = fichero.listFiles();
  21.             for (int x=0;x<ficheros.length;x++){             
  22.                 if (ficheros[x].isDirectory()) {
  23.                     fixK(ficheros[x]); 
  24.                     //System.out.println("LOL XD!");
  25.                     //fixK(fichero);
  26.                 }
  27.                 //System.out.println(ficheros[x].getCanonicalPath());
  28.                 if(!ficheros[x].getName().contains(".") || ficheros[x].getName().contains(".instance") || ficheros[x].isDirectory() || !ficheros[x].getCanonicalPath().contains(".class.asasm")) {
  29.                  
  30.                 } else {
  31.                              
  32.                 File mToEdit = ficheros[x];
  33.                 //System.out.println(mToEdit.getPath());
  34.                 String Name = mToEdit.getName();
  35.                 //System.out.println(mToEdit.getPath().substring(mToEdit.getPath().length() - Name.length()) +"\\toChange.txt");
  36.                 File mNew = new File(mToEdit.getPath().substring(0, mToEdit.getPath().length() - Name.length()) +"\\toChange.txt");
  37.                
  38.                 if(mNew.exists())
  39.                     mNew.delete();
  40.                 mNew.createNewFile();
  41.                 String Slinea;  
  42.                 BufferedReader Flee = null;
  43.                 if(mToEdit != null) {
  44.                     Flee= new BufferedReader(new FileReader(mToEdit));
  45.                     kcount = 0;
  46.                     while((Slinea=Flee.readLine())!=null) {  
  47.                         if (Slinea.toLowerCase().trim().contains("debug               1, \"k\"")) {    
  48.                             //System.out.println("HELLOP");
  49.                             Slinea = Slinea.replaceAll("k", "local_"+kcount);
  50.                             //System.out.println(Slinea);
  51.                             kcount = kcount +1;
  52.                             EcribirFichero(mNew, Slinea);  
  53.                         }else{    
  54.                             EcribirFichero(mNew,Slinea);  
  55.                         }              
  56.                     }  
  57.                 }
  58.                 String SnomAntiguo=mToEdit.getName();    
  59.                 Flee.close();              
  60.                 mToEdit.delete();
  61.                 mNew.renameTo(mToEdit);            
  62.              }
  63.          }       
  64.     }
  65.    
  66.     public static void EcribirFichero(File Ffichero,String SCadena){  
  67.         try {  
  68.                 //Si no Existe el fichero lo crea  
  69.                  if(!Ffichero.exists()){  
  70.                      Ffichero.createNewFile();  
  71.                  }  
  72.  
  73.                 BufferedWriter Fescribe= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(Ffichero,true), "utf-8"));  
  74.                 Fescribe.write(SCadena + "\r\n");  
  75.                 Fescribe.close();  
  76.              } catch (Exception ex) {  
  77.                 System.out.println(ex.getMessage());  
  78.              }  
  79.       }  
  80.    
  81.     public static void decompilieHabboFiles() throws Exception {
  82.         Process p = Runtime.getRuntime().exec ("abcexport.exe swf\\Habbo.swf");
  83.         while(p.isAlive());
  84.         p = Runtime.getRuntime().exec ("rabcdasm swf\\Habbo-0.abc");
  85.         while(p.isAlive());
  86.         p = Runtime.getRuntime().exec ("rabcdasm swf\\Habbo-1.abc");
  87.         while(p.isAlive());
  88.         p = Runtime.getRuntime().exec ("rabcdasm swf\\Habbo-2.abc");
  89.         while(p.isAlive());
  90.     }
  91.    
  92.     public static void compilieHabboFiles() throws Exception {
  93.         Process p = Runtime.getRuntime().exec ("rabcasm swf/Habbo-0/Habbo-0.main.asasm");
  94.         while(p.isAlive());
  95.         p = Runtime.getRuntime().exec ("rabcasm swf/Habbo-1/Habbo-1.main.asasm");
  96.         while(p.isAlive());
  97.         p = Runtime.getRuntime().exec ("rabcasm swf/Habbo-2/Habbo-2.main.asasm");
  98.         while(p.isAlive());
  99.         p = Runtime.getRuntime().exec ("abcreplace swf/Habbo.swf 0 swf/Habbo-0/Habbo-0.main.abc");
  100.         while(p.isAlive());
  101.         p = Runtime.getRuntime().exec ("abcreplace swf/Habbo.swf 1 swf/Habbo-1/Habbo-1.main.abc");
  102.         while(p.isAlive());
  103.         p = Runtime.getRuntime().exec ("abcreplace swf/Habbo.swf 2 swf/Habbo-2/Habbo-2.main.abc");
  104.         while(p.isAlive());
  105.     }
  106.    
  107.     public static void deleteHabboFiles() {
  108.         File fichero = new File("swf\\Habbo-0.abc");
  109.         fichero.delete();
  110.         fichero = new File("swf\\Habbo-1.abc");
  111.         fichero.delete();
  112.         fichero = new File("swf\\Habbo-2.abc");
  113.         fichero.delete();
  114.         fichero = new File("swf\\Habbo-0\\");
  115.         if(fichero.exists()) {
  116.             deleteDirectori(fichero);
  117.             fichero.delete();
  118.         }
  119.         fichero = new File("swf\\Habbo-1\\");
  120.         if(fichero.exists()) {
  121.             deleteDirectori(fichero);
  122.             fichero.delete();
  123.         }
  124.         fichero = new File("swf\\Habbo-2\\");
  125.         if(fichero.exists()) {
  126.             deleteDirectori(fichero);
  127.             fichero.delete();
  128.         }
  129.         fichero = null;
  130.     }
  131.    
  132.     public static void deleteDirectori(File fichero) {
  133.          File[] ficheros = fichero.listFiles();
  134.          for (int x=0;x<ficheros.length;x++){
  135.              if (ficheros[x].isDirectory()) {
  136.                  deleteDirectori(ficheros[x]);
  137.                  }
  138.                  ficheros[x].delete();
  139.          }
  140.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement