预备知识
1.关于IDA
IDA Pro(简称IDA)是DataRescue公司(www.datarescue.com)出品的一款交互式反汇编工具,它功能强大、操作复杂,要完全掌握它,需要很多知识。IDA最主要的特性是交互和多处理器。操作者可以通过对IDA的交互来指导IDA更好地反汇编,IDA并不自动解决程序中的问题,但它会按用户的指令找到可疑之处,用户的工作是通知IDA怎样去做。比如人工指定编译器类型,对变量名、结构定义、数组等定义等。这样的交互能力在反汇编大型软件时显得尤为重要。
2.IDAPython
IDAPython创建于2004年,这是GergelyErdelyi和Ero Carrera的共同努力。他们的目标是结合强大的python与自动化分析的IDA的类C脚本语言IDC。IDAPython由三个独立模块组成,第一个是idc,它是封装IDA的IDC函数的兼容性模块;第二个模块是idautils,这是IDA里的一个高级实用功能模块;第三个模块是idaapi,它允许访问更加底层的数据。
实验目的
通过该实验了解IDAPython交互环境创建,IDAPython基础语法等。
实验环境
win7,IP地址:随机分配
辅助工具:IDAPro
测试代码请在实验机内下载使用:http://tools.hetianlab.com/tools/idapython/1.zip
实验步骤一
给出的文件名为rabbithole,在kali上用file命令查看可以看到是64位的可执行文件:
我们直接在windows上使用IDApro载入,以此文件为样例,学习IDAPython的用法。
IDAPython直接在IDA里调用的话有两种办法:
第一种是在IDA上方的菜单File→script command: