Linux简单笔记

2018-10-11  本文已影响0人  MagicalGuy

服务器管理配置 centos redhat

学习安卓源码编译修改 ubantu

渗透测试 kali linux

su提权 密码

exit 退出

sudo apt-get install vim

安装软件需要权限

http://idea.imsxm.com

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宏准备进入新的程序入口

上一篇 下一篇

猜你喜欢

热点阅读