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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Duda con simple script
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con simple script  (Leído 2,480 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Duda con simple script
« en: 26 Agosto 2011, 22:11 pm »

en el tutorial de introducción a olly se comienza con este script:


Citar
inicio:

bphws 12ffc4, "r"

trabajo:

eob pirulo
run

pirulo:
cmp eip, 77aa6298
je quitar
cmp eip, 77aa62b0
je restaurar
jmp final

quitar:
bphwc 12ffc4
jmp trabajo

restaurar:
jmp inicio

final:
MSGYN "Continuar?"
cmp $RESULT,1
je inicio
ret

en donde las comparaciones que se realiza son en (se pone bp ahí) KiUserExceptionDispatcher y en ZwContinue (se pone bp)

la idea del script es poder saltear la detección de de los hadware breakpoint, este funciona correctamente pero me surge una duda:

Supongamos que está detenido en
77aa6298 (KiUserExceptionDispatcher)
al encontrar una excepción o breakpoint

por el comando eob saltará a pirulo

pirulo:
cmp eip, 77aa6298
je quitar
cmp eip, 77aa62b0
je restaurar
jmp final

aquí al ser la primera comprobación cierta, este va a quitar

quitar:
bphwc 12ffc4
jmp trabajo

por lo que luego va a trabajo mi duda es que no entiendo cuando se ejecuta run, ya que este está debajo de eob por lo que para mi entender nunca se ejecutaría y no haría nunca avanzar al programa, pero este si lo hace

iría a trabajo y denuevo encontraría un BP 77aa6298 o el RUN se ejecuta junto con el EOB? No sé si se entiende

Saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.513


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Duda con simple script
« Respuesta #1 en: 26 Agosto 2011, 23:00 pm »

EOB label
---------
Transfer execution to some label on next breakpoint.


Osea, desde este momento, cuando ocurra un BP, transferir la ejecucion al label dado.

Es como si se seteara un flag, que le dice al plugin que a partir de ese momento, el primer BP que salte, va a hacer que se ejecute las instrucciones que estan en el label.

Si no se usa run, no podria andar nunca. EOB de por si misma, no ejecuta nada...  :P
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Duda con simple script
« Respuesta #2 en: 26 Agosto 2011, 23:31 pm »

ahora por las excepciones y todo suele usarse los bp en memory y muchas veces  otros comandos, pero mas que eso no


/COE/COB/EOB son comandos mas o menos poco usadosm actualmente
se suele usar:"BPGOTO"

saludos Apuromafo


+info:


//
COB  // Continue On Break
Makes the script continue execution after a breakpoint has occurred. This will override the execute on break (EOB) command.  (removes EOB)
Example:
COB

//
COE  // Continue On Exception
Makes the script continue execution after an exception has occurred. This will override the execute on exception (EOE) command.  (removes EOE)
Example:
COE

//
EOB label  // Execute On Break
Transfers execution to label on next breakpoint.
(see BPGOTO command to assign a label to a breakpoint)
Example:
EOB label
eob SOME_LABEL


//


BPGOTO addr, label         // Breakpoint Goto
------------------
Automatic Jump at label on Breakpoint (Standard(INT3) and Hardware).
//Transfer execution to label when breakpoint at addr is reached.
EOB Like Command
Example:
bphws addr
bpgoto addr, MyLabel
NextBP:
RUN
...
MyLabel:
...
jmp NextBP

//////////////////////////////////
Example2:
BP addr
BPGOTO addr, Do2
RUN
NextBP2:
  RUN
  ...
Do2:
  ...
  JMP NextBP2




--

BPHWS addr, [mode="x"]  // Breakpoint Hardware Set
Sets a hardware breakpoint at addr.
Mode can be
"r" read,
"w" write or
"x" execute

(defaults to "x" if omitted).
--

ERUN  // Exception (Handling) Run //  [formerly ESTO]
Executes "SHIFT+F9" in OllyDbg (Run with exceptions ignored).
Note: Was ESTO before, but the command is depreciated
Example:
ERUN

---

MSGYN str  // Message Yes No
Displays a message box with "Yes" and "No" buttons containing the text str.
$RESULT is set to 0 if the user selects "No".
$RESULT is set to 1 if the user selects "Yes".
$RESULT is set to 2 if the user selects "Cancel".
Example:
MSGYN "Auto search for IAT?"
CMP $RESULT, 0
JE AskIAT
CMP $RESULT, 1
JE FindIAT
CMP $RESULT, 2
JE Exit
En línea

Apuromafo
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Duda con simple script
« Respuesta #3 en: 27 Agosto 2011, 02:29 am »

EOB label
---------
Transfer execution to some label on next breakpoint.


Osea, desde este momento, cuando ocurra un BP, transferir la ejecucion al label dado.

Es como si se seteara un flag, que le dice al plugin que a partir de ese momento, el primer BP que salte, va a hacer que se ejecute las instrucciones que estan en el label.

Si no se usa run, no podria andar nunca. EOB de por si misma, no ejecuta nada...  :P

Excelente respuesta pero aún no me aclaro con algo entiendo lo que hace EOB y RUN pero es más que nada por entendimiento cuando se genere el bp se dirigirá a pirulo pero mi duda es en que parte pasa por el run es decir va a pirulo junto con un run? o no pasa por ese run al ir a pirulo, muchas gracias por las respuestas :D
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Duda con simple script
« Respuesta #4 en: 27 Agosto 2011, 03:34 am »

creo que yo entendí algo esa explicación, cuando ejecutas el script, mandas el comando RUN, que ya sabemos para que es.

Y no se ejecuta nada hasta que la condición de EOB se cumpla, como dice Fly, EOB por si solo no ejecuta nada.

La condición de EOB es está.

Citar
Transfer execution to some label on next breakpoint.

Que me corrigan si me equivoco.

EDITO:

Releyendo lo que dijo fly, aquí está la respuesta.

Citar
ue le dice al plugin que a partir de ese momento, el primer BP que salte, va a hacer que se ejecute las instrucciones que estan en el label.

el Label es pirulo.

Nox.
« Última modificación: 27 Agosto 2011, 03:37 am por Иōҳ » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Una duda simple
Programación Visual Basic
Jess_Kapria 2 3,575 Último mensaje 27 Octubre 2006, 00:41 am
por Jess_Kapria
Hola majos, alguien me puede hacer un simple script, que yo no se....
Scripting
WildFroVII 1 2,591 Último mensaje 30 Agosto 2008, 00:42 am
por Ragnarok
[BATCH]Script simple para sacar raices cuadradas exactas
Scripting
onixes001 1 9,635 Último mensaje 23 Marzo 2009, 07:02 am
por bolivianito
Algun Script Php para crear un simple contador de descargas
PHP
neopuerta360 6 7,985 Último mensaje 25 Octubre 2010, 01:24 am
por neopuerta360
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines