自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SMC自修改代码一

就比方说,有一个游戏,一般来说游戏的规则是不变的,但是如果游戏规则能够根据你玩游戏的方式而改变,那么该游戏的难度是不是会增加。SMC与之类似,它会根据需要改变代码。

2025-06-07 18:19:17 328

原创 XXTEA,XTEA与TEA

TEA、XTEA和XXTEA都是分组加密算法,它们在设计、安全性、性能等方面存在显著区别。XXTEA:进一步改进了轮加密过程,使用了更多的变量和操作,并且利用相邻字进行加密。XTEA:在TEA的基础上增加了更多的变量和操作,例如密钥的不规则混合。XXTEA:加密轮数更多,具体轮数取决于数据块和密钥的长度。XXTEA:密钥长度更灵活,可以使用任意长度的密钥。TEA:加密过程使用简单的加法、异或和移位操作。XTEA:通常使用128位或256位密钥。TEA:通常进行32轮加密。TEA:使用128位密钥。

2025-06-06 19:38:33 198

原创 XTEA与TEA的区别

XTEA**:虽然也使用4个32位的子密钥,但这些密钥是通过一个更复杂的密钥调度过程生成的,这个过程中密钥被扩展和变换,以增加加密的复杂性和安全性。XTEA:虽然在安全性上有所提升,但由于增加了加密轮数和复杂度,XTEA的性能可能略低于TEA,尤其是在处理大量数据时。TEA:由于其简单的密钥调度和较少的加密轮数,TEA在面对某些类型的攻击(如差分攻击和线性攻击)时可能较为脆弱。XTEA:在每一轮中,除了进行类似的操作外,还增加了一个额外的加法和异或操作,这使得算法更加复杂,更难被破解。

2025-06-05 22:40:10 299

原创 reverse笔记

TEA算法是一种分组密码算法,将明文数据分割成固定长度的分组进行加密,分组长度为64位,即八个字节。(对上述式子的解释:这个式子的作用是将 sum 增加一个固定的值 delta,并通过按位与操作确保结果不会超出32位整数的范围。的值,通过一系列的位移、加法、异或和按位与操作,结合子密钥和累加变量,从而实现解密过程中的一轮操作。密钥准备:选择一个128位的密钥,并将其分为四个32位的子密钥 k0,k1,k2,k3。(解释:加圈的意思是按位异或运算,十六进制前的符号是按位与运算,这个步骤的作用是更新。

2025-06-05 19:04:14 271

原创 reserve学习笔记(花指令)

程序运行时,花指令必须位于实际不可执行的代码路径,这意味着花指令插入的位置很重要。问题:递归下降算法依赖于程序的控制流,但如果有人故意在代码中插入一些虚假的控制流(比如构造一些看起来像是跳转指令,但实际上不会被执行的指令),它就会被误导,从而反汇编出错。可执行花指令:顾名思义,就是该指令可以执行,但是执行后的结果是没有意义的,不会对寄存器的值产生任何影响,它仅仅是为了增加逆向工程师的工作量。首先花指令其实就是没有用的指令(垃圾指令),它穿插在真正的代码中,会导致反编译时出现问题,从而会影响我们的静态分析。

2025-05-19 22:06:15 467

原创 密码学刷题小记录

经过几道题的理解,我感觉密码题就在于通过对题目和需要解密的文段的分析,得知是什么密码,从而解得flag,有时会有多种加密方式的使用,密码题就是享受最终解出的快感,以及在搜索加密方式的过程中那种一层层接开面纱的感觉。这道题打开后,发现是一串01的数字串,我本来以为是二进制转换(没认真看题),导致搞了半天,后来看了一眼题目,发现是摩斯密码,直接搞到flag。根据标题分析,我们知道这是凯撒解密,拖进去经过尝试在偏移量为12时直接得解(这道题就是找偏移量比较麻烦)打开代码文件,直接发现flag。

2025-05-15 17:21:48 418

原创 REVERSE学习笔记(攻防世界xxxorrr)

攻防世界xxxorrr首先我们把文件拖入ida中,点击进入main函数其中,unsigned是无符号的意思,fgets 是C语言标准库中的一个函数,用于从指定的输入流(如文件或标准输入)中读取一行字符串 我们先点击进入s1,发现s1是一个字符串,我们在点击sub_916发现它是一个函数,分析代码后发现,我们需要让s1和s2相等这样就可以得到flag ;而在我们尝试后发现并不能得到flag。我们猜测s1或者s2可能会被加密,我们搜索交叉引用,发现一个类似加密s1的函数我们对s1解密后在将s1和s2进行异或运算

2025-05-14 17:55:28 194

原创 逆向学习笔记(RC4加密)

RC4是一种流加密算法,是一种对称加密算法,即加密和解密使用相同的密钥。这里引用一位大佬的笔记。

2025-05-10 16:27:59 110

原创 逆向学习笔记(代码)

该代码的第三项是23的十六进制数,其中u64表示表示这个整数字面量是无符号的64位整数,进而将v10的前二十三位给初始化为零了。sizeof是一种函数,他将v12的位数计算了出来,使得该代码将v12的所有位都初始化了。该函数的原型如下:void *memset(void *s, int c, size_t n);其中第一项是指针,第二项是初始化为的东西,第三项是初始化的位数;menset函数是将指针指向的东西初始化的函数。

2025-05-10 16:16:40 847

原创 reserve刷题笔记一

主键是表中一个或多个字段(列)的组合,用于唯一标识表中的每一行记录。一个表只能有一个主键。外键是表中的一个或多个字段,用于引用另一个表的主键,从而建立两个表之间的关系。外键字段的值必须是被引用表主键的有效值,或者为NULL。

2025-03-31 18:53:55 737

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

客户端进入“SYN-SENT”状态(其中SYN表示客户端发送了一个带有SYN标志的TCP数据包,请求建立连接。:客户端收到服务器的SYN-ACK响应。:服务器收到客户端的SYN请求后,会发送一个带有SYN和ACK(确认)标志的TCP数据包作为响应。:客户端收到服务器的SYN-ACK响应后,发送一个带有ACK标志的TCP数据包作为确认。:服务器将客户端的初始序列号加1(ISN + 1),表示对客户端的SYN请求的确认。:客户端将服务器的初始序列号加1(ISN + 1),表示对服务器的SYN请求的确认。

2025-03-19 21:08:03 391

原创 网络空间安全基础

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,广泛应用于互联网和计算机网络中,用于在不同主机之间传输数据。它是互联网协议套件(TCP/IP)的核心协议之一,与IP(Internet Protocol,互联网协议)配合使用,确保数据能够在复杂的网络环境中可靠地传输。1. TCP的主要特点面向连接:在数据传输之前,TCP需要先建立一个可靠的连接。这个过程通过三次握手完成。只有在连接建立成功后,数据才能开始传输。

2025-03-18 20:35:35 925

原创 从零开始学习REVERSE----第五天

其中的CF ZF SF OF 的区别是:处理器状态寄存器中的标志位,它们在执行算术和逻辑操作后被设置,用于反映操作的结果。and运算符:执行按位与运算,例如:(and exa,0xFF,(只有两个数的值均为1时才为1,其余情况都为0))。shl运算符:左移(无符号):所有位向左移动一位,左移后空出的位置填充0,并将最左边的位丢弃。sar运算符:右移(有符号):与shr的区别是:空出的位置填充最左边的那一位。shr运算符:右移(无符号):所有位向右移一位,空出的填0,最右边的丢弃。

2025-03-18 16:54:52 200

原创 从零开始学习REVERSE-------第四天

间接寻址:指指令中的地址字段并不是操作数的地址,而是操作数地址的地址,CPU要先访问指令中的地址,获取其中的内容,再将该内容作为真正的操作数地址。无符号乘法:比如说:mul ecx通常是指将eax中的数和exc中的数相乘然后将乘法的结果存储到eax以及edx中(如果乘后的结果大于32位,那么剩下的将存储到edx中),无符号乘法计算的仅为非负整数,而有符号乘法所计算的数中可以有负数。直接寻址:指指令中直接给出操作数的地址,指令的地址字段直接表示操作数的存储位置(特点:指令中包含完整的地址信息;

2025-03-05 20:16:35 230

原创 从零开始学习REVERSE------第三天

**实例**:当你打开一个浏览器(如Chrome),浏览器程序被加载到内存中运行,此时就创建了一个或多个进程。ClientId :是客户端标识符,包括线程的唯一标识以及其所属的进程的ID(先存储进程的ID,后存储线程的ID)其中,PEB是指向进程环境块的指针,存储了与当前进程相关的信息,例如进程的启动参数,模块信息,进程内存布局等。- **上下文信息**:进程运行时的状态信息,包括程序计数器(PC)、寄存器状态、栈空间等。- **进程**:创建和销毁进程的开销较大,因为需要分配和回收独立的内存空间。

2025-03-04 20:08:13 563

原创 从零开始学习REVERSE------第二天

(而mov eax,0x00401000指将0x00401000这个立即数存储到eax中,注意 [] 只能在内存地址上使用,表示去除地址里面的值)(拓展:假如ebx=0x00401000,那么mov eax, [ebx] 也是合理的)操作符:操作符是汇编语言中执行运算的符号,有算术操作符(如加,减),逻辑操作符(如与,或,非),位操作符(如移位,按位)等。例如,MOV EAX ,5,其中MOV是操作码,EAX和5是操作数,EAX是寄存器,5是常熟即立即数。二,CPU,寄存器,内存。三,汇编语言的基本结构。

2025-02-26 18:00:14 184

原创 java概述

(如果用类比的话,类就像一张生产图纸,是一种模板,用于规定产品的结构等一些基础的信息,最终的产品会与图纸有一些出入,但基本相同。一个不会英语的中国人,如果想要和英国人交流,就需要一个翻译,java与此是一样的,它通过使用不同版本的JVM即java虚拟机来实现在windows和linux等操作系统中的跨平台交流。平台是指像windows,linux这样的操作系统,其中跨平台指的是java可以在其中的任意操作系统上运行。JDK是java的开发工具,如果需要开发一个新的java程序,就需要用到JDK。

2025-02-24 19:57:26 193

原创 攻防世界-reverse_re3(无壳)

然后,我们在这里发现了100,115,119,97这几个数,他们恰好对应w,s,a,d这几个字母的ASCII码,而这四个字母又恰好是游戏中控制方向的几个字母,于是我们推测这是一道迷宫题,然后我们点击sub_E23,sub_C5A,sub_A92,sub_FEC四者中的任意一个(因为这四个点开后是一样的)。然后我们根据前文的提示,将这么长的数字串变成15*15的三组数组,然后每组按照三开始四结束沿着1走的规则走迷宫,然后将三组的行走路线通过w,s,d,a记录下来,合在一起进行md5加密即可得到flag。

2024-12-19 17:28:44 393

原创 琐碎知识点的记录

在计算机领域,“库”(Library)是一个包含预编译代码和数据的集合,这些代码和数据可以被多个程序共享和使用。例如在角色扮演游戏中,NPC(非玩家角色)的对话和任务逻辑可以通过脚本实现,当玩家与NPC交流时,脚本就会触发相应的对话内容和后续任务。- 静态库包含编译后的代码,通常以`.a`(在Unix-like系统中)或`.lib`(在Windows系统中)为文件扩展名。- 代码库通常指的是一组代码,这些代码可以是源代码形式,也可以是编译后的代码,它们被组织在一起以便于管理和使用。

2024-12-17 19:26:42 394

原创 攻防世界——如来十三掌和stegano

首先,我们打开题目提供的文件后,发现一串看不懂的文字,但很容易发现这是佛语,于是我们可以先与佛论禅揭秘一下,揭秘出来一串字符,提交后发现并不是正确的flag,再联系题目给出的十三掌,我们想到rot13(ROT13是一种简单的字母替换加密,它通过将英文字母表中的每个字母替换为它在字母表中13个位置之后的字母来实现加密。)解密,解密后也得到了一串字符,提交后发现还是不对(服了,草),然后在进行一下base64解码,我们又双叒叕得到一串字符,这就是正确的flag。

2024-12-10 19:43:24 506

原创 攻防世界——适合做桌面

下载并打开题目提供的文件后,我们会发现这样一张图片,从图片上我们发现不了任何信息,因此我们用stegsolve试试,用stegsolve打开后我们在red plane 1页面发现了一个二维码。点击下载后会出现两个文件,点击名为untitled.py的文件,然后对代码稍作修改,运行后就能得到flag。看到二维码我们会干什么呢,当然是扫一下喽,那我们就去CQR这个软件中扫一下这个二维码。我们观察到出现了.py和.pyt这两个东西,于是我们进入线上的反编译软件。

2024-12-10 17:17:36 449

原创 HTML简介

第二句,是HTML的根标签(根标签:所有的HTML内容都应当放在该根标签下)(标签:类似于<p>,<h1>等,主要用于标记内容的开始与结束,这里我们要将元素和标签做一个区分,元素是指开始标签,中间的内容和结束标签共同组成的,和标签是不一样的)。首先,HTML是一种标记语言(主要起到标记作用,例如上述代码中的<h1>就是用来标记题目的,主要用于展示内容的格式等),主要用于描述网页。后边的<body>标记了一个可见的页面内容(就是在网页上展示给用户的东西)。<h1>我的第一个标题</h1>

2024-11-27 19:43:15 608

原创 汇编简介!

比如,"ADD"就是加法操作的助记符,”ADD AX, BX" ,就是表示把寄存器BX中的值和寄存器AX中的值相加。像程序计数器(PC)是专门用于存储下一条要执行指令的地址,指令寄存器(IR)则是保存当前正在执行的指令,这些寄存器的用途是固定的,主要是为了完成特定的CPU控制和指令执行任务。在汇编语言编程中,程序员可以通过指令直接对寄存器进行操作,这样能快速地实现数据的处理和运算,而且由于寄存器位于CPU内部,读写速度比内存快很多,这有助于提高程序的运行效率。四,通用寄存器和专用寄存器的区别。

2024-11-26 22:16:18 613

原创 kali快照

快照的主要作用是:在我们使用虚拟机时,难免会犯错,若错误导致虚拟机无法正常使用,那我们可以通过快照返回原先的状态,而不用重新安装系统,重新换源,重新切换root用户等。(是我们平时用的时候不用提心吊胆)。kali快照就相当于记录当前虚拟机的状态,然后在以后可以恢复到拍摄好的这个状态。在需要转换时,我们先点击拍摄好的快照,然后点击转到即可。点击右下角的拍摄快照,即可拍下虚拟机当前的一个状态。然后,出现如下界面(我的已经拍摄好了一个快照1)首先,我们介绍一下kali快照。首先,我们点击这里(蓝色的)

2024-11-24 23:18:59 442

原创 Kali的基本使用

这个apt换源主要在虚拟机上安装程序的时候使用,(打个比方,比如Iphone中的app store,它在国内和国外的内容是不太一样的,某些软件在国内的app store 是无法安装的,我们在安装这些软件的时候就需要换一下),换源和这个类似,我们需要通过换元来安装一些原先无法安装的软件,比如一些有关JAVE的软件,我们在终端模拟器中输入以下命令:mousepad /etc/apt/sources.list,然后换成阿里源。两个命令得到的结果有所不同,第一个时ip addr 的,第二个是ifconfig的。

2024-11-24 22:29:13 886 1

原创 can_has_stdio?

然后,我们打开这个网址:http://www.hiencode.com/brain.html,将文件中的一串符号复制粘贴到这个网址中就可以得到flag 了。这道题主要考察对Brainfuck语言的了解,但是像我这样的小白肯定是不会的,所以我们可以借助科技的力量。首先,我们打开下载好的文件,会出现一个五角星(我的电脑有病所以这个五角星很抽象)。如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处。如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处。指针指向的字节的值加一。

2024-11-18 21:53:54 203

原创 杂项题讲解-Banmabanma

3.点开这个网络后,我们先在选择文件中选择我们之前下载下来的文件,然后点击read。2.我们发现这个斑马身上的纹路非常奇怪,然后通过查找资料,我们发现了一个。我们就能够获得答案(记住答案的格式是flag{xxxx})。1.首先,下载附件并打开后会出现一张斑马的照片。

2024-11-17 21:41:00 183

原创 重生之补充Kail指令并学习模式匹配

type-d常作为“find”命令的一个参数选项,,作用为查找指定目录下类型为目录的文件或目录,也就是专门找出那些是目录而不是普通文件,链接文件等其他类型文件的项目。(1).“*“在正则表达式场景中,表示前面紧邻的字符或字符组可以出现任意多次(例如:”a*“可以匹配空字符,“a”,”aa”,”aaa”等;“ab*c”可以匹配到“ac”,”abc”,”abbc”等,只要是以a开头,中间有任意多个b,最后以c结尾的字符串都可以。b“表示匹配以a开头,中间插入任意一个字符,然后以b结尾的文件或字符串)

2024-11-13 23:53:12 322

原创 HMBB小课堂:初识虚拟机linux

3.新建文件和目录:mk指新建目录,而mkdir 指新建一个空的文件夹(-p指若中间目录不存在则创造,若存在也并不会报错)(/parent/dir/subdir指parent目录中的dir目录以及dir目录中的subdir目录,在执行mk-p时假设存在“/parent”这一目录,而目录“/parent/dir”不存在时,系统会自动创建mulu"/parent/dir",然后再进行下一步处理。2.目录在计算机中的含义:目录(文件夹)是用于组织和管理文件的容器。-f和移动文件中的-f意思是一致的)。

2024-11-13 23:43:55 213

空空如也

空空如也

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

TA关注的人

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