IDA Pro栈字符串识别插件

2025-11-03 17:28:45

1、FireEye公司发布了一些逆向插件,即stack_strings插件,该插件是栈字符串识别插件,可以自动识别栈上局部变量为字符串的插件,字符串形式如下,并自动的加上注释,如下所示:

IDA Pro栈字符串识别插件

2、安装

由于该插件使用了vivisect模块,所以在使用该插件之前需要先让Python安装好vivisect模块,由于vivisect项目不是用兼容setuptools的setup.py文件分发的,所以需要自己下载vivisect的源代码目录,并将其放入你的Python安装路径的Lib目录下,其中vivisect源代码可以到github上下载,下载完成之后,如下所示:

IDA Pro栈字符串识别插件

3、将上述的文件夹拷贝到Python安装目录的Lib目录下,这样就算安装好vivisect模块了。

下面开始安装stack strings,打开flare-ida.zip压缩包,将里面的stackstring.py拷贝到%IDADIR%\python目录下;然后再将压缩包里的stackstrings_plugin.py拷贝到%IDADIR%\plugins目录下,这样就完成了stack strings的安装。

4、使用

在安装好了上述的vivisect模块和stack strings之后,下面开始使用,使用IDA Pro打开一个二进制文件,看到如下调用就表示加载成功了,如下所示:

IDA Pro栈字符串识别插件

5、然后点击IDA->Edit->Plugins->StackStrings,使用该插件,如下所示:

IDA Pro栈字符串识别插件

6、或者直接使用Alt+0快捷键,这样IDA就会对二进制进行处理,最终弹出如下框,如下所示:

IDA Pro栈字符串识别插件

7、该框的意思就是是否将识别的字符串直接显示到主界面上,点击Yes表示显示,点击No表示不显示,但是在最下面的Output Window会显示识别到的字符串,如下所示:

IDA Pro栈字符串识别插件

8、下面是一个简单的例子代码,如下所示:

#include "stdafx.h"

#include <Windows.h> 

int _tmain(int argc, _TCHAR* argv[])

{

               char sztext[14] = {0};

                sztext[0] = 'H'; 

              sztext[1] = 'e';

               sztext[2] = 'l';

               sztext[3] = 'l';

               sztext[4] = 'o';

               sztext[5] = ' '; 

              sztext[6] = 'w';

               sztext[7] = 'o';

               sztext[8] = 'r';

               sztext[9] = 'l';

               sztext[10] = 'd'; 

              sztext[11] = '!'; 

              sztext[12] = '!';

               sztext[13] = '!';

                printf("%s\n",sztext);

                return 0;

}

然后使用IDA打开,使用Alt+0快捷键来使用stack strings插件,就能够识别出来,如下所示:

IDA Pro栈字符串识别插件

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:25
  • 阅读量:148
  • 阅读量:69
  • 阅读量:38
  • 阅读量:144
  • 猜你喜欢