diff --git a/AnalisisDeSoftware/Practica3/bomb_script.py b/AnalisisDeSoftware/Practica3/bomb_script.py index c9480bc..5cf93fd 100644 --- a/AnalisisDeSoftware/Practica3/bomb_script.py +++ b/AnalisisDeSoftware/Practica3/bomb_script.py @@ -3,7 +3,7 @@ import angr import claripy -# Cargar el proyecto +# Load binary proj = angr.Project("./bomb", load_options={'auto_load_libs': False}) input_length = 4 * 8 # 4 enteros de 4 bytes cada uno @@ -25,7 +25,7 @@ st_phase1.regs.ecx = input_int4 ex_phase1 = proj.surveyors.Explorer( start=st_phase1, find=(0x00400a3c,), # Dirección de retorno exitoso de check_phase1 - avoid=(0x00400a23,) # Dirección de sym.explode_bomb dentro de check_phase1 + avoid=(0x00400a23, 0x00400a2f) # Dirección de sym.explode_bomb dentro de check_phase1 ) ex_phase1.run() @@ -51,8 +51,8 @@ if ex_phase1.found: # Explorador para la segunda fase ex_phase2 = proj.surveyors.Explorer( start=st_phase2, - find=(0x00400b13,), # Dirección de retorno exitoso de check_phase2 - avoid=(0x00400b0a,) # Dirección de sym.explode_bomb dentro de check_phase2 + find=(0x00400b12,), # Dirección de retorno exitoso de check_phase2 + avoid=(0x00400ad4,0x00400af9,0x00400b05) # Dirección de sym.explode_bomb dentro de check_phase2 ) ex_phase2.run() @@ -78,8 +78,8 @@ if ex_phase1.found: # Explorador para la tercera fase ex_phase3 = proj.surveyors.Explorer( start=st_phase3, - find=(0x00400c7a,), # Dirección de retorno exitoso de check_phase3 - avoid=(0x00400c07,) # Dirección de sym.explode_bomb dentro de check_phase3 + find=(0x00400c76,), # Dirección de retorno exitoso de check_phase3 + avoid=(0x00400c54,0x00400c60,0x00400c6c) # Dirección de sym.explode_bomb dentro de check_phase3 ) ex_phase3.run()