顶石分解发动机

tacocapstone-prebuilt的Python项目详细描述


一。要在*nix上安装纯python绑定,请运行以下命令:

$sudo make install


要安装python3绑定包,请运行以下命令:
(注意:这需要在计算机中安装python3)

$sudo make install3

2。要获得更好的python性能,请使用以下命令安装基于cython的绑定:

$sudo make install_cython

请注意,这需要cython首先安装在计算机中。
要安装cython,请参阅下面的第3节。

3。要安装cython,您必须确保头文件
和python的静态库已预先安装。


例如,在ubuntu上,请执行以下操作:


$sudo apt get install python dev

,具体取决于您是否已经安装了pip或easy\install
,安装cython时可以使用:

$sudo pip install cython
或:
$sudo easy_install cython

注意:根据您的发行版,您也可以使用存储库安装所需的cython版本。

例如,在ubuntu上,请执行:

$sudo apt get install cython

我们基于cython的绑定要求cython版本0.19或更新,
,但有时发行版只提供旧版本。在进入以上第2节之前,请确保
验证当前安装的版本。


例如,在ubuntu上,您可以使用:


$apt cache policy cython


验证当前cython版本,该版本至少应打印0.19



此目录包含一些测试代码,说明如何使用capstone api。

-test.py
这段代码显示了最简单的API形式,我们只想从反汇编指令中获取基本的信息,例如地址、助记符和操作数字符串。

-test戥lite.py
与test.py类似,但这段代码显示了如何使用disasm戥lite(),一种更轻的方法来反汇编二进制文件。与返回csinsn对象的disasm()api(test.py使用)不同,此api只返回(address、size、mnemonic、op_str)的元组。

使用此api的主要原因是性能更好:disasm_lite()至少比disasm()快20%。内存使用也更少。因此,如果您只需要反汇编程序中的基本信息,请使用disasm_lite()而不是disasm()。

-test_detail.py:
此代码显示如何在反汇编指令(如隐式寄存器读/写)中访问与体系结构无关的信息,或此指令所属的指令组。


-测试架构。py
这些代码显示如何访问每个架构的特定于架构的信息。



2。在windows上安装python绑定:

推荐方法:


在32/64位windows上使用python模块安装程序:


http://www.capstone-engine.org/download.html




手动方法:

或者如果您已经安装了其他python(例如anaconda/virtualenv),请在命令提示符下运行以下命令:


c:\>;c:\ location_to_python\python.exe setup.py install

next,从同一个Capstone下载页上的“Core Engine for Windows”包中复制capstone.dll,并将其粘贴到路径:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从通知中获取图像?   java按住按钮将循环一个动作,直到它被释放   JavaJavassist:如何将动态生成的类添加到特定的包中?   java我需要获取一个字符串并输出字符串中出现最多的单词   java合并排序堆栈溢出错误   java如何使用spring boot配置hibernate   Android中带选择器的Java TCP服务器NIO   java对于长度急剧变化的输入,什么是最佳的StringBuffer初始容量?   java SpringBoot:REST endpint中@RequestParam参数的自定义验证   JavaJPaQuery。fetchResults()已弃用,应如何替换它?   JavaJNA结构创建带来麻烦   java创建只包含响应中某些元素的POJO   java巨大的Perm Gen与应用程序大小相比,是否正常?   JavalibgdxMoveToAction。将setPosition()设置为负坐标,以将演员移出舞台