转自:http://blog.csdn.net/gulu_gulu_jp/article/details/50528571
Immunity Debugger
一、介绍
Immunity Debugger软件专门用于加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析。它具备一个完整的图形用户界面,同时还配备了迄今为止最为强的python安全工具库。它巧妙的将动态调试功能与一个强大的静态分析引擎融合于一体,它还附带了一套高度可定制的纯python图形算法,可用于帮助我们绘制出直观的函数体控制流以及函数中的各个基本块。
二、安装
- 下载软件:进入官网, ImmunityDebugger
- 点击 Download Now–>Softpedia Secure Download(US),静静等待下载就行
- 该软件是一个exe文件,下载完毕后安装就行。本人用的是 ImmunityDebugger_1_85_setup.exe,该版本需要本机中配置有 Python2.7.1,若没有,该软件会给我们自动安装
三、软件介绍
主界面
PyCommand 命令
介绍
- 是我们在 Immunity Debugger 中执行 Python 代码扩展的主要途径
- 是为帮助用户在调试器内执行各种任务(如:设立钩子函数、静态分析等)而特意编写的 Python 脚本
- 任何一个 PyCommand 命令都必须遵循一定结构规范:①必须定义一个 main 函数,并接受一个 Python 列表作为参数 ②必须返回一个字符串值:将被显示在调试器界面的状态栏上
[示例代码]
from immlib import *
def main(args):
# 实例化一个 immlib.Debugger 对象
imm = Debugger()
return "[*] PyCommand Executed!"
执行命令:执行前必须保证与之对应的脚本已经存放于安装目录的 PyCommands 目录下。命令栏中输入命令 !<脚本名称> 回车即可。一定要注意,不要加上那两个尖括号,加上就错了,我最首先也被误导了
测试:执行 PyCommand
按要求编写一个 py 脚本,如下:
[demo.py]
#!/usr/bin/python
# coding:utf-8
def main(args):
# 实例化一个 immlib.Debugger 对象
return "[*] PyCommand Executed!"
[放入到 PyCommands 目录下]
[在命令行输入命令]
[回车,执行命令]
PyHooks
Immunity Debugger 附带 13 种不同风格的钩子。就不一一说了,可以查看《Python 灰帽子》一书的第五章 5.2.2