Fix sync_r2_output for Windows

This commit is contained in:
Flawed
2023-01-19 01:11:52 -08:00
parent 1b52c7aff8
commit 1a3677a98d
2 changed files with 8 additions and 5 deletions
+1 -3
View File
@@ -216,9 +216,7 @@ def minor_patch_diff(old_exe, new_exe):
opcodes_found = find_opcode_matches(old_opcodes_db, new_opcodes_db)
opcodes_object = []
for k, v in enumerate(opcodes_found):
old, new = v
for (old, new) in opcodes_found:
opcodes_object.append(
{
"old": [hex(o) for o in old],
+7 -2
View File
@@ -26,10 +26,15 @@ def sync_r2_output(r2):
Read stuff from the process pipe until it stops being stupid.
"""
def set_blocking(fileno, blocking):
if hasattr(os, "set_blocking"):
os.set_blocking(fileno, blocking)
time.sleep(1)
os.set_blocking(r2.process.stdout.fileno(), False)
set_blocking(r2.process.stdout.fileno(), False)
p = r2.process.stdout.read(1)
os.set_blocking(r2.process.stdout.fileno(), True)
set_blocking(r2.process.stdout.fileno(), True)
output = r2.cmd(f"?vi 123").strip()
if output != "123":
raise Exception("R2 state never got synced")