Recuerda que, para incrementar tu privacidad, tambien puedes acceder al foro usando el dominio forohpysho2t5mjs.onion de la red tor.
Cracking Java: Reemplazar clases (Charles Proxy 4.0.2)
Introducción rápida: Java es uno de los entornos más utilizados por su portabilidad de código entre distintas plataformas. En este caso, queremos usar Charles Proxy sin limitacion de tiempo de uso (30 minutos), las constantes ventanas que van apareciendo y la limitacion de uso a 30 dias.
Este software esta escrito en Java y su nucleo de codigo se encuentra en <lib/charles.jar>
Decompilar
Copiamos el .jar a una carpeta separada y abrimos jd-gui (Java Decompiler GUI http://jd.benow.ca/)
De un primer vistazo ya podemos encontrar rápidamente la clase <com.xk72.charles.License> podemos ver que ademas esta poco obfuscado
Lo primero que haremos será encontrar referencias en el resto del jar a esta clase
Recompilar
Con un poco de busqueda encontramos que hay sólamente 3 métodos públicos instanciados en el resto del jar, y que además estos no requieren tipos derivados por lo que el proceso resultará mucho mas sencillo.
- bool License.a() -> debe retornar true
- String b() -> debe retornar el nombre de la licencia
- Object a(Object unk1, String unk2) -> Este metodo si que usa tipos derivados pero como solo tenemos que retornar null y no hay que procesar argumentos o retornar un tipo especifico Object servira para manejar cualquier tipo.
Pasamos estas definiciones a código java, creando un path con la estructuta del package <com/xk72/charles/License.java>
Ahora solo falta compilar este archivo .java a .class mediante el ejecutable javac.exe
Nota: el classpath no es necesario en este caso, pero se incluye para utilizar tipos definidos dentro del jar.
Una vez compilado lo reemplazaremos dentro del .jar mediante jar.exe
Profit
Y todo listo! Reemplazamos el archivo charles.jar y ejecutamos
Comentarios