metahook吧 关注:755贴子:11,752
  • 16回复贴,共1

使用 IDA Pro 查找函数特征码

只看楼主收藏回复

下载 IDA Pro 最好是6.x的版本,自带F5键反编译。
第一步:
在IDA里载入你的程序(EXE或DLL)

第二步:
寻找函数,如果你知道函数里引用了某个函数或者字符串,就可以尝试直接搜索函数名或者字符串,在 IDA View 窗口里按(Alt+T)开始搜索,(Ctrl+T)继续往下搜索。
搜索到一个字符串或者函数之后,你可以按下 X 键,查找出所有引用了这个函数或者字符串的地方,这可以帮助你快速找到需要的函数。
找到一个函数之后,你可以按 F5 键查看反编译结果(C语言风格),根据代码来确定是否是你要寻找的函数。

第三步:
切换到 Hex View 窗口,此时显示的位置有可能不是当前函数的数据,你需要记住这个函数的地址,就是(sub_xxxxxxx)这个,然后在IDA左边的 Function name 窗口里找到这个函数名(可以使用Alt+T快速搜索),双击一下,Hex View 窗口就会自动跳到这个函数头部数据。


第四步:
选中并且复制这一行,就是函数的特征码(实际上特征码就是函数头部的几个字节数据)。
实际上最好复制整个函数的数据,但是一般来说前16个字节就已经够准了。
修改一下格式就可以使用了。

特别提示:
如果特征码里出现有 0x10 - 0x20 之间的字节,最好替换成 0x2A 否则有可能出现特征码搜不到,这个是经验之谈,原理我也不懂。


IP属地:广东1楼2015-09-23 10:36回复
    IP属地:广东2楼2015-09-23 10:37
    回复


      来自手机贴吧3楼2015-09-23 13:17
      回复
        是可怕


        来自手机贴吧4楼2015-09-23 13:17
        收起回复
          我来补图


          5楼2015-09-23 14:29
          回复
            推荐下载一个IDA Signature的插件,根据选中的text段代码,可以自动过滤含有可变地址的字节。稍后补上下载地址


            来自iPhone客户端6楼2015-09-24 03:50
            收起回复
              补上地址,下载后放到IDA的plugins目录
              用法:
              切换到text段查看,选中要取出的操作码,
              按ALT+F9 选择 Create textstyle pattern,点OK
              下面会出现需要的signature,可变地址会自动用??代替,可用IDA的ALT+B进行搜索
              http://pan.baidu.com/s/1bn8ZWab


              7楼2015-09-24 12:53
              回复
                options -> generals里面有个opcode nums填12就可以直接在反编译的代码旁边显示机器码


                IP属地:江苏来自Android客户端8楼2015-09-24 15:03
                回复


                  IP属地:上海9楼2018-04-14 00:45
                  收起回复
                    老哥能不能发个软件谢谢了


                    IP属地:浙江来自Android客户端10楼2023-01-27 22:09
                    回复