用python编写第一个IDA插件的实例


Posted in Python onMay 29, 2018

IDA插件是经过编译的、功能更强大的IDC脚本,与仅仅使用脚本相比,插件能够执行更加复杂的任务。与编写IDC脚本相比,python显得更为轻巧和强大,IDAPython作为IDA的一个插件,具有IDA SDK的大部分功能,能够帮助我们编写实现IDC脚本语言所有功能的python脚本。

本文将以一个简单的例子开始展示如何使用python编写并安装一个IDA插件。

1、编写插件文件msg.py

from idaapi import *
class myIdaPlugin(plugin_t):
 flags=0
 wanted_name="my ida plugin"
 wanted_hotkey="F1"
 comment="my ida plugin"
 help="Something helpful"
 def init(self):
  msg("Ida plugin init called.\n")
  return PLUGIN_OK
 def term(self):
  msg("Ida plugin term called.\n")
 def run(self,arg):
  warning("Ida plugin run(%d) called.\n"%arg)
def PLUGIN_ENTRY():
 return myIdaPlugin()

2、将msg.py文件置于IDADIR/plugins目录,修改IDADIR/plugins/plugins.cfg文件,将plug_name 值设置为IDA菜单栏显示的菜单,plugin_file值设为msg.py文件全称,记得带上扩展名,否则是系统默认的.plw或.p64,保存后重启IDA即可。

以上这篇用python编写第一个IDA插件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python如何查看系统网络流量的信息
Sep 12 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
Python基于csv模块实现读取与写入csv数据的方法
Jan 18 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
python实现彩色图转换成灰度图
Jan 15 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
Python求平面内点到直线距离的实现
Jan 19 Python
python实现mean-shift聚类算法
Jun 10 Python
python和go语言的区别是什么
Jul 20 Python
python动态规划算法实例详解
Nov 22 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
python中if和elif的区别介绍
Nov 07 Python
基于python进行桶排序与基数排序的总结
May 29 #Python
Vue的el-scrollbar实现自定义滚动
May 29 #Python
基于Django与ajax之间的json传输方法
May 29 #Python
django ajax json的实例代码
May 29 #Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 #Python
PyTorch学习笔记之回归实战
May 28 #Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 #Python
You might like
php之Smarty模板使用方法示例详解
2014/07/08 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
微信JS接口大全
2016/08/25 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
react-router实现按需加载
2017/05/09 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
使用Python实现牛顿法求极值
2020/02/10 Python
对python中return与yield的区别详解
2020/03/12 Python
儿科护士自我鉴定
2013/10/14 职场文书
幼儿评语大全
2014/04/30 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
大客户经理岗位职责
2015/04/09 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
离婚案件被告代理词
2015/05/23 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android