From bec7c99a8dfc3f7c05c4cd8bcbe23b26c565e7ee Mon Sep 17 00:00:00 2001 From: 24231016 Date: Sun, 26 May 2024 20:00:00 +0800 Subject: [PATCH] lab7 done --- lab7/sol.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) mode change 100644 => 100755 lab7/sol.py diff --git a/lab7/sol.py b/lab7/sol.py old mode 100644 new mode 100755 index e69de29b..31d11a1a --- a/lab7/sol.py +++ b/lab7/sol.py @@ -0,0 +1,25 @@ +import angr,sys + +def success_condition(state): + return b"Login successful" in state.posix.dumps(sys.stdout.fileno()) + +def fail_condition(state): + return b"Login failed" in state.posix.dumps(sys.stdout.fileno()) + +def main(): + proj = angr.Project('./login') + + init_state = proj.factory.entry_state() + + simulation = proj.factory.simgr(init_state) + + simulation.explore(find = success_condition, avoid = fail_condition) + + solution = simulation.found[0] + + print(solution.posix.dumps(sys.stdin.fileno())) + + +if __name__ == '__main__': + main() +