用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线程中对join方法的运用的教程
Apr 09 Python
Python使用getpass库读取密码的示例
Oct 10 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
django中静态文件配置static的方法
May 20 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
python一键去抖音视频水印工具
Sep 14 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
Python PIL图片添加字体的例子
Aug 22 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
Python 创建TCP服务器的方法
Jul 28 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获得当前的脚本网址
2007/12/10 PHP
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
PHP函数超时处理方法
2016/02/14 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
Python 获取ftp服务器文件时间的方法
2019/07/02 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
校运会广播稿100字
2014/01/27 职场文书
八年级语文教学反思
2014/02/11 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
小学生交通安全寄语
2015/02/27 职场文书