用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实现计算文件夹下.h和.cpp文件的总行数
Apr 23 Python
Python变量和数据类型详解
Feb 15 Python
深入浅析python 中的匿名函数
May 21 Python
Pycharm 设置自定义背景颜色的图文教程
May 23 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
Python-接口开发入门解析
Aug 01 Python
Python for循环搭配else常见问题解决
Feb 11 Python
python中的装饰器该如何使用
Jun 18 Python
Selenium浏览器自动化如何上传文件
Apr 06 Python
python处理json数据文件
Apr 11 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实现mysql数据库连接操作及用户管理
2015/11/08 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
Python生成随机数的方法
2014/01/14 Python
使用python绘制人人网好友关系图示例
2014/04/01 Python
python字典多条件排序方法实例
2014/06/30 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
电子商务专业推荐信范文
2013/12/02 职场文书
会议开场欢迎词
2014/01/15 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
大专会计自我鉴定
2014/02/06 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技