用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基于pillow判断图片完整性的方法
Sep 18 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
Python有序查找算法之二分法实例分析
Dec 11 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
Python字典的概念及常见应用实例详解
Oct 30 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
python 用递归实现通用爬虫解析器
Apr 16 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实现的在线人员函数库
2008/04/09 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
laravel请求参数校验方法
2019/10/10 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
jQuery chili图片远处放大插件
2009/11/30 Javascript
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
python从Oracle读取数据生成图表
2020/10/14 Python
python自动化发送邮件实例讲解
2021/01/04 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
会计专业自荐信范文
2013/12/02 职场文书
运动会领导邀请函
2014/02/05 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
七夕活动策划方案
2014/08/16 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
好人好事演讲稿
2014/09/01 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA