From 1a49e5888fcb426d0b56a7e5e81c53ee47787338 Mon Sep 17 00:00:00 2001 From: lightningitoid Date: Sun, 26 Oct 2025 22:30:05 +0700 Subject: [PATCH] fixed phew --- receiver/challenges/Phew.py | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/receiver/challenges/Phew.py b/receiver/challenges/Phew.py index 0482406..1a91c61 100644 --- a/receiver/challenges/Phew.py +++ b/receiver/challenges/Phew.py @@ -91,10 +91,9 @@ class Phew(Challenge): self._read_until(proc, "pt (hex)", timeout=3.0) self._read_until(proc, "> ", timeout=3.0) self._send_line(proc, pt_hex) - out = self._read_until(proc, "\n", timeout=3.0) + out = self._read_until(proc, "> ", timeout=5.0) ct_hex = self._expect_hex_field(out, "ct") - self._read_until(proc, "> ", timeout=3.0) - self._send_line(proc, "0") + self._send_line(proc, "9") try: proc.wait(timeout=2.0) except subprocess.TimeoutExpired: @@ -113,10 +112,9 @@ class Phew(Challenge): self._read_until(proc, "ct (hex)", timeout=3.0) self._read_until(proc, "> ", timeout=3.0) self._send_line(proc, ct_hex) - out = self._read_until(proc, "\n", timeout=3.0) + out = self._read_until(proc, "> ", timeout=5.0) pt_hex = self._expect_hex_field(out, "pt") - self._read_until(proc, "> ", timeout=3.0) - self._send_line(proc, "0") + self._send_line(proc, "9") try: proc.wait(timeout=2.0) except subprocess.TimeoutExpired: @@ -132,10 +130,9 @@ class Phew(Challenge): try: self._read_until(proc, "> ", timeout=10.0) self._send_line(proc, "4") - out = self._read_until(proc, "\n", timeout=3.0) + out = self._read_until(proc, "> ", timeout=5.0) ct_hex = self._expect_hex_field(out, "ct") - self._read_until(proc, "> ", timeout=3.0) - self._send_line(proc, "0") + self._send_line(proc, "9") try: proc.wait(timeout=2.0) except subprocess.TimeoutExpired: @@ -155,10 +152,9 @@ class Phew(Challenge): self._read_until(proc, "key (hex)", timeout=3.0) self._read_until(proc, "> ", timeout=3.0) self._send_line(proc, wrong_key_hex) - line = self._read_until(proc, "\n", timeout=3.0).strip() - assert "nope" in line.lower(), f"bingo did not reject wrong key; got: {line!r}" - self._read_until(proc, "> ", timeout=3.0) - self._send_line(proc, "0") + out = self._read_until(proc, "> ", timeout=5.0) + assert "nope" in out.lower(), f"bingo did not reject wrong key; got:\n{out[-300:]}" + self._send_line(proc, "9") try: proc.wait(timeout=2.0) except subprocess.TimeoutExpired: