Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Un simple file to hex string [source]

  • 2 Respuestas
  • 1700 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hu3c0

  • *
  • Underc0der
  • Mensajes: 434
  • Actividad:
    0%
  • Reputación 0
  • In the middle Netbeans
    • Ver Perfil
« en: Febrero 10, 2015, 09:31:30 am »
En primer lugar gracias por arreglarme mi post anterior Chequino, en segundo  quiero compartir este source de un simple File to hexstring, espero sirva de ayuda a gente que quiere aprender como lo hago yo todos los dias de mi vida.

Quiero y tengo en mente, pero necesito tener tiempo libre, hacer un analizador uploadfile:
Consiste en crear un javaweb proyecto con un bonito index.jsp que será el uploader a través de getter setter quiero que analize el archivo y si va metido dentro de él código .php, o lo que es lo mismo un shell.php, deniege el upload y redireccione a un html bonito.

Sin más parafernalia este es mi código espero sea de vuestro agrado.

Código: Java
  1. package @huec0designer;
  2.  
  3. /**
  4.      __  __     _____      ____     ____   ______          __        
  5.    / / / /_  _|__  /_____/ __ \   / / /  / ____/___  ____/ /__  _____
  6.   / /_/ / / / //_ </ ___/ / / /  / / /  / /   / __ \/ __  / _ \/ ___/
  7.  / __  / /_/ /__/ / /__/ /_/ /  / / /  / /___/ /_/ / /_/ /  __/ /    
  8. /_/ /_/\__,_/____/\___/\____/  / / /   \____/\____/\__,_/\___/_/    
  9.                               /_/_/                                
  10.  */
  11. import java.io.*;
  12. import java.util.Scanner;
  13.  
  14.  
  15. public class EjercicioFileReaderFileWriteenHexadecimal {
  16.     public static void main (String []args) throws FileNotFoundException, IOException{
  17.        
  18.  Scanner sc1= new Scanner(System.in);
  19.         FileReader flrd=null;
  20.         FileWriter flwr=null;
  21.         String putinHex=null;
  22.         int caracterin;
  23.         int caraterout;
  24.         int contador;
  25.     System.out.println("Bienvenidoa File to StringHex  code by_Hu3c0");
  26.     System.out.println("Introduzca la ruta completa de su archivo..! ");
  27.     String patharchivo=sc1.nextLine();
  28.     String patharchivosalida=System.getenv("TEMP");
  29.     String pathfinal=patharchivosalida.concat("\\Stringhexout.txt");
  30.     flrd= new FileReader(patharchivo);
  31.     flwr= new FileWriter(pathfinal);
  32.    caracterin=flrd.read();
  33.     try{
  34.         while (caracterin != -1){
  35.            
  36.             putinHex="0x"+Integer.toHexString(caracterin)+", ";
  37.             contador=putinHex.length();
  38.                 for (int i =0;i<contador;i++){
  39.                 char chrnuevo= putinHex.charAt(i);
  40.                 flwr.write(chrnuevo);
  41.             }
  42.             caracterin=flrd.read();
  43.             }
  44.          }
  45.           catch(IOException  e){
  46.     System.out.println("Something go wrong...!");}
  47.     finally {
  48.     System.out.println("Okey your file was create in %TEMP% folder....!")
  49.      flwr.close();
  50.         flrd.close();}
  51.    
  52.    
  53.     }  
  54.    
  55.    
  56. }

« Última modificación: Febrero 10, 2015, 09:52:37 am por Expermicid »

Conectado Adalher

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    38.33%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Septiembre 03, 2019, 07:10:08 am »
Hola Hu3c0,

aparte del código no demasiado bueno:
Que demonios tiene que ver un programa que lee un fichero y que después vuelve a escribir todo “codificado en Hex” con esto:
Citar
Quiero y tengo en mente, pero necesito tener tiempo libre, hacer un analizador uploadfile:
Consiste en crear un javaweb proyecto con un bonito index.jsp que será el uploader a través de getter setter quiero que analize el archivo y si va metido dentro de él código .php, o lo que es lo mismo un shell.php, deniege el upload y redireccione a un html bonito.

Y cuando algo no funciona entonces viene la pregunta en el foro sobre qué salió mal y el mensaje de error es: “Something go wrong....!” ⇒ Bloques de catch vacíos (de este modo salidas que no son enunciativas no cuentan!) son para ser evitados! Si, en tu caso puedes sencillamente lanzarlas de nuevo…

File Separator duramente codificado - Ahí sería apropiado File.separator.

En vez de la variable de entorno TEMP se debería usar System.getProperty("java.io.tmpdir").
En esta sección nosotros no escribimos scripts, sino programas Java. Ahí es inusitado definir las variables así a la cabeza. En cambio estas son definidas cuando se las necesita. Osea contigo en casi todas las variables cuando estas son inicializadas.

Referente a FileReader/Writer: usa sencillamente try with resources.

La UI o ingles o español. Consejo: quedate con el lenguaje que tu sabes… “Something went wrong....”. Un inglés correcto quizás todavía sería “Something goes wrong” pero eso que causó la excepción es pasado y a continuación tu aplicación fallará… Sería diferente si tú no puedes abortar y si debes seguir soportando el error (control de una aplicación crítica y entran en parte datos de sensores incorrectos… Una conducción autónoma de un Tesla con 200 en la autopista ojala no dirá “Algo salió mal” y se apagará… Mas bién dirá: “Algo sale mal” y tratará de abortar controladamente osea de parar despacio, controladamente.)... Del mismo modo concebible: “Something will go wrong”... eso solo fue un error pequeño. El error principal es que impactará unas fracciones de segundos del Tesla con velocidad 200 en un obstáculo… O la temperatura de la batería pues es tan alta que está claro: ella está defectuosa, ya se quemará el Tesla… (Lamentablemente ambos no traído por los cabellos, como ha mostrado el pasado).

Veo positivamente que la asignación de caracteres no tiene lugar en la operación del bucle while, como se ve tan a menudo. (Es mi preferencia, se puede ver de otra manera. Pero den correspondiente a esto también una comprobación de p. e. PMD).

Todavía también es concebible que se deje el 0x puesto que el archivo generalmente debe contener valores Hex.

Eso sería sencillamente una vez un comentario concreto, algo que creo que es mejor que solamente un “código no demasiado bueno”.


Saludos

Conectado Bartz

  • *
  • Moderador
  • Mensajes: 163
  • Actividad:
    53.33%
  • Reputación 8
  • ~Afaik~
    • Ver Perfil
« Respuesta #2 en: Septiembre 03, 2019, 09:52:08 am »
Eso sería sencillamente una vez un comentario concreto, algo que creo que es mejor que solamente un “código no demasiado bueno”.

@Adalher , El post es de 2015, dudo que el usuario lea tu comentario, pero aprovecho para comentarte que tu comentario critica mas de lo que construye.
Si tus intenciones son las de hacer criticas constructivas en cuanto al codigo me parece excelente y se te agradece, aunque podrias decirlo de una mejor manera (no es para que te lo tomes a mal a mi comentario, sino que es para que mejoremos como comunidad)

Saludos ! :D
« Última modificación: Septiembre 03, 2019, 03:40:13 pm por Bartz »


Con la fuerza del mar, con la paz del rio


 

¿Te gustó el post? COMPARTILO!



Data image base64 [source] java

Iniciado por Hu3c0

Respuestas: 2
Vistas: 2798
Último mensaje Diciembre 27, 2015, 12:52:54 am
por LKI
ADF.LYKILLER [source] && [program] codeado en [JAVA]

Iniciado por Hu3c0

Respuestas: 0
Vistas: 2320
Último mensaje Octubre 25, 2015, 06:24:00 pm
por Hu3c0
Todo acerca del String/cadenas - Unidad 4

Iniciado por Lautaro Villarreal Culic'

Respuestas: 0
Vistas: 2226
Último mensaje Septiembre 13, 2018, 01:28:51 am
por Lautaro Villarreal Culic'