自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 2022-5-15 密码学刷题分享(第二部分)

由于上一次分享会没有讲,因此在做了一段时间的题目后,将下边内容补充到上一次的分享内容里。第一题:浪里淘沙(第三页抬头)打开题目看到很大段文本,咋看好像杂乱无章,仔细看似乎是由很多单词组成的文本!通过长时间的目测法,发现这段文本是tonightsuccessnoticeweexamplecryptoshouldbackspacelearnsublimthefoundsystemmorninguserenter这16个单词多次重复......

2022-05-15 19:51:23 744

原创 2022-4-28 BUUCTF Crypto区部分题目分享

主题:BUUCTF Crypto区部分题目分享

2022-05-01 17:52:21 3214

原创 2022.3.20 分享会Ver.2.0

2022.3.20 深圳大学信息安全协会分享会Ver.2.0主题:密码学基础(部分):经典古典密码选、流密码、对称加密(部分)

2022-03-19 21:41:27 3676

原创 2022-3-7~11 UOOC 现代密码学 流密码(基本思想、模型、RC4等算法简介)

由于在修习信息安全基础的同时还修习了现代密码学这门Mooc,因此也和大家分享一下我学习的随想。

2022-03-10 00:22:35 5666

原创 2022-3-2 UOOC 计算机安全导论 一 对称加密方式(置换、替代、多表;维吉尼亚) 【T.O.CTF】

我于这个学期选修了深圳大学开展的计算机安全导论,权作为网安方面小小的导引,促进自己学习。同时也修读了深圳大学的 现代密码学 ,这两门慕课上完都会更新随想。麻烦大家多多指教。

2022-03-02 17:29:06 8558

原创 2021 1.23 逆向分享会稿 Ver 1.0

主要内容:1、结构体;2、类:指向对象的指针;3、类:友元函数和友元类;大概纯字有三千?

2022-01-23 16:32:16 2706

原创 Linux学习笔记1 关于计算机内部结构杂谈

记得在去年年中的时候藉由学习汇编语言,分享了一片关于CPU的文章,那时粗略的讲解了CPU的构成及工作原理,下面是我在学习Linux时的更多心得体会,敬请多多赐教。首先需要明确的是,CPU的性能是与缓存的大小(即寄存器)有关的,且强有关,但值得厘清的一个概念是,随机存储器(RAM),以及高速缓存(CACHE)。是有所区别的,两者被CPU读取的速度不同,位置也有所差别。RAM:随机存取存储器(random access memory),又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存

2022-01-18 16:10:36 192

原创 2021-12-24 数据结构期末机考复习六 图

1、图的邻接矩阵存储class MGraph{ int Vexnum;// 顶点数 int Arcnum; // 边数 char *Vexs; //顶点信息集,string *Vexs; int **Edges; //边信息集public: MGraph(int n); //构造函数,赋值并分配空间 ~MGraph();}2、邻接表(Adjacency List)邻接表是图的一种链式

2021-12-25 12:10:25 501

原创 2021-12-24 数据结构期末机考复习五 树->赫夫曼树

在聊赫夫曼树之前,我们先来了解一下树的其他知识:路径:从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径路径长度:路径上的分支数目树的路径长度:从树根到 每个结点的路径长度之和下图中树路径长度为: 2*1 + 3*2 + 1*3 = 11 (前边是数量,后边是路径长度)我们学过两点之间线段最短,只要出现了路径之长短,我们肯定要找找怎么让路径最短结点的带权路径长度:从结点到树根之间的路径长度与结点上权的乘积树的带权路径长度(WPL):树中所有叶子结点的带权路径.

2021-12-24 21:12:26 896

原创 2021-12-23 数据结构期末机考复习 五 树

一般树,不含赫夫曼树

2021-12-24 15:39:19 375

原创 2021-12-21 数据结构 期末复习机考之四 串

我反思了一下前两篇的问题,发现讲知识点还是要简明扼要常见的字符串里的名词空串:不含任何字符的串,串长度=0空格串:仅由一个或多个空格组成的串子串:由串中任意个连续的字符组成的子序列。主串:包含子串的串。 如:A=’Shenzhen University’ B=’University’ A为主串,B为子串位置:字符在主串中的序号。子串在主串中的位置以子串第一个字符在主串中的位置来表示。串相等的条件:当两个串的长度相等且各个对应位置的字符都相等时才相等。模式匹配:确定子...

2021-12-23 22:49:25 1138

原创 2021-12-21 数据结构 期末复习机考之二 栈

栈和队列都是特殊的线性表,因此定义栈和队列与之前的线性表异曲同工:顺序栈顺序栈的架构顺序栈的特点top=0 或top=base 表示空栈base=NULL表示栈不存在当插入新的栈顶元素时,指针top+1删除栈顶元素时,指针top-1当top>stacksize时,栈满,溢出注意,此处的top栈顶指针是指向栈顶元素的下一个元素,也有一种说法是指向栈顶元素,两种都可,此处采用前者1、创建栈或typedef int SElemType;...

2021-12-22 22:51:22 849

原创 2021-12-20 数据结构 期末复习机考之一 线性表(含对象和类)

2021-12-20 数据结构 期末复习机考之一 线性表(含对象和类),文章有点长,你们忍一下

2021-12-21 13:46:10 815

原创 2021-11-30 Misc 杂项略览 二 压缩包加密【T.O.CTF】

大家有遇到过压缩包加密的苦恼吗?我遇到过,在下载好了心心念念的 新世纪福音战士新剧场版:||之后,准备解压大快朵颐,解压软件却提示要你输入密码,而你恰恰又不知道,我相信你的心态一定会爆炸。这类让人心烦意乱的问题引发了很多人的思考,既然存在密码,理论上是可破解的(排除非对称加密),我们如何破解这个压缩包密码,看到心爱的小片片呢?1、暴力破解(穷举)最简单直接的方法,try and try again。相关工具有Windows下的ARCHPR。2、ZIP伪加密在ZIP文件中,文件头和每个文件的核

2021-12-03 15:34:04 1061

原创 2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写【T.O.CTF】

Misc,杂项,一般指无法以CTF五大方向分类的题目类型,而在安全从业方面又需要用到的知识,是一项安全题目大杂烩。

2021-11-28 23:33:12 4176

原创 2021-11-26~27 Re 逆向工程略览 六 IDA 的远程调试【T.O.CTF】

我将攻防世界上的第七题豫备拖入x64DBG里时,x64DBG雀提示我则是非法文件。不是合法的PE文件,为什么会这样呢?询问“赛棍”大佬,得到的答复是,这可能是Linux里的elf文件,于是询问如何化解,他说唯有远程调试一法可破!

2021-11-27 19:54:31 3095

原创 2021-11-22~26 Re 逆向工程略览 五. IDA 的调试器【T.O.CTF】

我们介绍了静态与动态调试与分析代码,都是局限于某一个软件,那么IDA自身有无调试工具呢?IDA很早就开始自己营建调试器,

2021-11-27 18:07:26 527

原创 2021-11-22~23 Re 攻防世界逆向Exercise区第七题 simple-unpack【T.O.CTF】

攻防世界逆向新手区第七题 simple-unpack UPX 的静态脱壳

2021-11-22 23:52:45 2832

原创 2021-11-20~21 Re 逆向工程略览 四 动态调试与分析【T.O.CTF】

作为一个成熟 (笑) 的Rer,应该都已经在C程序的学习中使用过编译器的Debug功能,这些让程序实际运行起来,观察程序运行时的各种变化与行为,从而对程序进行分析。今天,我们来聊聊动态调试。

2021-11-21 17:10:00 1387

原创 2021-11-18~19 Re 逆向工程略览 三 IDA Pro使用【T.O.CTF】

逆向工程最基本的方法是静态分析,而IDA Pro,这个女人将是我们逆向学习过程中最常打交道的人

2021-11-19 01:27:20 1563

原创 2021-11-17~18 Re 逆向工程略览 二 基本汇编指令【T.O.CTF】

上次聊完了寄存器以及使用寄存器不同部分的助记符,今天我们来聊x86/x64的汇编语言。

2021-11-18 23:56:04 341

原创 2021-11-16 Re 逆向工程略览 一 寄存器内存和栈【T.O.CTF】

CTF逆向的基础知识(持续更新)

2021-11-17 01:43:58 799

原创 2021-10-24 Python 条件判断 “if”语句

编程时,或是日常生活中,我们总会遇到许多条件判断的问题,例如,Mate 40 Pro 售价6999,我们在将他收入囊中前,需要掂量掂量自己的荷包有多少斤两,这时候“掂量”这个动作就是一个判断;用伪代码书写就是:if 我的钱 == 6999; print(“可以买Mate 40 Pro !”)else print(“还不够钱买!赚钱去啊!”)这里明晰一个概念,学过C语言的同学肯定会知道:一个等号是“赋值”,两个等号连用是“判断是否相等”,而==这一判断语句的结果就是“Ture”和“

2021-10-24 16:34:35 155

原创 2021-9-28 数据结构学习 第四章 - 栈 和 队列【1024Re】

新学期被作业淹没,将博客晾在这太久了,不禁心生惭愧,于是将今晚本来计划去深圳湾公园散步的时间用来写文章。我在想,要写什么呢,看着案上的数据结构,就决定是你了!看名字是第四章,我是不是错过了什么,其实是正在学栈和队列,剩下的三章会在国庆尽力填坑。假设大家学过线性表,那么栈和队列就是特殊的线性表罢了。我上一次接触栈,是在汇编语言的学习处,是比较硬件的理解,现在学习数据结构,就是从软件、实用的角度来理解栈。上图是栈的模型,栈是允许在同一端进行插入和删除操作的线性表。允许进行插入和删除操作的一端称为栈.

2021-10-24 14:55:23 2693

原创 ​​2021-9.6 Python 列表.循环 【蟒蛇探幽】

上一篇文章我们学习了python里的元素和它的操作,这一篇文章详细介绍元素们的集合——列表及其操作。因为最近在学CTF里的Re,因此可能有时候时间会分配去re,有时也会写写wp,re方向的各位可以关注。言归正传,这里的列表可以类比成c里的数组,但是却不尽相同,因为C里的数组严格地限制了元素类型,字符数组不能放入整型数据,数组也不能容纳字符型数据,但这里的列表则没有限定。列表可以这样写:cars=['bmw','honda','toyota']print(cars)['bmw', 'ho

2021-09-10 11:43:28 114

原创 2021-9-6 C++ 引用 降低程序处理时间 (炉边小坐)

今天上数据结构,提到了如何评价一个程序的质量,其首先就是衡量其时间复杂度,复杂度越高,程序的质量可能就越差。今天复习到C++的类,深感其对提升程序质量之好处,故写此文。1、我们如何理解“引用”?引用是个别名,当建立引用时,程序用另外一个名字来初始化它,作为目标址别名使用。对引用的改动就是对目标的改动。建立引用,我们需要:int someInt;int&rInt=someInt;如此,someInt的别名就叫rInt。建立引用,我们先要明确目标的数据类型,再跟&号,最.

2021-09-06 21:11:58 408

原创 2021-9-6 Python 之禅 The Zen of Python 【蟒蛇探幽】

好的程序员会留下简洁易懂的注释,赠与后来者,例如语句功能,编程思想等等,格式为:# ………………

2021-09-06 10:39:25 124

原创 2021-9-5~9.6 Python 元素.操作数据 【蟒蛇探幽】

首先对迟来的Python系列表示歉意,暑假因为种种原因未能更新,学习也落下不少。最近笔者一直在玩re入门的题目,做到第二题就遇到了.pyc文件,在痛苦的搭建pip后,我们将.pyc拖入无敌神器IDA中反汇编为.py 后,发现只需经过算法逆向一下,即可找到flag,但是笔者不会python,因此写不出脚本,虽尝试用c写之,终无奈作罢,恨啊。因此决定重拾python,并邀请各位读者一同见证,共同进步。本文演示使用:PyCharm CE 2020.3.1提一嘴:输入代码时一定要切换到英文输入法!!!.

2021-09-06 10:32:24 119

原创 2021-7-29 汇编语言 【BX】 和 loop 【N-2】

上文介绍了 BX 和 loop 的使用和大致作用。2021-7-27~29 汇编语言 【BX】 和 loop 【N-1】现在我们从内存的角度看待这些指令(涉及到寄存器的指令,大多数都可以从内存角度考量)考虑一个问题:计算ffff:0006单元中的数乘以3,结果存储在dx中。1、运算后的结果是否会超出dx所能存储的范围?ffff:0006单元中的数是一个字节型的数据,范围在0〜255之间,则用它和3相乘结果 不会大于65535,可以在dx中存放下。2、用循环累加来实现乘法,用哪个寄存

2021-08-17 19:30:11 178

原创 2021-7-27~29 汇编语言 【BX】 和 loop 【N-1】

BX――基址寄存器(Base Register),常存放存储器地址。我们前文提到了这个寄存器:2021-7-24 8086CPU 内 14 个寄存器功能一览

2021-07-27 22:34:05 272 1

原创 2021-7-27 汇编语言 程序:驱动万物的伟力

终于聊完了 CPU 的寄存器部分,不禁长舒一口气,今天我们来到程序的部分。程序,相信大家在学完 C 和 C++后应该不陌生了。(不会有人将汇编作为第一们语言学吧?)如此,程序如何从源文件(source)变成可执行文件(.exe),这里不再赘述。我们直接来看一段完整的汇编语言源程序:assume cs:codesgcodesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21Hcodesg en

2021-07-27 19:20:52 257

原创 2021-7-26 汇编语言 高屋建瓴:栈,段的理解(炉边小坐)

聊了那么多,是时候简短的总结一下栈和段。栈的综述8086CPU提供了栈操作机制,方案如下。1、在SS、SP中存放栈顶的段地址和偏移地址;2、8086提供入栈和出栈指令,它们根据SS:SP指示的地址,按照栈的方式访问内存单元。3、push指令的执行步骤:①SP=SP-2;②向SS:SP指向的字单元中送入数据。4、pop指令的执行步骤:①从SS:SP指向的字单元中读取数据;②SP=SP+2。5、任意时刻,SS:SP指向栈顶元素。6、8086CPU只记录栈顶,栈空间的大小我们..

2021-07-26 22:08:32 518

原创 2021-7-26 汇编语言 寄存器(内存访问)补充(炉边小坐)关键词:栈顶超界,push pop指令,栈顶

最近炉边小坐的篇幅真是越来越巨大,这个栏目的本意是写一些 1K 左右的小短文,没想到后来越来越长,为此我在改进写作方法,力求压缩篇幅,浓缩精华,欢迎各位指正。现在尝试加入关键词和目录制度,看是否能增强可读性。栈顶超界问题8086CPU 用 SS:SP指示栈顶位置,并提供 push 与 pop 指令实现入、出栈。同时,我们也知道栈空间是有限的,例如我将 10000H~1000FH 这一段空间作为栈使用,则栈区的空间为8 个字型数据(即 16 个 byte),我们如何知道栈顶会不会超出栈空间?毕竟 S.

2021-07-26 20:34:06 863

转载 2021-7-24 我们的学习对象——intel 8086 CPU

Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久之后,Intel Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久之后,Intel 就推出了 Intel 8088 (一个拥有8位外部数据总线的微处理器)。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是地址总线扩充为20位。总线接口单元(Bus Interface Unit)透过6字节预存(prefetch) 的队列(queue)位指令给

2021-07-24 22:33:53 579

原创 2021-7-24~25 汇编语言 寄存器(内存访问)-办事大厅指南【完成版】(炉边小坐)

上文,我们主要从CPU 执行指令的角度聊寄存器,我们这次深入寄存器的内存,从内存的角度再理解寄存器。我们介绍过,在(8086)CPU 内,我们用16bit 寄存器存储一个“字”,即字型数据,低 8 位存放低位数据,高 8 位存放高位数据,注意,低位字节排在高位字节前(从栈的角度而言,低位字节较为接近栈顶),总结一下,字单元的概念就是:存放一个 16bit 数据的内存单元(有两块地址连续的 8bit 地址单元组成,为什么这样设计上期有叙),而高低字节是可以转化的,并非定死的,这个后文再述,以后,我们将起始

2021-07-24 22:28:37 477

转载 2021-7-24 8086CPU 内 14 个寄存器功能一览

8086 CPU 中寄存器总共为 14 个,且均为 16 位 。即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。这 14 个寄存器按照一定方式分为了通用寄存器,控制寄存器和段寄存器。通用寄存器:AX,BX,CX,DX 称作为数据寄存器:AX (Accumulator):累加寄存器,也称之为累加器;BX (Base):基地址寄存器;CX (Count):计数器寄存器;DX (Data):数据寄存器;SP 和 BP 又称作为指...

2021-07-24 19:15:59 2357

原创 2021-7-22~23 汇编语言 寄存器-CPU 的办事大厅【完成版】(炉边小坐)

一个 CPU 由运算器、控制器和寄存器组成,这些器件通过(内部)总线连接,在 CPU 中,运算器进行信息处理,寄存器实现信息储存,控制器控制各器件工作,而内部总线在其中传递信息,串联起三大元器件。对于一个程序员来说,CPU 的主要部分是寄存器,这是程序员可以通过指令来读写的部件。不同的 CPU 寄存器个数也不同。现在主流寄存器是 32bit 的,8086CPU 寄存器是 16bit 的,AX,BX,CX,DX,这四个寄存器用于存放一般数据,被称为通用寄存器。以 8086CPU 的寄存器为例,一个寄.

2021-07-22 22:22:31 225

原创 2021-7-22 汇编语言 开篇:关于计算机(炉边小坐)

古语有云:“近水楼台先得月”。这句话用来形容汇编语言最好不过。汇编语言是直接在硬件之上工作的语言,我们知道无论多么精巧绝伦的语言,最后都要通过编译器转变成机器语言才能让计算机理解并执行。在前面的文章,无论是 C语言,这类比较于接近低级语言的高级语言,亦或是更高级的 C++(当然只学了一半),我们对计算机硬件的探讨都比较浅显,就算是前四天对指针讨论——最接近硬件的部分,对计算机的硬件都是点染略过,但是学习汇编语言,这种更为接近计算机硬件,或者是本质的东西,了解硬件知识是必须的,当然,也没有到要...

2021-07-22 20:12:07 217

原创 2021-7-21 指针:强大而危险的灵魂【C++指针的应用---下】(炉边小坐)

最后一天,聊聊关于指针自身的东西,在开始之前,我们再来明晰一次指针的属性:指针是一个储存地址的变量。指针数组1、指针数组今天来引入一个新概念——指针数组。当数组的每一个元素都是指针的时候,就变成了指针数组:char*SZname[]={"Fortran", "C", "C++"};这个数组具有变量的性质,可以是静态的,全局的或者是局部的,指针数组具有类型,其存放的一定是和他类型相同的指针,(每个元素都存放在 data 区的

2021-07-21 23:14:15 235 1

原创 2021-7-20 指针:强大而危险的灵魂【C++指针的应用---中下】(炉边小坐)

终于来到第三天,今天我们来聊聊其他类型的指针,我尝试使用章节来叙述,增强可读性.const 型指针1、const 型指针聊到指针,我们下意识的认为指针所指向的数据是“变量”,这是因为我们常常会混淆“指针变量”和“指针所指的数据”这两个概念。指针大多数时刻指向的是变量,但有时指针也会指向常量,定义指向常量的指针需要在定义语句的指针类型前加上 const,表示指向的对象是常量。const int a=78;const int b=28;下面有两种常见错误,分别对应着一种概念难点:

2021-07-20 22:46:13 251 2

C程序设计刘课件.zip

适合深圳大学电信学院 C程序设计课程使用

2021-07-22

深圳大学电信学院 C语言程序设计期末复习总结.pdf

适合深圳大学电子与信息学院 C程序设计语言基础 第二版 刘宗香讲授 文章内容完全版含图版

2021-07-22

空空如也

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

TA关注的人

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