linux下常用的小工具

1、file

分析文件的结构、位数

关键信息是ELF 32位可执行文件,还是动态链接

2、ldd

ldd - print shared object dependencies

列举出任何可执行文件所需的动态库

3、xxd

xxd - make a hexdump or do the reverse.

4、objdump

 objdump - display information from object files.

显示与目标文件相关的信息

  • objdump -d 将代码段反汇编
  • objdump -S 将代码段反汇编的同时,并且将反汇编代码和源代码交替显示,编译时需要给出-g,即需要调试信息。

5、checksec

checksec -- Check for various security options of binary

用于检查程序,如架构、开启的保护等
可直接安装也可以通过安装相关软件附带安装

RELRO: RELocation Read-Only, 重定向只读,可以防止GOT表被修改,这里没有开启这个保护,所以我们可以通过修改GOT表,来替换函数原本的功能。
Stack: 栈溢出检查,用Canary金丝雀值是否变化来检测,Canary found表示开启。
NX: No Execute,栈不可执行,windows上的DEP。
PIE: position-independent executables, 位置无关的可执行文件,也就是常说的ASLR(Address space layout randomization) 地址随机化, 程序每次启动基址都随机,所以一旦开启这个,就要想办法得到程序基址。

6、strings

strings - print the strings of printable characters in files.

列出程序中所使用的字符串

7、elfsymbol

查看调用函数,查看函数的plt地址

8、strace

strace - trace system calls and signals

posted on 2018-09-25 19:35  life0sfc  阅读(152)  评论(0)    收藏  举报

导航