strings命令
strings命令可以从一个文件(不仅仅是二进制文件,文本文件也可以的)中提取出文本内容(仅限于ASCII码内容),不仅仅适用于ELF格式的文件,
比如 一个简单的celery配置的Python文件:
1 2 3 4 5 6 7 8 9 10 11
| BROKER_URL = 'amqp://guest:guest@localhost:5672//' CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/13' CELERY_TIMEZONE='Asia/Shanghai' CELERY_IMPORTS = ( 'configspider.download', 'configspider.parse' )
|
使用more命令查看它的pyc文件(二进制文件):
1 2 3
| ^C<F3> <99><E3>`Xc^@^@^@^@^@^@^@^@^B^@^@^@@^@^@^@s^\^@^@^@d^@^@Z^@^@d^A^@Z^A^@d^B^@Z^B^@d^F^@Z^C^@d^E^@S(^G^@^@^@s ^@^@^@BROKER_URLt^U^@^@^@CELERY_RESULT_BACKENDt^O^@^@^@CELERY_TIMEZONEt^N^@^@^@CELERY_IMPORTS(^@^@^@^@(^@^@^@^@(^@^@^@^@sA^@^@^@/Users/leeyang/tianzhao_spider/time_spider/configspider/config.py^@^@^@<module>^D^@^@^@^@^@^@^F^A^F^A^F^C^@^A
|
可以看出都是乱码,可以使用strings命令得到一些信息(可以不完全一致):
strings ./config.pyc
1 2 3 4 5 6 7 8 9 10 11 12 13
| amqp://guest:guest@localhost:5672//s redis://127.0.0.1:6379/13s Asia/Shanghais configspider.downloads configspider.parseN( configspider.downloads configspider.parse( BROKER_URLt CELERY_RESULT_BACKENDt CELERY_TIMEZONEt CELERY_IMPORTS( /Users/leeyang/tianzhao_spider/time_spider/configspider/config.pyt <module>
|