linux strings 和nm命令工具

strings

一.简介:

显示文件中的可打印字符

二.用法

strings [option(s)] [file(s)]

选项说明:

-a – –all 扫描整个文件而不是只扫描目标文件初始化和装载段(缺省时,是只扫描初始化和装载段)

-f –print-file-name 在显示字符串前先显示文件名

-n –bytes=[number] 找到并且输出所有NUL终止符序列

- 设置显示的最少的字符数,默认是4个字符

-t –radix={o,d,x} 输出字符的位置,基于八进制,十进制或者十六进制

-o 类似–radix=o

-T –target= 指定二进制文件格式

-e –encoding={s,S,b,l,B,L} 选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit

@ 读取中选项

三.示例:

读取二进制文件里的ASCII文本以了解可执行文件的细节

strings /bin/ls 列出ls中所有的ASCII文本

cat /bin/ls strings 列出ls中所有的ASCII文本

strings /bin/ls | grep -i libc 查找ls中包含libc的字符串,不区分大小写

 

nm命令:

 

nm(1)命令可以报告库的符号列表,对于查看库的相关信息是一个不错的工具。具体使用查看帮助文档。示例:
$nm -D libavcodec-0.4.7.so | grep 263
结果如下:
00116438 T ff_clean_h263_qscales
00122d14 T ff_h263_decode_end
001223d4 T ff_h263_decode_frame
00121340 T ff_h263_decode_init
0011048c T ff_h263_decode_mb
0011652c T ff_h263_get_gob_height
0010e664 T ff_h263_resync
00041744 T ff_h263_round_chroma
0010810c T ff_h263_update_motion_val
00115f64 T flv_h263_decode_picture_header
0010da98 T h263_decode_init_vlc
001127c8 T h263_decode_picture_header
001ab040 D h263_decoder
00106c44 T h263_encode_gob_header
0010b2b0 T h263_encode_init
00109d40 T h263_encode_mb
00105f94 T h263_encode_picture_header
001a85a0 D h263_encoder
001162d0 T h263_get_picture_format
0010a7b4 T h263_pred_motion
00106df8 T h263_send_video_packet
001ab180 D h263i_decoder
001a85e0 D h263p_encoder
00115c68 T intel_h263_decode_picture_header
其中,T表示正常代码段,D表示初始化数据段


转载于:https://my.oschina.net/u/1413984/blog/199798

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值