Hola a todos, les dejo un simple script para aquellos que se inician en esto, consiste en un script para colocar HBP tanto como read access execute, la gran ventaja es que estos HBP son borrados si se producen excepciones con el fin de no ser detectados una vez retomada la excepción se vuelven a colocar:
Es muy básico por lo que si a alguien se le ocurre alguna idea la integramos de inmediato, Saludos
Código (asm) [Seleccionar]
var AUX
VAR TIPO
var KIUSER
var ZWCONT
var HBP
gpa "KiUserExceptionDispatcher", "ntdll.dll"
mov KIUSER, $RESULT
bp KIUSER
gpa "ZwContinue", "ntdll.dll"
mov ZWCONT, $RESULT
bp ZWCONT
ADDRESS:
ask "Dirección del HBP"
cmp $RESULT, 0
je ERROR
mov HBP, $RESULT
PREGUNTA:
ASK "Tipo de HBP,r-w-x"
MOV TIPO,$RESULT
CMP TIPO, "r"
JE INICIO
CMP TIPO, "w"
JE INICIO
CMP TIPO, "x"
JE INICIO
JMP ERROR2
INICIO:
EVAL "{TIPO}"
bphws HBP, $RESULT
TRABAJO:
eob COMPROBAR
run
COMPROBAR:
cmp eip,KIUSER
je QUITAR
cmp eip,ZWCONT
je BREAKPOINT
cmp eip,AUX
je RESTAURAR
jmp SALIR
QUITAR:
bphwc HBP
jmp TRABAJO
BREAKPOINT:
mov AUX,esp
add AUX,4
mov AUX,[AUX]
add AUX,0b8
mov AUX,[AUX]
bp AUX
jmp TRABAJO
RESTAURAR:
bc AUX
jmp INICIO
ERROR:
msg "Dirección incorrecta"
jmp ADDRESS
SALIR:
msgyn "HBP encontrado,intentar nuevamente?"
cmp $RESULT,1
je INICIO
ret
ERROR2:
MSG "Tipo de HBP incorrecto"
JMP PREGUNTA
Es muy básico por lo que si a alguien se le ocurre alguna idea la integramos de inmediato, Saludos