strings命令的使用方法

嵌入式技术

1337人已加入

描述

1.前言

文件中通常有两种类型的字符:可打印字符不可打印字符。字母、数字、字符、标点符号、空格等称为可打印字符;除可打印字符外,所有字符都称为不可打印字符。

strings是linux系统中的一个命令,该命令可以从二进制文件(比如.so文件)中提取可打印字符。它可以帮助用户快速查找和分析二进制文件中的文本信息。下面简单介绍strings命令的使用方法、用途、以及一些常见的应用场景。

2.strings命令的使用方法

2.1 在linux的terminal中输入:man strings

Linux系统

2.2 常用参数:

-a 扫描整个文件,而不是只扫描目标文件初始化和装载段
-f 在显示字符串前,先显示文件名
-t 输出字符的位置,基于八进制,十进制或十六进制
-o  类似--radix=o

3. strings命令主要用于以下几个方面:

3.1. 提取可打印的字符串

strings命令可以从二进制文件中提取出所有可打印的字符串,包括文本、注释、函数名等。这对于分析二进制文件非常有用,特别是在调试和逆向工程方面。

3.2. 查找特定字符串

通过使用strings命令的选项,可以根据指定的字符串来搜索二进制文件中的相关内容。这对于查找特定的函数名、变量名或者其他关键字非常有帮助。

3.3. 分析二进制文件

通过查看二进制文件中的字符串,可以获取一些关于文件结构、文件格式以及可能存在的漏洞或安全问题的信息。

常用来在二进制文件中查找字符串,与grep配合使用。strings命令输出的字符串长度为4个或4个以上的,长度小于4的字符串将不予打印,我们可以通过-n参数调整,strings -n 2 filename

strings命令是在对象文件或者二进制文件中查找可打印的字符串,有很多的用途,例如一个用法就是在编译的.so文件中定义字符串常量作为动态库的版本号,然后就可以使用strings+grep 组合命令查看当前编译的so的版本号了。输入strings -h也查看strings命令的用法。

4 常见应用场景:

4.1. 软件逆向工程

在逆向工程中,strings命令可以帮助分析二进制文件中的字符串,从而获取关键信息,如函数名、变量名、错误提示等。这对于理解程序的逻辑和功能非常有帮助。

4.2. 恶意软件分析

在分析恶意软件时,strings命令可以帮助发现可能存在的恶意代码或者隐藏的命令。通过查看二进制文件中的字符串,可以发现一些可疑的关键字或者域名。

4.3. 文件格式分析

通过查看二进制文件中的字符串,可以了解文件的结构和格式。这对于分析未知文件类型或者修复损坏的文件非常有帮助。

5. 几个有用的实例

5.1 查看glibc支持(向下兼容)的版本

Linux系统

5.2 列出pwd中所有的ASCII文本:

Linux系统

5.3 查看svt_vip生成的libvcap.so文件支持的GCC版本

Linux系统

5.3 查看denali_vip生成的libcdnvipcuvm.so文件支持的GCC版本

Linux系统

strings命令是Linux中一个强大的工具,用于从二进制文件中提取可打印的字符串。它可以帮助用户快速查找和分析二进制文件中的文本信息。通过使用strings命令,用户可以更好地理解程序的逻辑、分析恶意软件以及修复损坏的文件。希望本文对你理解和使用strings命令有所帮助。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分