elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  De HEX (x\09x\82\x76) a ASCII>
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: De HEX (x\09x\82\x76) a ASCII>  (Leído 4,253 veces)
Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
De HEX (x\09x\82\x76) a ASCII>
« en: 10 Diciembre 2009, 19:01 pm »


Es decir como convertir una cadena de texto que representa numeros hexadecimales a su valor real , este codigo acepta cualquiera de las formas Ej

"x\09x\82\x76"
"0x68, 0x6F, 0x6C, 0x61, 0x20"

incluso una mescla de ellas EJ>
Código
  1. "0x68, 0x6F,\x55\x8B\xEC\x32\xD2\x83\xEC\x10\xC6\x45\xF1\x63\xC6\x45\xF2\x61"
  2.  
  3.  
  4. ahex2hex Proc datos:dword,destino:dword,long:dword
  5.  
  6. mov edx,[datos]
  7.  
  8. repetimos:
  9.  
  10. xor eax,eax
  11. mov ecx,2
  12.  
  13. mmmms:
  14. mov al,byte ptr ds:[ecx+edx-1]
  15. ;;;;;;;;;;;;;;;;;;;;Plugin para ignorar caracteres (ignore "space" "x" "," "\r\n" "\" "/")
  16. ;;;; This is a plugin , you can delete.
  17.  
  18. cmp al,020h ; El espacio , de encontrarse se ignora
  19. jnz noespace
  20. jmp finmal
  21.  
  22. noespace:
  23. cmp al,02Ch ; La ","
  24. jnz nocoma
  25. jmp finmal
  26.  
  27. nocoma:
  28. cmp al,078h ; The "x"
  29. jnz noequis
  30. jmp finmal
  31.  
  32. noequis:  ;Chequeamos si hay una nueva linea , Now we check for newline (for windows)
  33. cmp al,05Ch  ; The "\"
  34. jnz barra
  35. jmp finmal
  36.  
  37. barra:
  38. cmp al,02Fh  ; The "/"
  39. jnz newline
  40. jmp finmal
  41.  
  42. newline:
  43. cmp al,00Dh  ; The "\r"
  44. jnz noreturn
  45. jmp finmal
  46.  
  47. noreturn:
  48.  
  49. cmp al,00Ah  ; The "\n"
  50. jnz googC
  51.  
  52. finmal:
  53. inc edx
  54. jmp repetimos  ; Repetimos
  55. ;;;;;;;;;;;;;;;;;;;;;;Plugin -para ignorar caracteres (-to ignore some chars)
  56. googC:
  57.  
  58.  
  59. sub al,041h
  60. jc  negativo; Si es menor que CERO
  61. add al,0Ah
  62. jmp positivo
  63.  
  64. negativo:  ; Le sumamos 17
  65. add al,011h
  66. positivo: ; Si es positivo , solo lo corremos
  67. shl eax,8
  68. loop mmmms
  69.  
  70. ;;;; Arreglo final (ver en un Dbugger)
  71. shr eax,8
  72. xchg al,ah
  73. shl al,4
  74. shr eax,4
  75. ;;;;;;;;;;;;;;
  76.  
  77. mov ecx,dword ptr ds:[destino]
  78. mov [ecx],al
  79.  
  80. dec long
  81. jz salimos
  82.  
  83. inc edx
  84. inc edx
  85. inc dword ptr ds:[destino]
  86. jmp repetimos
  87.  
  88. salimos:
  89. ret
  90. ahex2hex endp
  91.  

Cualquier duda me dicen !!.







En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: De HEX (x\09x\82\x76) a ASCII>
« Respuesta #1 en: 10 Diciembre 2009, 23:23 pm »

Muy interesante, luego lo miro a fondo ;D

Solo te ha faltado añadir que omita '&' y 'H' para que acepte el sistema de VB :P


En línea

Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Re: De HEX (x\09x\82\x76) a ASCII>
« Respuesta #2 en: 15 Diciembre 2009, 16:53 pm »


Si , es muy fácil que acepte la H y &

Solo debes de saber el numero hexadecimal de esos caracteres
48 y 26 , entonces agregarlo es muy fácil.:

Código
  1. noreturn:
  2. hachekarmany:
  3. cmp al,048h  ; La "H" para karmany
  4. jnz ampersand
  5. jmp finmal
  6.  
  7. ampersand:
  8. cmp al,026h  ; La "&" para karmany
  9. jnz continuamos
  10. jmp finmal
  11.  
  12. continuamos:

---------
Solo debes de agregar ese código después de la etiqueta  noreturn:
Ves que fácil es ASM .

Se me olvido decir que el codigo acepta minusculas o mayusculas , no importa como lo escribas. Fc 1A 2a etc..


En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
MazarD
Colaborador
***
Desconectado Desconectado

Mensajes: 885


mazard.info


Ver Perfil WWW
Re: De HEX (x\09x\82\x76) a ASCII>
« Respuesta #3 en: 15 Diciembre 2009, 18:22 pm »

No entiendo muy bien la utilidad del código.
 
 Si ya tienes esos opcodes en un array en c basta con abrirlo con un debugger y apuntar la ventana de código al inicio de la memoria que corresponda a ese array para tener las instrucciones y poder copiar/pegar a tu código asm.
 
 Si lo haces para ejecutar el código directamente a partir del código máquina en hexa, en c sería algo como:
 
Código
  1. char codigo[]="0x68, 0x6F,\x55\x8B\xEC\x32\xD2\x83\xEC\x10\xC6\x45\xF1\x63\xC6\x45\xF2\x61";
  2. typedef void (*tfuncion)();
  3. tfuncion f;
  4. f=(tfuncion)codigo;
  5. f();
No necesitarías bajar a asm, pero de todos modos en asm sería igual de fácil, algo como:
Código
  1. codigo dw 68h, 6fh, 55h
  2. jmp ds:dw


Por último, si en mi código tengo alguno de los códigos correspondientes a los carácteres especiales me estarás obviando código y me fallará posteriormente.

Saludos!
En línea

-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
irc://irc.freenode.org/elhacker.net
Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Re: De HEX (x\09x\82\x76) a ASCII>
« Respuesta #4 en: 15 Diciembre 2009, 18:36 pm »


Si , eso es cuando tienes el compilador , pero en el caso que desees algun tipo de convercion despues de compilar , puede usar este codigo.
En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al editar ascii
Ingeniería Inversa
0x98364 1 2,103 Último mensaje 25 Enero 2011, 18:12 pm
por MCKSys Argentina
Consulta de pasar hex a ASCII
Hacking Wireless
PALADINJP 2 3,591 Último mensaje 28 Julio 2011, 21:26 pm
por nhaalclkiemr
Traduccion a Ascii
Dudas Generales
Milo_EscorpioNN 2 3,517 Último mensaje 23 Agosto 2011, 17:37 pm
por Milo_EscorpioNN
[Python] Ascii To Hex y Hex to Ascii
Scripting
Runex 0 3,066 Último mensaje 8 Abril 2012, 15:09 pm
por Runex
[Perl] ASCII Art 0.1
Scripting
BigBear 0 1,389 Último mensaje 3 Octubre 2012, 01:14 am
por BigBear
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines