Script Imm Dbg para Lanzar un proceso y atacharse
Bueno, aca les dejo un script que hice para correr un programa y despues atacharse a el.
La razon por hacer esto es que los programas cuando se arrancan en modo debug setean una flag que hace que distintas partes como ser la heap y llamadas al sistema se comporten distinto.
Código
Este script se pone en la carpeta PyCommands con el nombre landa.py del Immunity Debugger y despues se corre como "!landa nombre_del_programa" .
Espero les sirva,
Seba.
Bueno, aca les dejo un script que hice para correr un programa y despues atacharse a el.
La razon por hacer esto es que los programas cuando se arrancan en modo debug setean una flag que hace que distintas partes como ser la heap y llamadas al sistema se comporten distinto.
Código
Código: [Seleccionar]
Code (python):
import immlib
import subprocess as subp
import os, time
def main(args):
imm = immlib.Debugger()
#pause, we dont want it to be killed inside immdbg
imm.Pause()
try:
#kill the old process
oldpid = imm.getDebuggedPid()
import ctypes
PROCESS_TERMINATE = 1
handle = ctypes.windll.kernel32.OpenProcess(PROCESS_TERMINATE, False, oldpid)
ctypes.windll.kernel32.TerminateProcess(handle, -1)
ctypes.windll.kernel32.CloseHandle(handle)
except:
pass
#when dettached will be killed
imm.Dettach()
imm.Log("Launching : %s" % (args[0]))
#Launch the process
proc = subp.Popen(args)
imm.Log("Process with pid: %d" % (proc.pid))
#Sleep 2 seconds and attach
time.sleep(2)
imm.Attach(proc.pid)
return "Done!"
Este script se pone en la carpeta PyCommands con el nombre landa.py del Immunity Debugger y despues se corre como "!landa nombre_del_programa" .
Espero les sirva,
Seba.
0 comentarios:
Publicar un comentario