Bienvenido a Tecnohackers

Tecnohackers » Programacion » Area de Programacion
 » 

Manual de como trabajar con el comando DEBUG.. ( novato )



Autor Tema: Manual de como trabajar con el comando DEBUG.. ( novato )  (Leído 1195 veces)

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 249
    • http://foro.latinohack.com
Manual de como trabajar con el comando DEBUG.. ( novato )
« en: Enero 21, 2009, 12:51:42 pm »
Buenas antes de todo* mis saludos a la gente de el foro y espero que entiendan mi tutorial...

( mi gramatica castellana va mal ya que vivo en alemania y no hablo casi el espaniol.. )

Y aqui Va:

#######################################################################################################

Bueno Aqui te dejo este Pequenio tutorial de Como hacerle un Debug al EICAR.COM ( ya te explique que era el eicar )

Tu podrias bajarte Eicar.com desde la pagina You are not allowed to view links. Register or Login o tambien podrias crearlo por ti mismo ( que seria la mejor opcion ).
Para crearlo tu mismo Abre el Editor de Texto y pega lo siguiente :

X5O!P% @AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Guarda el texto con el siguiente Nombrey extension :

eicar.txt

Ahora entras a la consola haces un copy a eicar.txt

copy c:\eicar.txt c:\eicar.com

Al hacer eso tu antivirus saltara.. es normal ya que el eicar.com es un Test para comprobar si los antivirus funcionan o no.
Ahora Entras a la consola ( MSDOS ) de la siguiente manera :
Suponiendo que guardaste el eicar.com en el disco C:\ pones
cd \
debug eicar.com

Como puedes ver no pasa nada.. solo aparece la linea "* -* " a tu lado izquierdo de la pantalla
eso es la linea de comandos de " DEBUG ". AHora piensa que estamos en la linea de comandos de Debug y escribe lo siguiente :

-d* * *<-------- Ese es el comando DUMP y te muestra la salida de la memoria donde nos* * * * * * * *encontramos.

* * * *Si no me equivoco Estas en la entrada 0CD2:0100 ( Segmento:OffSet ) y te aparecen los* * * * * *siguientes Numeros:

* * * *58 35 4F 21 50 25 40 41-50 5B 34 5C 50 5A 58 35* * * X50!P%AP[4\PZX5

* * * *Bueno ahi es donde empieza la funcion de el programa eicar.com.
* * * *Si te diste cuenta el Debug cargo el eicar.con directo en la direccion de memoria
* * * *0100h ( la h esta por hexa, no necesitas ponerla ), por que tu puedes leer
* * * *"EICAR-STANDARD-ANTIVIRUS-TEST-FILE" .
* * * *ahora haremos un (R)egister en debug. para eso pones lo Siguiente en linea de comando
* * * *de debug:
-r

* * * *Con (R)egister El debug te manda una actualizacion de el Registro de Procesadores ( todo* * * * esto es tu* * * * hardware.Este comando lo necesitaremos mas tarde ahora siguamos con lo* * * * nuestro.

* * * *Ahora vamos a* empezar a Desamblar nuestro eicar.com.
* * * *Con el Comando (U)nassemble, puedes desamblar el eicar.com. Lo que ves a continuacion
* * * *Son los primeros 16 byte que mediante el Comando (U) llamaste.
* * * *Ahi es donde se encuentran las lineas que hacen saltar el antivirus:* * * * * * * * * * * * * * ( X5O!P% @AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* )
* * * *Traducidas a codigo ASM.
* * * *Bueno eso de el comando (U)nassemble Manualmente lo dejaremos ya que es mejor
* * * *crear archivos de entrada y salida que creen e por ti ( para eso somos Flojos xD ).
* * * *Bueno dejemonos de tonterias y te ensenio de como se hace esto :
* * * *Abre la consola y escribe ( suponiendo qu esta en el disco C:\ que es lo mejor )

C:\>debug eicar.com
-u 0100 0143
-q
* * * *Como debes de ver te aparece el siguiente codigo ( no en todas las PC's es igual )
* * * *
-u 0100 0143
0CD2:0100 58 POP AX
0CD2:0101 354F21 XOR AX,214F
0CD2:0104 50 PUSH AX
0CD2:0105 254041 AND AX,4140
0CD2:0108 50 PUSH AX
0CD2:0109 5B POP BX
0CD2:010A 345C XOR AL,5C
0CD2:010C 50 PUSH AX
0CD2:010D 5A POP DX
0CD2:010E 58 POP AX
0CD2:010F 353428 XOR AX,2834
0CD2:0112 50 PUSH AX
0CD2:0113 5E POP SI
0CD2:0114 2937 SUB [BX],SI
0CD2:0116 43 INC BX
0CD2:0117 43 INC BX
0CD2:0118 2937 SUB [BX],SI
0CD2:011A 7D24 JGE 0140
0CD2:011C 45 INC BP
0CD2:011D 49 DEC CX
0CD2:011E 43 INC BX
0CD2:011F 41 INC CX
0CD2:0120 52 PUSH DX
0CD2:0121 2D5354 SUB AX,5453
0CD2:0124 41 INC CX
0CD2:0125 4E DEC SI
0CD2:0126 44 INC SP
0CD2:0127 41 INC CX
0CD2:0128 52 PUSH DX
0CD2:0129 44 INC SP
0CD2:012A 2D414E SUB AX,4E41
0CD2:012D 54 PUSH SP
0CD2:012E 49 DEC CX
0CD2:012F 56 PUSH SI
0CD2:0130 49 DEC CX
0CD2:0131 52 PUSH DX
0CD2:0132 55 PUSH BP
0CD2:0133 53 PUSH BX
0CD2:0134 2D5445 SUB AX,4554
0CD2:0137 53 PUSH BX
0CD2:0138 54 PUSH SP
0CD2:0139 2D4649 SUB AX,4946
0CD2:013C 4C DEC SP
0CD2:013D 45 INC BP
0CD2:013E 2124 AND [SI],SP
0CD2:0140 48 DEC AX
0CD2:0141 2B482A SUB CX,[BX+SI+2A]
-q* * *
* * * *Ok pero espera.. te explico por que entramos a la entrada de Memoria 0100 0143
* * * *Como te dije la parte que hace saltar nuestro AV empieza en la entrada
* * * *de memoria 0100 y termina en la entrada 0143.. Lo que acabamos de hacer con
* * * *(U)nassamble es decirle al Debugger que nos muestre la Parte ASM que necesitamos
* * * *ok. Explicado.. ahora para que complicarse la vida si podemos hacer textos que nos
* * * *facilitan el trabajo haciendo " PIPES " para diseamblar?.
* * * *Ahora Creas un archivo Llamado ( escribelo tal como yo lo hago :
* * * *dissas.bla.txt en la misma carpeta donde se encuentra el eicar.com ( siempre
* * * *suponiendo que lo guardas en C:\ que es lo mejor )
* * * *y escribes lo siguiente dentro de dissas.bla.txt :

u 0100 0143* * * *<----- Esto lo escribes tal como esta.. sin la linea "* -* "
q

* * * Ahora Creas un batch llamado dissas.bat y le escribes las siguientes lineas :

debug eicar.com < dissas.bla.txt > eicar.dis

* * * Te explico lo que hacen esas lineas..
* * * Debug empieza a correr y carga a eicar.com y espera a los Parametros ( osea a los
* * * comandos. Esos comandos se los escribimos al archivo dissas.bla.txt. Por supuesto
* * * el Debugger no te muestra lo que hemos echo.. ya que los comandos que le pasamos a
* * * eicar.com desde dissas.bla.txt se guardaran en el archiv eicar.dis que hemos creado.
* * * Osea eicar.com < dissas.bla.txt le manda los comandos antes dados mediante el parametro
* * * " < " para robar el codigo ASM de la entrada de memoria 0100 0143 y finalmente
* * * entregarselo a eicar.dis con el parametro de salida " > " ( no se si entendiste bien esta* * * *parte pero me cuesta escribir y expresarme bien al espanio.. tengo la gramatica alemana* * * *xD ).

* * * Al haber terminado este proceso con exito deberias de ir a donde se guardo el eicar.dis
* * * ( normalmente en C:\ ) y abrilo con un editor de texto. las Siguientes Lineas te deberian* * * *de aparecer :

-u 0100 0143
0CD2:0100 58 POP AX
0CD2:0101 354F21 XOR AX,214F
0CD2:0104 50 PUSH AX
0CD2:0105 254041 AND AX,4140
0CD2:0108 50 PUSH AX
0CD2:0109 5B POP BX
0CD2:010A 345C XOR AL,5C
0CD2:010C 50 PUSH AX
0CD2:010D 5A POP DX
0CD2:010E 58 POP AX
0CD2:010F 353428 XOR AX,2834
0CD2:0112 50 PUSH AX
0CD2:0113 5E POP SI
0CD2:0114 2937 SUB [BX],SI
0CD2:0116 43 INC BX
0CD2:0117 43 INC BX
0CD2:0118 2937 SUB [BX],SI
0CD2:011A 7D24 JGE 0140
0CD2:011C 45 INC BP
0CD2:011D 49 DEC CX
0CD2:011E 43 INC BX
0CD2:011F 41 INC CX
0CD2:0120 52 PUSH DX
0CD2:0121 2D5354 SUB AX,5453
0CD2:0124 41 INC CX
0CD2:0125 4E DEC SI
0CD2:0126 44 INC SP
0CD2:0127 41 INC CX
0CD2:0128 52 PUSH DX
0CD2:0129 44 INC SP
0CD2:012A 2D414E SUB AX,4E41
0CD2:012D 54 PUSH SP
0CD2:012E 49 DEC CX
0CD2:012F 56 PUSH SI
0CD2:0130 49 DEC CX
0CD2:0131 52 PUSH DX
0CD2:0132 55 PUSH BP
0CD2:0133 53 PUSH BX
0CD2:0134 2D5445 SUB AX,4554
0CD2:0137 53 PUSH BX
0CD2:0138 54 PUSH SP
0CD2:0139 2D4649 SUB AX,4946
0CD2:013C 4C DEC SP
0CD2:013D 45 INC BP
0CD2:013E 2124 AND [SI],SP
0CD2:0140 48 DEC AX
0CD2:0141 2B482A SUB CX,[BX+SI+2A]
-q

* * * *Bueno ahora viene la parte de el trabajo Manual ( es un poquito xD )
* * * *tienes que borrar las Entradas de Memoria y la Secuencia de Bytes que aparecen a la
* * * *izquierda de el codigo ASM : Ejemplo :


-u 0100 0143* * *<--------- esta linea se la borrar por completo ya que no Disamblear otra vez
0CD2:0100 58 POP AX
0CD2:0101 354F21 XOR AX,214F

 Esto de arriba tendria que quedar asi Borrandola Entradas de memoria y secuencia de bytes

POP AX
XOR AX,214F


* *Bueno espero que te haya quedado claro eso ahora cuando todo el codigo este limpio de* * entradas de memorias y secuencias de bytes le agregas estas Lineas al Principio y al final
* *de el codigo. Ejemplo :

N MYEICAR.COM* <---- con esto creamos el archivo Final que correra con codigo ASM
A 100* * * * * <---- con esto nos vamos a la direccion de memoria 0100
POP AX* * * * *<-------- y aqui copias el codigo limpio de ASM que acabaste de Hacer.
XOR AX,214F
........
.......
......
.....
....
...
..
.
INC BP* * * * * * * <--- Estas son as ultimas lineas de codigo
AND [SI],SP* * * * *<---* * * * ""
DEC AX* * * * * * * <---* * * * ""
SUB CX,[BX+SI+2A]* *<---* * * * ""
int 21* * * * * * * <--- Este es un interruptor de DOS
R CX* * * * * * * * <--- Con esto alargamos el registro CX en 44=68 byte+1
44* * * * * * * * * <--- 44 ( son 68 byte mas 1 )
W* * * * * * * * * *<--- Con esto le escribimos los cambios a myeicar.com
Q* * * * * * * * * *<--- Con esto salimos de el Programa


 Y listo eso es todo...


sorry por darme muchas vueltas con las explicaciones pero como sabes mi gramatica esta acostumbrada al Aleman

espero que hayas entendido y si no me avisas

salud0s

c0d34

PS: no olvides de abrir el MYEICAR.COM que creamos
############################
#Tutorial cread0 por ven0m #
#* * * * * * * * * * * * * #* * * * * * * * * * *
#* * * * * * * * * * * * * #* * * * * * * * * *
#* * * * * * * * * * * * * #* * * * * * * * * * *
############################


salud0s

Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal