From 0ed849fd9c36bf8f15bf74b8dc20ed846ba4adcd Mon Sep 17 00:00:00 2001 From: 66hh <49398720+66hh@users.noreply.github.com> Date: Sat, 30 Oct 2021 23:16:31 +0800 Subject: [PATCH] io.UnsupportedOperation: fileno MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用IDLE时fileno函数会引发异常导致整个模块无法使用 --- qiling/os/os.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/qiling/os/os.py b/qiling/os/os.py index ba4cdb8c4..b6f2614d8 100644 --- a/qiling/os/os.py +++ b/qiling/os/os.py @@ -48,9 +48,17 @@ def __init__(self, ql: Qiling, resolvers: Mapping[Any, Resolver] = {}): try: import ida_idaapi except ImportError: - self._stdin = ql_file('stdin', sys.stdin.fileno()) - self._stdout = ql_file('stdout', sys.stdout.fileno()) - self._stderr = ql_file('stderr', sys.stderr.fileno()) + + #io.UnsupportedOperation: fileno + + #self._stdin = ql_file('stdin', sys.stdin.fileno()) + #self._stdout = ql_file('stdout', sys.stdout.fileno()) + #self._stderr = ql_file('stderr', sys.stderr.fileno()) + + self._stdin = ql_file('stdin', 0) + self._stdout = ql_file('stdout', 1) + self._stderr = ql_file('stderr', 2) + else: self._stdin = getattr(sys.stdin, 'buffer', sys.stdin) self._stdout = getattr(sys.stdout, 'buffer', sys.stdout)