Título: Iniciandome en Java Publicado por: Santi93 en 23 Julio 2020, 02:42 am Baje un archivo ejecutable .jar y con sus respectivos archivos de las clases en Java que anda de 10 . Pero alguien sabe cómo hago para modificar el contenido de los archivos? No tengo idea de Java ya que sólo programo en C y C++. Espero se entienda la consulta... Slds
Título: Re: Iniciandome en Java Publicado por: K-YreX en 23 Julio 2020, 03:21 am Veo que es el mismo tema que publicaste en la otra ocasión por lo que podías haber respondido en ese mismo y no crear uno nuevo (fuera del foro de Java además).
Un jar puede tener los ficheros fuente asociados para importarlo dentro de un IDE como pueda ser Eclipse o no. Intuyo que si el jar se ha publicado con fines de utilización y no de modificación, no contendrá los fuentes (.java) sino que solo contendrá los ficheros compilados (.class). Si no me equivoco, aunque nunca lo he hecho, se pueden extraer los ficheros de un jar y se puede obtener el código fuente de un fichero .class. Tendrías que ver cómo hacerlo, editar los ficheros fuente que se generen y volver a crear el jar. Título: Re: Iniciandome en Java Publicado por: ErahUnderground en 23 Julio 2020, 20:00 pm Vamos por pasos:
1 - Puedes mirar el contenido de un .jar por ejemplo abriéndolo con el WinRaR. 2 - Si solo contienes ficheros .class, no tendrás el código fuente por lo que ha dicho el compañero, están compilados. Hay programitas que como javadecompilers que te permiten transformar estos ficheros a su código fuente .java, pero claro, dependiendo de la complejidad de esté no te devolverá exactamente el mismo código y puede encontrar fallos, pero para saber más o menos te puede servir. 3 - La sintaxis de C y Java se parecen en algunas cosas, pero los lenguajes son como la noche y el día, por lo que te recomiendo que si te vas a poner con ello, aprendas lo básico de este último, sobre todo POO (Programación orientada a objetos). Espero que te sirva de ayuda. Un saludo. Título: Re: Iniciandome en Java Publicado por: WHK en 28 Julio 2020, 03:58 am Intentar leer un .jar es como intentar leer un binario compilado de c, puedes hacerle reversing y todo pero nunca tendrás el código original.
Los archivos .jar son semicompilados, igual que un paquete semicompilado de .net, realmente no es una compilación a bajo nivel donde puedas inyectar todo a la memoria o hacer que la CPU lo interprete desde el kernel, los .jar son distintos, necesitan de una máquina virtual que los cargue, los interprete y los ejecute. Asi que, no podrás leer y modificar el archivo jar a menos que lo descompiles e intentes crear un compilado nuevo. Debes buscar los fuentes .java, los .class realmente son objetos binarios semicompilados, como los archivos .a cuando compilas en c. Dale un vistazo a esto: http://java-decompiler.github.io/ https://github.com/linchanggui/dex2jar-2.0 Saludos. |