服务器管理配置 centos redhat
学习安卓源码编译修改 ubantu
渗透测试 kali linux
su提权 密码
exit 退出
sudo apt-get install vim
安装软件需要权限
useradd username 创建用户
passwd username 密码激活
//=======================
加载文件
file 加文件名
查看入口点
info file
设置 断点
(gdb) b *0x400440
查看断点
info break
删除断点
delete breakpoint 1
查看 寄存器
info reg
单步 步入 si
单步 步过 ni
继续运行您的程序 (在停止之后,比如在一个断点之后)
continue
查看 反汇编
(gdb) x /20i $pc
查看内存
如果有x命令看时,需要看一片内存区域,(如果某个地方的值为0,用x时会自动截断了)
(gdb) x/16bx address
单字节16进制打印address地址处的长度为16的空间的内存,16表示空间长度,不是16进制,x表示16进制,b表示byte单字节
以让程序执行随意跳跃
jump *addr
//=============================
tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for Linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、.tar 用 tar –xvf 解压
2、.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar –xzf 解压
4、.bz2 用 bzip2 -d或者用bunzip2 解压
5、.tar.bz2用tar –xjf 解压
6、.Z 用 uncompress 解压
7、.tar.Z 用tar –xZf 解压
8、.rar 用 unrar e解压
9、.zip 用 unzip 解压
命令 选项 参数
Linux的文件特点
文件系统是按照层次结构建立的
linux文件就是一组字节序列
linux系统每一个对象都表示为文件
文件分类
普通文件,目录文件,特殊/设备文件,命名管道,符号链接
查看进程
ps -aux
ps -x | grep com 过滤
ps -aux | more 分屏显示
cat maps
top htop
pstree
pgrep
cat /proc/4336/status
kill pid kill -9 pid
TracerPid 检测调试
killall pkill
findusage
下载PS源码
which ps
dpkg -S /bin/ps
apt-get source procps
android dex
windows pe
linux elf executable file
可执行文件
共享目标文件 so shared object file
可重定位目标文件 Rellocateble object file
核心转储文件 core dump file
文件头
程序头表
代码段 .text
数据段 .data
bss段 .bss
段表字符串表 .shstrtab
段表
符号表 .symtab
字符串表 .strtab
重定位表.rel .text
重定位表.rel .data
readelf -h 查看文件头
readelf -l 查看程序头表
readelf -r 重定位
readelf -s 符号表
readelf -S 段头
.dynsym 不能清空
.symtab 可以清空
hexdump -C hello1|more
程序头表 最后一段异或 反调试ida分析不了
段头表 填充为零无影响运行
uname -r
http://lxr.free-electrons.com/source
创建进程的系统调用execve
sys_execve do_execve
加载ELF
读取并检查目标可执行程序的头信息,检查完后加载目标程序的程序头表
如果需要解释器则读取并检查解释器的头信息,检查完成后加载解释器的程序头表
装入目标程序的段segment,这些才是目标程序二进制代码中的真正可执行映像
填写程序的入口地址(如果有解释器则填入解释器的入口地址,否则直接填入可执行程序的入口地址)
create_elf_tables 填写目标文件的参数环境变量等必要信息
start_kernel宏准备进入新的程序入口
网友评论