IDA Python 基础


0x1. 安装以及本地库加载:

现在用的是火星信息安全研究院 http://www.h4ck.org.cn的版本,这个版本里面已经集成了IDAPython,pyside,pyqt等,还有丰富的插件。免去了很多安装上的麻烦。

安装好的idapython会出现idapython的输入命令框。


ida的下载可以参考或者问度娘:

http://www.52pojie.cn/thread-319763-1-1.html


0x2. idapython中的库介绍

idapython中主要提供了三个模块,
idaapi,及idaapi的python实现
idautils,提供了相关的扩展功能接口
idc,提供了idc脚本的接口


0x3. 加载本地库:

需要注意的是,如何ida中的python与系统本身的python是不同的,通过使用查找模块路径可以发现两个python的不同。

import os
import inspect
inspect.getfile(os)
或者:

import a_module
print a_module.__file__


输入如上可以发现,系统返回如下:



而在ida中则



由于python在加载模块是根据sys.path来判断的,而由于两个python的sys.path并不一样。





所以为了使用系统的库,需要将包含该模块的路径,加入到idapython的sys.path中去。比如,如果idapython需要使用系统中安装的matplotlib。

step1. 查看系统中matplotlib安装的位置:


step2. 使用sys.path.append将其加入到idapython的路径中去


0x4 demo

  

idapython 的project中有很多的示例,可以供初步的参考。https://github.com/idapython/src/  

相关文章
相关标签/搜索