ELF文件-逆向工具

ELF文件-逆向工具


转载一篇逆向工具的文章: 原文

1、ELF文件内容解析
readelf: 可解析ELF文件的所有内容;
strings: 查看ELF文件中的字符串;
file : 查看ELF文件的信息;
nm : 查看ELF文件中的符号信息;
ldd : 查看ELF文件所依赖的库文件;

2、objdump
用于对ELF文件进行反汇编;
objdump -d ;反汇编部分可执行的二进制代码;
objdump -D ;反汇编全部的可执行的二进制代码;
objdump -S ;尽量把可执行的二进制代码反汇编成源码;

3、hexdump
以十六进制格式查看ELF格式的二进制可执行文件的内容;
hexdump -C elf_file_name

4、od
以指定的进制格式查看ELF格式的二进制可执行文件的内容;默认是八进制;
od -t x4 ;-t指定格式化的字节单元单位;
;x4-每4个字节为一个单元格式化成十六进制,
;x2-每2个字节为一个单元格式化成十六进制,
;x1-以1个字节为一个单元格式化成十六进制;
-t x2 等价于 -x
-A选项指定进制格式:x-十六进制, d-十进制,o-八进制;
如果使用-t指定了十六进制格式,则-A选项就不是必须的了;

5、xxd
以十六进制格式查看ELF格式的二进制可执行文件的内容;
xxd ;以小写的十六进制格式显示;
xxd -u ;以大写的十六进制格式显示;
xxd -s +10 ;以ELF文件头处的第1个字节为参照,从第10个字节处开始显示;
xxd -s -10 ;以ELF文件尾处的第1个字节为参照,从第10个字节处开始显示;

6、编辑ELF文件
使用vi/vim与命令xxd配合完成;
STEP1:使用vi/vim以二进制模式打开ELF文件;
vi -b binary_file
vim -b binary_file
STEP2:在vi/vim的命令模式下输入如下内容,把二进制内容转换成16进制格式显示:
%!xxd -u
STEP3:按照vi/vim正常的编辑方法来修改以十六进制格式显示的二进制内容;
STEP4:编辑完成之后,在vi/vim的命令模式下输入以下内容,把十六进制格式显示的内容转换回原始的二进制格式:
%!xxd -r
STEP5:在vi/vim的命令模式下输入以下内容,保存二进制格式的ELF文件:
wq
---备注---
% :表示当前文件中显示的所有行;
!xxd:表示执行外部命令xxd;

格式"%!xxd"表示把当前文件中的所有行传递给外部命令xxd;

7、动态调试工具
ltrace: 跟踪ELF文件或进程对库函数的调用(library_function_call);
strace: 跟踪ELF文件或进程对系统调用的调用(system_call);
gdb : 对一个程序进行调试;使用gcc编译该程序时需加上选项-g,让编译器增加一些调试信息;
strip : 删除程序中的调试信息;这些调试信息是编译该程序时,gcc编译器的-g选项添加的;
splint: 查看一个程序中对未赋值变量的引用、未使用的函数参数,等情况;(静态检测)
lsof : 查看一个进程打开的文件;
fuser : 查看正在访问指定的file、filesystem或socket的所有进程的信息;即:查看都有哪些进程正在访问指定的file、filesystem或socket;
如果没有找到任何进程,fuser返回非零值;如果找到至少一个进程,则fuser返回0;
-k:该选项会向所有这些进程发送SIGKILL信号,以kill掉所有正在访问指定file、filesystem或socket的所有进程;
-i:在kill掉fuser命令找到的这些进程之前进行必要的提示信息;
fuser命令显示的是pid,并且在每个pid后面附加一个字母,用以表示访问方式:
c: 以目录方式访问;
e: 以可执行文件方式访问;
f: 以打开文件方式访问,默认不显示;
F: 以写的方式打开文件进行访问;
r: 以root目录的方式访问;
m: 以mmap文件或共享库的方式访问;
/proc : proc文件系统中包含进程的所有信息;

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇