用python编写第一个IDA插件的实例

yipeiwu_com6年前Python基础

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字符串常用方法

1、 isalnum() :判断字符串所有的字符都是字母或者数字。返回true和false In [1]: str1='jiangwei520' In [2]: str2='jian...

Django使用Mysql数据库已经存在的数据表方法

使用scrapy爬取了网上的一些数据,存储在了mysql数据库中,想使用Django将数据展示出来,在网上看到都是使用Django的models和makemigration,migrat...

python编程培训 python培训靠谱吗

python编程培训 python培训靠谱吗

我们在论坛和贴吧上看到无论是老的程序员和新手都想更快的入门和精通python编程,但是市面上众多的书籍让大家无从下手,很多书籍和视频都声称能够快速学习,时间有限,大家哪有精力一个个尝试呢...

在Django的模型中添加自定义方法的示例

为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该只对特殊模型实例起作用。 这是一项在模型的一个...

python 二分查找和快速排序实例详解

思想简单,细节颇多;本以为很简单的两个小程序,写起来发现bug频出,留此纪念。 #usr/bin/env python def binary_search(lst,t): low...