64位arch linux keypatch 安装

来源:互联网 发布:淘宝托管多少钱一个月 编辑:程序博客网 时间:2024/06/07 04:44

ida

Keypatch是ida的一个插件,安装需要ida,linux版本的ida在吾爱上有一个6.4版本的,当然最好是正版。

IDA的安装与这个post关系不大,这里我就不再详细说了。

keystone

keypatch依赖于keystone。下面的内容包括本机的keystone和ida的keystone,由于64位linux下ida用的python
不是本机的python,所以方法不一样。如果只用keypatch,第一个内容可以跳过。

安装本机keystone(安装keypatch可不用这一步)

首先需要保证本机有cmake,

sudo pacman -S cmake

然后pip

sudo pip install keystone-engine

没有什么情况的话,可以在python里边直接import看看

import keystone

没报异常就可以了。

我这里报了一个load dynamic library的错误,最后我是重新编译了一次源码解决的,方法是:

首先下载源码包,然后:

mkdir buildcd build../make-shared.shsudo make install

安装的位置位于/usr/local/lib,所以需要增加ld的config。
在/etc/ld.so.conf中增加一行

/usr/local/lib

之后进行:

sudo ldconfig

就可以使用kstool看一下是否安装完成了。

安装ida的keystone(keypatch必备)

sudo pacman -S cmake lib32-libstdc++5

之后下载keystone源码包,解压并cd到源码包位置,之后进行

mkdir buildcd build../make-shared.sh lib32 lib_onlycd ../sudo cp -r bindings/python/keystone /opt/IDA/python/sudo cp -r /usr/lib/python2.7/distutils opt/IDA/python/sudo cp build/llvm/lib/libkeystone.so* /opt/IDA/python/keystone/

之后可以打开IDA测试。

如果打开IDA出现load dynamic library错误,看一下libkeystone.so与libkeystone.so.0是否已经放入
/opt/IDA/python/keystone/目录了,官方的doc这个地方有点错误,他cp的时候是cp的libkeystone.so.*,
这样的话就会只有一个文件被放入,会出现这个错误,应该使用libkeystone.so*,保证两个文件都被放入
那个目录。

安装Keypatch

下载keypatch,将keypatch.py cp进入/opt/IDA/plugins/即可