zydis库的python绑定
py-dis的Python项目详细描述
Pydis
pydis是Zydis disassembler library的python绑定。
importpydisinstructions=b'\x51\x8d\x45\xff\x50\xff\x75\x0c\xff\x75\x08\xff\x15\xa0\xa5\x48\x76\x85\xc0\x0f\x88\xfc\xda\x02\x00'instruction_pointer=0x007FFFFFFF400000forinstructioninpydis.decode(instructions,instruction_pointer):print(instruction)
输出:
push rcx lea eax, [rbp-0x01] push rax push [rbp+0x0C] push [rbp+0x08] call [0x008000007588A5B1] test eax, eax js 0x007FFFFFFF42DB15
该模块使用与zydis相同的字段名,但使用snake_case而不是camelcase除外。
要求
pydis需要python版本>;=3.6。该软件包已经在运行cpython的macos、linux和windows上进行了测试。自从
pydis使用ctypes
与zydis接口,它可能在其他解释器上工作,也可能不在其他解释器上工作。
安装
pip install py-dis
或者您可以从源代码构建,如下所述。
建筑
macos和linux机器需要cmake和c编译器才能构建zydis。Windows计算机将需要可视化 工作室。pydis不使用默认python安装提供的python模块之外的任何python模块。
安装的工具运行时:python setup.py build install
将生成zydis并安装包。
用法
目前正在编制文件。现在示例脚本pydisinfo是 最好的地方寻找例如用法。