用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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
python使用rabbitmq实现网络爬虫示例
Feb 20 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
尝试用最短的Python代码来实现服务器和代理服务器
Jun 23 Python
全面了解python中的类,对象,方法,属性
Sep 11 Python
python随机取list中的元素方法
Apr 08 Python
python实现小球弹跳效果
May 10 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
如何基于Python + requests实现发送HTTP请求
Jan 13 Python
Pycharm中Python环境配置常见问题解析
Jan 16 Python
Python PIL库图片灰化处理
Apr 07 Python
pandas分批读取大数据集教程
Jun 06 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把数字转成人民币大写的函数分享
2014/06/30 PHP
php计算一个文件大小的方法
2015/03/30 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
使用jQuery避免鼠标双击的解决方案
2013/08/21 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
Cpy和Python的效率对比
2015/03/20 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
python 统计代码行数简单实例
2017/05/04 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
Python线程threading模块用法详解
2020/02/26 Python
Python编写万花尺图案实例
2021/01/03 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
新大陆软件面试题
2016/11/24 面试题
2014年个人总结范文
2015/03/09 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
加强党性修养心得体会
2016/01/21 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
MySQL派生表联表查询实战过程
2022/03/20 MySQL