changed output
parent
ee0d9ee9da
commit
e5ecc75c0c
|
@ -1,5 +1,5 @@
|
|||
import angr
|
||||
import time
|
||||
import sys, time
|
||||
import claripy
|
||||
|
||||
GREEN = "\033[92m"
|
||||
|
@ -16,7 +16,9 @@ def fgets(state: angr.SimState):
|
|||
input_data = state.solver.BVS('input_data', 8 * INPUT_SIZE)
|
||||
state.memory.store(state.regs.rcx, input_data)
|
||||
state.memory.rax = claripy.BVV(1, 32)
|
||||
INPUTS.append(input_data)
|
||||
|
||||
INPUTS.append({"input_data": input_data,
|
||||
"addr": int(state.regs.rip.concrete_value)})
|
||||
|
||||
def strcpy_s(state: angr.SimState):
|
||||
dst, sz, src = state.regs.rcx, state.regs.rdx, state.regs.r8
|
||||
|
@ -73,8 +75,10 @@ if __name__ == "__main__":
|
|||
found_state = simgr.found[0]
|
||||
|
||||
for input in INPUTS:
|
||||
input_data = found_state.solver.eval(input, cast_to=bytes)
|
||||
print(f"{GREEN}Success cracked! Input: {PURPLE}{input_data}{PURPLE}{RESET}")
|
||||
input_data = found_state.solver.eval(input['input_data'], cast_to=bytes)
|
||||
print(f"{GREEN}Success cracked! {PURPLE}"
|
||||
f"input data = {input_data} "
|
||||
f"[0x{input['addr']:X}]{PURPLE}{RESET}")
|
||||
|
||||
print(f"{GREEN}Pwd cracking time = {elapsed}{RESET}")
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue