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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Truco: Debugear binarios usando el mismo bat invisible
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Truco: Debugear binarios usando el mismo bat invisible  (Leído 2,358 veces)
carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Truco: Debugear binarios usando el mismo bat invisible
« en: 14 Julio 2008, 23:42 pm »

Hola acabo de leer código, y aprendido lo que muestro a continuación:

Cómo debugear binarios usando el mismo archivo y sin salida gráfica.

Ejemplo:
Código:
::CarlitoS
@echo off

if exist "reply.com" (goto Code) else (goto Crea)

::INICIO CODE REPLY
A 100
MOV AH,08
INT 21
CMP AL,0
JNZ 010A
INT 21
MOV AH,4C
INT 21

RCX
E
N REPLY.COM
W
Q

:FIN CODE REPLY

:Crea
for /f "skip=6 tokens=*" %%a in ('debug ^< "%~f0" ^>NUL') do rem

:Code
reply.com
if %errorlevel%==32 (goto :texto)
goto Code

:texto
echo Presionaste espacio
pause



Lo que hace este código es usando el for con el salto de líneas apropiado (skip) entregarle al debug el código necesario para crear el binario redireccionando a NUL.

Prefiero que analicen el code y saquen sus propias conclusiones.

Este code que escribí crea un ejecutable antiguo de Microsoft llamado reply.com que es como el pause>NUL pero en %errorlevel% nos devuelve el número de tecla presionada.

La gracia de todo esto es que se crea el binario sin salida gráfica y usando el mismo archivo.

Nota: el debug lee hasta la q y el salto de línea.


« Última modificación: 15 Julio 2008, 00:26 am por carlitos.dll » En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Truco: Debugear binarios usando el mismo bat invisible
« Respuesta #1 en: 15 Julio 2008, 00:22 am »

Lo mismo, pero con el source para debugear al estilo de Shadow.

Código:
::CarlitoS
@echo off

if exist "reply.com" (goto Code) else (goto Crea)

::INICIO CODE REPLY
N REPLY.COM
e 0000 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
rcx
000E
w0
q

:FIN CODE REPLY

:Crea
for /f "skip=6 tokens=*" %%a in ('debug ^< "%~f0" ^>NUL') do rem

:Code
reply.com
if %errorlevel%==32 (goto :texto)
goto Code

:texto
echo Presionaste espacio
pause



Por cierto, el code de reply.com lo obtuve de :
Código:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q77457&


« Última modificación: 15 Julio 2008, 00:26 am por carlitos.dll » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Truco: Debugear binarios usando el mismo bat invisible
« Respuesta #2 en: 15 Julio 2008, 02:36 am »

Buen aporte Carlitos, tambien voy a probar ese reply.com aver hasta donde se puede llegar.

Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Codeblocks 16.01 no me deja debugear
Programación C/C++
sebamoron86 2 2,233 Último mensaje 27 Junio 2016, 16:36 pm
por AlbertoBSD
Facebook está usando un sucio truco para que aceptes sus nuevas condiciones ...
Noticias
wolfbcn 0 1,270 Último mensaje 31 Mayo 2018, 21:32 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines