- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 rootkit原理与编写教程
rootkit原理与编写教程rootkit原理rootkit介绍windows下rootkit编写windows编程技术Linux下rootkit编写rootkit原理rootkit介绍Rootkit的历史已经很悠久了。存在于windows,unix,linux等操作系统中。Root在英语中是根,扎根的意思,kit是包的意思。rootkit我们可以把它理解成一个利用很多技术来潜伏在你系统中的一个后门,并且包含了一个功能比较多的程序包,例如有清除日志,添加用户,cmdshell,添加删除启动服务等功能
2021-03-31 08:09:10 2982
原创 动态二进制插桩原理与实战
二进制插桩~说点什么插桩是啥为啥要插桩源代码插桩二进制插桩如何插桩两种主要方式和三种执行模式方式1:方式2:第一种模式:第二种模式:第三种模式:说点什么虽然不是主要做这个的,但是安全工程师的知识面太大咯,学习其它科目的知识有助于锻炼思维,所以记一下学习过程插桩是啥动态二进制插桩(dynamic binary instrumentation ,DBI)技术是一种通过注入插桩代码,来分析二进制应用程序在运行时的行为的方法。动态二进制插桩技术,可以在不影响程序动态执行结果的前提下,按照用户的分析需求,
2021-03-30 21:40:48 3225
原创 Linux内核操作文件
内核操作文件简介原理文件结构分析函数分析打开文件:读写文件:关闭读写文件:实例简介平常的操作文件有以下几种方式:1、打开2、获取文件信息3、读4、写同样,在内核中也是如此原理文件结构分析直接上源码:struct file { union { struct llist_node fu_llist; struct rcu_head fu_rcuhead; } f_u; struct path f_path; struct inode *f_inode; /* cac
2021-03-18 18:58:30 487
原创 交换机知识点大全
交换机知识点大全工作机制工作原理固件实现交换机芯片概述工作机制当在交换机的MAC地址表能找到对应设备的 MAC地址与端口关系,则单播发送至对应设备;如果不能找到,则进行广播,查找目标地址与端口。工作原理转发:交换机根据MAC地址表单播转发数据帧学习:MAC地址表是交换机通过学习接收的数据帧的源MAC地址来形成的广播:如果目标地址在MAC地址表中没有,交换机就向除接收到该数据帧的端口外的其他所有端口广播该数据帧更新:交换机MAC地址表的老化时间是300秒;交换机如果发现一个帧的入端口和MAC地址
2021-03-12 16:01:50 899
原创 详解linux系统启动原理
linux系统启动过程1、首先读入boot下的内核文件:2、init进程读取配置文件:pid=1,完成了从内核态到用户态的转变linux内核启动流程:在1与12之间,linux内核进行启动:一、1时,利用代码kernel/arch/arm/boot/compressed进行内核的自解压内核文件被加载到内存中,建立页表数据结构、进行地址映射,二、之后进入start_kernel函数:设置体系结构初始化相关的工作(x86等)创建内核页表、MMU、中断处理函数、核心进程调度器、时钟中断处
2021-03-12 13:07:35 816
原创 详解CPIO与Squashfs文件系统
这是个标题Squashfs简介特点SQ使用总结构建squashfs文件系统cpioSquashfs简介squashfs是以linux 内核源码补丁的形式发布,附带mksquashfs工具,用于创建squash文件系统。squashfs可以将整个文件系统或者某个单一的目录压缩在一起, 存放在某个设备, 某个分区或者普通的文件中. 如果你将其压缩到一个设备中, 那么你可以将其直接mount起来使用; 而如果它仅仅是个文件,你可以将其当为一个loopback 设备使用. squashfs文件系统的设计令人欣
2021-03-12 13:03:15 1924
原创 gdb调试内核全过程
编译内核(不再赘述)在编译好的linux内核中会有内核镜像busybox下载与编译wget https://busybox.net/downloads/busybox-1.27.2.tar.bz2tar -xf busybox-1.27.2.tar.bz2cd busybox-1.27.2make menuconfigmake -j8make install最终我们得到创建文件系统内核与文件系统知识见我另一篇博客1、新建一个文件夹,打开终端,新建rootfs文件夹其中
2021-03-10 21:04:36 1265
原创 内核、驱动与文件系统
也就是说,驱动模块应是加载到内核中,跟Linux类文件系统还有差别可以想象,操作系统就是人体内核是心脏与大脑,文件系统是血管、肌肉、骨骼,假设人能复活(没错,复活hh要心脏与大脑发出指令,先收缩(挂载)最初的心肌、心血管、脑血管(根文件系统)等,再指挥全身的肌肉血管(文件系统)进行收缩。给心脏能装个支架(加载驱动模块),也能很多事情...
2021-03-10 10:20:41 234
原创 如何确定TCP数据包长度
在tcp数据包处理的实战中,总会确定payload的长度但是呢,tcp头部中没有确定的tcp_len长度,非常的烦所以一般如下确定payload长度:从IP报头(IP .len)中提取“总长度”,然后减去“IP报头长度”(IP .len)。hdr len)和“TCP头长度”(TCP。hdr len)。在内核中也就是 ip->tot_len - ip->len -hdr_len(tcp)。...
2021-03-01 16:21:44 3645
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人