用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中的多进程
Nov 06 Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
PyQt5实现画布小程序
May 30 Python
基于python代码批量处理图片resize
Jun 04 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
python 下载文件的多种方法汇总
Nov 17 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
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
重新认识php array_merge函数
2014/08/31 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
javascript 节点遍历函数
2010/03/28 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
移动端js图片查看器
2016/11/17 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
vue-axios使用详解
2017/05/10 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
Python3里的super()和__class__使用介绍
2015/04/23 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
python之生产者消费者模型实现详解
2019/07/27 Python
简单了解python中的与或非运算
2019/09/18 Python
python logging日志模块原理及操作解析
2019/10/12 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
商务日语毕业生自荐信范文
2013/11/14 职场文书
单位人事专员介绍信
2014/01/11 职场文书
小鞋子观后感
2015/06/05 职场文书
学习心得体会
2019/06/20 职场文书
python turtle绘图命令及案例
2021/11/23 Python