首页 > 解决方案 > 从二进制文件中解析特定字符串

问题描述

我需要处理文件夹中的所有二进制文件(PE32)。我正在寻找从每个可执行文件中提取特定字符串。这些字符串有时以小端形式出现,在某些文件中它们是大端形式。我在每个二进制文件中查找的字符串是一个地址:example.site.com/home.asp home.asp 始终存在(无论是小端还是大端)

希望用位串来做到这一点。我在想我需要使用 s.find(),并将 home.asp 搜索到文件中,然后提取前面的 X 个字节,但地址长度总是在变化。

也许我需要首先列出二进制文件中的所有字符串(小E和大E),然后grep输出home.asp?

通过 bash: '''strings -e l''' '''strings -e b''' 从二进制文件中获取字符串,然后我可以 grep for home.asp,但我需要在 python 中执行此操作,并且能够递归处理所有文件。

从所有文件中获取所有地址。

标签: pythonlinuxpython-3.xbinarybitstring

解决方案


推荐阅读