Fix sync_r2_output for Windows
This commit is contained in:
+1
-3
@@ -216,9 +216,7 @@ def minor_patch_diff(old_exe, new_exe):
|
|||||||
opcodes_found = find_opcode_matches(old_opcodes_db, new_opcodes_db)
|
opcodes_found = find_opcode_matches(old_opcodes_db, new_opcodes_db)
|
||||||
opcodes_object = []
|
opcodes_object = []
|
||||||
|
|
||||||
for k, v in enumerate(opcodes_found):
|
for (old, new) in opcodes_found:
|
||||||
old, new = v
|
|
||||||
|
|
||||||
opcodes_object.append(
|
opcodes_object.append(
|
||||||
{
|
{
|
||||||
"old": [hex(o) for o in old],
|
"old": [hex(o) for o in old],
|
||||||
|
|||||||
@@ -26,10 +26,15 @@ def sync_r2_output(r2):
|
|||||||
|
|
||||||
Read stuff from the process pipe until it stops being stupid.
|
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)
|
time.sleep(1)
|
||||||
os.set_blocking(r2.process.stdout.fileno(), False)
|
set_blocking(r2.process.stdout.fileno(), False)
|
||||||
p = r2.process.stdout.read(1)
|
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()
|
output = r2.cmd(f"?vi 123").strip()
|
||||||
if output != "123":
|
if output != "123":
|
||||||
raise Exception("R2 state never got synced")
|
raise Exception("R2 state never got synced")
|
||||||
|
|||||||
Reference in New Issue
Block a user