2021-10-08 网安实验-Reverse-IDA基础教程四

举报
愚公搬代码 发表于 2021/10/19 00:44:57 2021/10/19
【摘要】 通过前面的学习我们已经能够通过遍历所有已知的函数及其指令来达到一种基本的搜索效果,这当然很有用,不过有时候我们需要搜索一些特定的字节,比如0x48 0xff 0xc2,这3个字节代表的汇编代码为inc r...

通过前面的学习我们已经能够通过遍历所有已知的函数及其指令来达到一种基本的搜索效果,这当然很有用,不过有时候我们需要搜索一些特定的字节,比如0x48 0xff 0xc2,这3个字节代表的汇编代码为inc rdx
在这里插入图片描述
我们可以选中该指令后右键-》synchronized with->hex view 1,可以看到对应的字节
在这里插入图片描述
我们可以使用idc.FindBinary(ea,flag,searcstr,radix=16)来进行字节或者二进制的搜索,flag代表搜索方向或条件,常用的包括:

SEARCH_UP,SEARCH_DOWN 用来指明搜索方向

SEARCH_NEXT 用来获取下一个已经找到的对象

SEARCH_CASE用来指明是否区分大小写

SEARCH_NOSHOW 用来指明是否显示搜索的进度

SEARCH_UNICODE用于将所有搜索字符串视为Unicode

Searchstr是我们要查找的形态,radix参数在写处理器模块时使用,一般用不到,留空即可

接下来看看如何搜索前面提到的那几个字节,其实在这里我用两个字节就可以精确查找了

import idautils

pattern =‘48 ff’

addr = MinEA()

for x in range(0,5):

addr = idc.FindBinary(addr,SE

文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。

原文链接:codeboy.blog.csdn.net/article/details/120652669

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。