产品介绍
交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA。是最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA Pro是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或Linux WinCE MacOS平台主机来分析程序, 被公认为最好的花钱可以买到的逆向工程利器。IDA Pro已经成为事实上的分析敌意代码的标准并让其自身迅速成为攻击研究领域的重要工具。它支持数十种CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。
反盗版策略
IDA是Hex-Rays公司的旗舰产品。因此,他们对于未经授权就使用IDA的做法深恶痛绝。过去,该公司发现,盗版IDA的发布与公司销售量的下滑有着直接的因果关系。为此,IDA的前发行公司DataRrscus甚至将盗版者的姓名张贴在他的“耻辱堂”(Hall of Shame)中。为打击盗版,IDA采用了几项反盗版技术,并实施了许可限制。
用户需要了解的第一种技术是:每一份IDA都带有水印,以将它与购买者一对一地对应起来。如果一份IDA出现在盗版软件站中,Hex-Rays就能够通过水印追踪到购买者,并将其列入销售黑名单。我们常常可以在Hex-Rays的IDA支持论坛上发现有关IDA 的“泄露”版本的讨论。
为实施许可策略,IDA采用的另一种技术,是扫描在局域网中运行的其他IDA程序。例如,Windows版本的IDA启动后,它会在端口23945上广播一个UDP包,并等待响应,看相同子网中是否有其他使用相同许可证密钥的IDA实例在运行。然后,IDA会将得到的响应数量与使用该许可证的用户数量进行比较,如果发现网络中存在过多的IDA实例,IDA会拒绝启动,但是要注意,用户可以在一台计算机上使用相同的许可证运行多个IDA实例。
IDA实施许可策略的最后一种方法,是使用密钥文件将每一名购买者与产品联系起来。在启动时,IDA会搜索一个有效的ida.key文件。如果无法定位有效地密钥文件,IDA就会立即关闭。密钥文件还用于用户升级IDA的资格。基本上,ida.key文件就像是用户的购买收据,要想在将来获得升级资格,用户必须保管好这个文件。
许可证
IDA有两种许可证。一种是已命名许可证,与某一特定的用户有关,可安装到该用户使用的任意多个计算机上。另一种是计算机许可证,与某一台特定的计算机有关,任何使用该计算机的用户都可以使用这种许可证,但一次只能允许一名用户使用该许可证。注意,虽然已命名许可证可以让你在任意多台计算机上安装IDA软件,但是只有你才能运行这些IDA软件。而且,对于单个许可证,在某一给定的时刻,IDA只能在其中一台计算机上运行。
说明 与许多其他专有软件的许可证不同,IDA的许可证特别赋予了用户对IDA进行逆向工程的权利。
升级IDA
发布新版本的IDA后,Hex-RAYS通常会在IDA网站上公布升级链接和升级过程中的要求,该要求一般包括升级所适用的产品购买日期。一般情况下,在升级过程中,用户必须向Hex-Rays提交ida.key文件。然后,Hex-Rays会验证用户的密钥,并提供如何获得升级版本的详细信息。如果你发现你的IDA版本过低,没有升级资格,请记得利用Hex-Rays向过期的用户提供的折扣升级价格。
如果不小心丢失密钥文件,未授权用户可能会假冒你提出升级请求,导致你无法升级IDA.
最后,强烈建议在升级IDA时备份现有的IDA版本,或将升级版本安装到一个完全不同的目录,以避免丢失你修改的任何配置文件。为了恢复你之前所做的任何修改,你可能需要编辑升级版本中的相应文件。同样,你还需要重新编译或以替他形式获得新版的IDA 定制插件。
用户界面
IDA从MS-DOS继承的特性仍然十分明显。无论使用哪一种界面(文本界面或GUI),IDA都大量用到热键。虽然这并非坏事,但是,如果你想当然地认为自己正使用文本输入模式,并且发现几乎每一次点击都会导致相当意外的后果,那就说明IDA执行了某种热键操作。例如,在使用GUI时,如果你定位光标以进行修改,并且希望你输入的内容全部出现在光标位置,这是就可能会出现令人意外的情况(IDA可不像字处理程序)。
从数据输入的角度看,IDA通过对话框接受所有输入。因此,如果你希望在IDA中输入任何数据,则必须调出输入数据的对话框。
最后,需要记住的是:IDA不提供撤销功能,因为你根本找不到。同样,你也无法找到命令历史记录列表,以查明你刚刚执行的操作。
如果你是一名非Windows用户,并且希望使用IDA的GUI界面,基本上,你有两种选择。Linux用户可以考虑使用WINE。据称,IDA可以在WINE下成功运行。就第二个选择,使用主机操作系统只的虚拟软件,在Windows虚拟机中运行IDA。无论采用哪一种选项,都需要运行IDA的Windows版本。因此,如果选择使用IDA的内置调试器进行本地调试(下对于远程调试),你只能调试Windows可执行文件。