reverse
密码脚本小子当太多了,脚本写不利索,打打reverse练习一下写脚本的能力
然后reverse里面流密码和块密码挺多的,借此为crypto打下基础
SSH复现
一、Let's go to learn crypto
用idapro打开文件,f5反编译得到
image-20250308161633827
发现里面给了key,但目前还不知道什么加密方法
而后面又有一个base64,就是把明文用base64编码,然后比较base64编码和encflag
那encflag就需要找到Cry_Encrypt函数
image-20250308161803810
打开发现了是AES加密,所以,和逆向没什么关系,直接解密就行了
image-20250308162043119
随便翻一下就找到encflag了,如果翻不到,直接用search搜索也行
1234567from base64 import *from Crypto.Cipher import AESenc_flag =...
春秋GAME WP
春秋GAME WRITEUP
一、个人信息
个人名称:infinite
个人排名:647
二、解题情况
image-20250117164002385
image-20250117164044162
三、解题过程
一、简单算术
操作内容:
拿到文件,
1ys~xdg/m@]mjkz@vl@z~lf>b
给了这一串东西,显然经过加密了,题目提示异或,考虑先转化为二进制
使用文本转二进制工具[(https://uutool.cn/txt2bin/),转换得到,
11111001 1110011 1111110 1111000 1100100 1100111 101111 1101101 1000000 1011101 1101101 1101010 1101011 1111010 1000000 1110110 1101100 1000000 1111010 1111110 1101100 1100110 111110 1100010
明文应该含有flag,将这flag四个字符转为二进制
11100110 1101100...
微分方程
微分方程一、微分方程的一些基本概念一般地,含有未知函数导数或者微分的方程叫做微分方程,未知函数是一元函数式称为常微分方程 二、一阶微分方程的定义 F(x,y,y')=0三、一阶微分方程的分类可分离变量的微分方程 齐次微分方程 一阶线性微分方程 伯努利方程 四、可分离变量的微分方程def 形如的方程称为可分离变量的微分方程 \frac{dy}{g(y)} = f(x)dx \\两边积分得: \int{\frac{dy}{g(y)}=\int{f(x)}dx}+C \\由此得到微分方程的通解(C为任意常数)Example \frac{dy}{dx} = \frac{x}{y}解: ydy = xdx \\ 两边积分得 \int{ydy} = \int{xdx} \\ \frac{1}{2}y^2=\frac{1}{2}x^2 +C_0 \\ y^2 = x^2 + CExample y'=e^{2x-y},y|_{x=0}=0的特解解: \frac{dy}{dx} = e^{2x-y} \\ e^y dy = e^{2x}dx \\ \int{e^ydy} =...
picturebed
图床搭建过程一、为什么要搭建图床起因在于,在本地编写markdown文件时,我们的图片都是保存在自己的电脑本地的,typora编辑器根据本地路径,寻找图片,但是,当我们把markdown上传到博客网站或者论坛时,本地的图片无法访问 因此需要使用网络路径,来上传我们的图片,这就需要用一个网站来存储图片 不过, 郑学长已经提供了他的图床,感谢前人栽树,因此本文接下来的内容没有什么意义 而且,github十分不稳定,上传的图片有时加载不出来 不过,由于我投入了时间搭建图床,出于沉没成本,我选择写一下搭建过程 二、用github(貌似Gitee也行?)仓库实现图床功能1.注册github账号首先,注册一个github账号 不过,国内github网站虽然可以访问,但十分不稳定,使用steam++(Watt Toolkit),可以加快访问速度 2.创建一个仓库注册完后 选择your repositories new一个仓库 在repository name上,填写仓库名字,比如image,选择public,add a readme...
crypto
SSHCTF复现一、Cignin审阅代码 123456789101112131415161718192021222324252627282930313233343536373839404142from Crypto.Util.number import getPrime, getRandomNBitInteger, GCD, bytes_to_long, long_to_bytes, inverse# 从左至右依次为:获取随机素数,获取随机数,求最大公因数,把字节串转化为整数,?,??from secret import flag#从我的秘密文件读取flag (。・∀・)ノ゙p = getPrime(512)# 获取一个随机的素数p,2 ** 511 < p < 2**512key1 = getRandomNBitInteger(510)# 获取一个随机数key1,2 ** 510 <= key1 < 2**511k1 = GCD(key1, p)# 求得key1与p的最大公因数k1while k1 != 1: #...
string
一、C风格的字符串——字符数组字符串就是字符连贯起来的文本,相当于字符的集合,因此与字符是不同的类型,我们用双引号来表示这种类型,注意与字符的单引号区分开来 123"C++" //这是一个字符串"C" // 这也是一个字符串'C' // 这是一个字符 如何声明一个字符串我们可以使用字符数组来声明字符串 1char str[100]; 这将生成一个大小为100的字符串,但是未初始化 如何初始化一个字符串使用cin进行输入(仅适用于无空白符)与其他数组不同的是,字符数组的初始化十分简单 1cin >>...
webwp
攻防世界wp一、攻防世界 - get_post- 简单拿到题目,要求使用get方式提交变量 直接?a=1即可 但是地址栏无法直接post请求 此时切换火狐浏览器,使用hackbar插件 post b=2 直接获得flag 二、攻防世界 - view_source - 简单 根据问题描述,应该要查看网页的源代码,但是鼠标右键被禁用了,左键也不行 但是我们有键盘 使用F12快捷键即可 三、攻防世界 - disabled_button - 简单 进来发现一个奇怪的按钮,审阅html代码,发现有个表单 但是无法点击,按了没反应 看到里面有个”disabled”,我在想,直接去掉就行了 将disabled删除,这时候发现按钮可以点了 按一下得到flag 四、攻防世界 - cookie - 简单 使用火狐找到cookie,发现php源码泄露,访问 访问php文件,得到这个界面,说看response 前面一开始以为说的是http...
pointer
指针一、什么是指针我们知道,每个变量都是存储在内存中的,为了访问这些变量,内存中使用地址来标记变量的位置 而指针,实际上就是保存变量地址的变量 二、如何声明指针1typeName* pointerName = ; 例如 1int* p; 这被称为是指向int类型的指针 注意:C++是强类型的语言,即使指向的值相等,但只要类型不同,就不能认为是同一类型的指针 这个星号仅仅是声明指针变量,与后面的解引用不同(dereference); 当声明多个指针标识符时,每个都需要用*标记 1int *p1,*p2; 三、指针占用的字节数使用sizeof运算符,会发现不管指向什么类型的指针,都是占用8个字节 .rchbzymdsvph{} 实际上,在32位系统上,占用的是4个字节,64位系统上,占用的是8个字节 这也说明,指向int的指针,类型不是int,因为int只占用4个字节,其他类型同理
LateX笔记
Latex笔记一、模板、注释用%表示 \表示命令 \title 标题 \abstract 摘要 二、正文 chapter 章 section 节 subsection 小节 subsubsection 小小节 \par 分段 \newpage...