自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 linuxC语言编程

fork创建出来的进程,父子进程没有必须的执行顺序,顺序也不是确定的。

2022-11-24 18:29:18 948 1

原创 交换机基本配置

交换机和路由器的基本配置

2022-11-22 21:33:32 1507

原创 shell C语言编程

linux下的C编程,用系统调用的那种。

2022-11-09 12:49:50 2302 1

原创 PWN入门学习

基础PWN知识入门二进制基础​ 从C源代码到可执行文件的生成过程​ 可执行文件广义上的可执行文件,文件本身是没有执行权限的,和用户权限无关。可以通过命令给文件赋权。ELF的执行​ 需要将在磁盘上的程序载入内存中。在磁盘中的是节,映射到内存就是段。在执行过程中,存储在磁盘中具有相同权限的节会被映射到内存中合成一个段。进程虚拟地址空间​ 操作系统管理所有硬件,程序

2022-10-20 11:44:42 2515

原创 Shell编程实验

shell编程实验

2022-10-13 16:46:43 3594 4

原创 crackme--Cruehead-CrackMe-3

总结算法:程序是一个KeyFile类型,需要一个文件存在才能成功破解。校验值如果与文件中的第15位到18位相同,那么就破解成功。破解可以按照它给的要求去完成这么一个Key文件,又或者是找到关键跳转点对其进行强制跳转或NOP填充的修改。下面就是按照要求的一段VB代码,VB的逻辑有些乱,看着感觉有些不对。将异或后的值累加,再将累加和与12345678进行异或,如果这异或的结果与字符串之后四位的值相等就破解成功。基本就是重复一遍算法,然后将前14位得到的结果补充到后四位上,来完成文件的创建。之后对进入函数查看。

2022-09-03 20:31:52 314

原创 C语言----指针

函数指针指向的可以是数据区也可以是代码区,又因为函数指针的类型,所以用函数指针指向数据区的具有函数功能的硬编码数据也是可以执行的。结合数组本身的特点,数组是一块连续分配内存的存储单元,所以存储的数据是连续存放的。在使用不同类型的数组指针指向数组时,注意指针的类型宽度,这会决定在对指针指向地址偏移后取该地址下的几个字节的数据。指针的出现主要是为了存储地址,赋值时可以直接将变量的地址赋给指针。这里可以看出指针其实还可以有多种表达形式,不同的表达形式对应的反汇编代码是一样的,所以编译器执行的操作也是一样的。...

2022-07-17 13:22:46 1894

转载 部分header功能解释

部分HTTP报文中的header功能

2022-06-17 11:40:07 495

原创 C语言-switch

C语言-switchswitch(情况){ case 1: //执行代码; break; case 2: //执行代码; break; case 3: //执行代码; break; case 4: //执行代码; break; default: //如果没有以上的情况,则执行default中的语句 break;}以上是switch使用的基本格式,它会通过输入的情况跳转到对应的 c

2022-04-17 00:09:04 546

原创 C语言结构体

C语言结构体:数据类型数据大小char1字节short2字节int4字节float4字节double8字节longlong8字节数组自己设置结构体自己设置在我们存储数据时,往往根据数据大小来选择数据类型。当我们要设置一组数据进行存储的时候基础的数据类型就无法满足我们的要求了,我们就开始考虑数组或者是结构体。数组与结构体的区别在哪儿?区别就在数组存储的是同一个类型的数据,而结构体可以存储多个类型的数据。​ 结构体st

2022-04-15 21:21:14 445

原创 C语言-参数-返回值-局部变量-数组

C语言-参数-返回值-局部变量-数组:​ 返回值char Funtion(){ //10000行代码 return 10;}//c语言角度:这里定义的函数类型是char(字符型),表示我将返回的的数据是一个字符型数据//汇编语言角度:我创建了个函数,函数的返回值是一个字节int main(){ char i = Funtion(); return 0;}//因为我们设置的是返回一个字符型返回值,所以对应的用一个字符型变量去接收对应的反汇编:call Fu

2022-04-15 21:17:38 681

原创 缓冲区溢出(栈溢出)

栈溢出(缓冲区溢出)在了解栈溢出之前,我们需要了解几个概念:堆栈是什么以及汇编语言中的call指令的特点。堆栈:​ 堆栈是一个特定的存储器或寄存器,其本质就是存储数据的内存。在实际应用中,堆栈会用于存储临时变、函数调用、中断切换时保存和恢复现场数据。​ 如图所示,堆栈就是内存中的某一片区域,每一个堆栈的内存单元都有唯一一个物理地址,且内存单元的大小都统一是4个字节大小。并不是esp和ebp之间的范围才是堆栈,整个区域都是堆栈,而esp(栈顶)和esp(栈底)的作用只是定位数据的位置。

2022-04-15 12:17:02 6518 3

原创 C语言函数反汇编

C语言函数反汇编​ 从反汇编的角度,看C是怎么创建函数的。在创建函数的过程中系统做了哪些准备,数据被存放在那里,又是如何完成函数操作的,参数与局部变量在底层硬件中又是怎么流动的?函数的创建与堆栈操作密切相关空函数主函数带参函数无参、有局部变量的函数带参且有局部变量的函数​ 分别从这些函数入手,查看反汇编代码,发现异同,从而加深C语言函数定义的正向理解,以及函数的反汇编代码。空函数与主函数://空函数与主函数#include "stdio.h"void Plus(){ }

2022-03-24 23:35:35 4290 1

原创 TCP的三次握手与四次挥手的简述

TCP的三次握手与四次挥手的简述三次握手过程​ 客户端 向 服务端 发送一个SYN包 :发送建立连接的请求​ 服务端同意后会回复一个SYN+ACK包 :SYN包表示同意连接、ACK包表示建立连接​ 客户端接收到SYN+ACK包后会返回一个ACK包。 连接建立​ 客户端与服务端都进入了数据传输状态因为在这过程中相互发送了三包数据,所以成为三次握手。

2022-03-18 13:21:04 3457 1

转载 ICMP协议小笔记

ICMP协议说明-笔记内容是B站胡科大教书匠的ICMP协议讲解ICMP的作用:​ ICMP是Internet控制报文协议,主要是传递控制信息的,而且是无连接的协议。当遇到IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令,这个Ping的过程实际上就是ICMP协议工作的过程。还要其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。Ping 命令:​ Ping命令是排除设

2022-03-18 13:19:40 713

原创 ARP协议的小小了解

ARP协议ARP协议​ (Address Resolution Protocol 地址解析协议):是根据IP地址获取MAC地址(物理地址)的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回信息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议时建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报

2022-03-18 13:14:00 926

原创 Nmap学习笔记

B站-51CT0Nmap/七小时版-笔记整理P1------->课程介绍无重点!P2、2-1------->Nmap介绍与安装​ Nmap通过发送特殊的数据包,经网络设备传送到服务器,将服务器返回的数据包进行分析来达到获取数据进行探测的目的。

2022-03-18 13:11:39 4403

原创 Python-基础学习笔记

Python-学习笔记前言​ python的爬虫学习计划分为两个部分,python代码编写和python的第三方库两个部分,笔记也会大体分成这两个部分。pycharm常用快捷键shift+enter 添加一行ctrl+/ 行注释ctrl+shift+/ 块注释、多行注释tab/ shift+tab 缩进、不缩进当前行ctrl+D 复制选定的区域或行ctrl+home 第一行,ctrl+end 最后一行ctrl+g 弹出一个框,输入跳转的行数ctrl+alt+L格式化Pytho

2022-03-18 13:02:39 5602 1

原创 逆向学习笔记

滴水逆向一:​ 信息的存储:一切信息在电脑中的存储方式都是用二进制存储。为了方便显示和,电脑将二进制数以十六进制数显示,八位二进制数为一字节,一字节是系统操作的基本单位,系统通常用两个十六进制数来表示一字节。​ PE文件结构:pe文件结构是在Windows上运行的可执行文件必须遵守的格式。(程序从哪里开始,数据存在哪里,程序放在哪里)十六进制的3c转换成十进制就是60,表示从六十以后四个字节就是三十二位信息的起始点,但并不是程序运行的起点。依照顺序依次查找,最终定位到00000111,

2022-03-18 12:45:37 2535

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除