0

我正在尝试在 Python 中使用 r2pipe 摄取二进制文件。通常要做到这一点,你会使用r2pipe.open('file_path'). 但是我已经将二进制文件加载到内存中(用于其他目的)。有没有办法 r2pipe 可以从内存中摄取二进制文件,而不是从文件路径中读取它?虽然我可以从文件路径中执行此操作,但我已经在内存中有 bin,因此重新加载它似乎是多余的。

下面是我拥有的代码的模型。

import r2pipe


def get_bin(path: str) -> bytes:
    with open(path, 'rb') as f:
        data = f.read()
    return data

def ingest_bin(binary: bytes) -> None:
    default_options = ["-e", "bin.cache=true"]
    r2 = r2pipe.open(binary, default_options) # This wants a file address not a binary. 
    r2.cmd('aaa')

def do_stuff_with_bin(binary: bytes) -> None:
    pass # irrelevant

if __name__ == '__main__':
    binary = get_bin('/bin/ls')
    do_stuff_with_bin(binary)
    ingest_bin(binary)
4

0 回答 0