用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使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
仅利用30行Python代码来展示X算法
Apr 01 Python
python动态加载包的方法小结
Apr 18 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
实例讲解Python3中abs()函数
Feb 19 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
Python hashlib常见摘要算法详解
Jan 13 Python
python实现简单井字棋小游戏
Mar 05 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
Django Xadmin多对多字段过滤实例
Apr 07 Python
Python实现异步IO的示例
Nov 05 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
解析php中curl_multi的应用
2013/07/17 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
jquery中实现标签切换效果的代码
2011/03/01 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
跟老齐学Python之复习if语句
2014/10/02 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
深入浅析python with语句简介
2018/04/11 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
英国网上花店:Bunches
2016/11/29 全球购物
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
临床医师专业个人自我评价
2014/01/08 职场文书
文明礼仪事迹材料
2014/01/09 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
信用卡工作证明模板
2014/09/14 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
python数字图像处理:图像的绘制
2022/06/28 Python