CTF 中的 RSA 算法详解
CTF 中的 RSA 算法详解之前做题经常遇上RSA算法,每次都翻博客去查询感觉有点不便,于是想自己总结一下,背景啊总结啊这些就不说了,网上一抓一大把,直接说步骤
设:
明文信息m(message),加密后的信息c(cipher),公钥对(nnumber, eencrypt),私钥对(nnumber, ddecrypt)
加密公式$$c=m^e\ mod\ n$$
解密公式$$m = c^d\ mod\ n$$
加密过程首先选取两个大质数p, q$$n = p \cdot q\$$e 应该和$\phi(n)$互质,一般取65537,也就是0x10001
然后按照加密公式做着走就是了
解密过程由于公钥对我们已知,c已知,只需要求d,我们来推一下逻辑链
p, q 相乘生成 n —-> n 生成phi(n) —-> phi(n) 和 e 生成 d
所以我们只需要求到p, q就能够按照上述逻辑生成d用于解密了
p, q 是两个大质数相乘生成的n ,所以只要对n 进行因式分解 就能求到p, q
所以步骤如下
1. 求p, q上factordb.com直接生成p,q
2. 求ph ...
BUUCTF Reverse WriteUp 1
BUUCTF Reverse WriteUpeasyre直接拖进IDA分析,拖进PEID发现不是有效的PE文件
找到main函数,送分题
12345678910111213int __cdecl main(int argc, const char **argv, const char **envp){ int b; // [rsp+28h] [rbp-8h] int a; // [rsp+2Ch] [rbp-4h] _main(); scanf("%d%d", &a, &b); if ( a == b ) printf("flag{this_Is_a_EaSyRe}"); else printf("sorry,you can't get flag"); return 0;}
flag{this_Is_a_EaSyRe}
reverse1直接拖进IDA分析,是个64位exe可执行文件
shift+F12大法找到wro ...
Hexo 升级4.0 手记
Hexo 升级4.0手记[toc]
由于之前看自己的Next主题简洁是简洁,但是和wordPress上面花里胡哨的主题比起来还是差了很多,然后看见一个叫做Butterfly的主题非常不错,然而发现自己在生成页面的时候莫名其妙爆了一堆错,于是走上了升级Hexo 这条老路
错误示范网上流传了一堆方法啊,直接运行
1npm i hexo-cli -g
的确,hexo-cli 升级了,但是hexo 本体并没有升级,于事无补
1npm update
然后和上面的一样,hexo根本不会变,输入hexo version照样发现版本还是3.9.0,害人不浅
正确示范后面找到了一篇文章也是遇上了和我一样的问题
首先还是升级hexo-cli
运行
1npm i hexo-cli -g
然后安装npm-check 检查更新
12npm install -g npm-checknpm-check
这个过程会有很久的时间,开一把王者
然后是安装npm-upgrade,进行升级
12npm install -g npm-upgradenpm-upgrade
又是很久,又可以开一把王者,中途会出现问你版本 ...
Android Studio 模拟器启动失败的坑
Android Studio 模拟器启动失败的坑打开AVD的时候突然给提示了一个Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
然后搜索了一堆,都是叫你去新建一个ANDROID_SDK_ROOT的环境变量,其实这个没有半点作用
新建一个ANDROID_SDK_HOME的环境变量,内容设置为你想要安装虚拟机的目录
然后重启Android Studio,然后再重新打开AVD Manager,发现你的镜像已经空了,重新下载安装一个镜像,就能用了
Golang的import玩法
Golang 的import玩法1. 相对路径和绝对路径1234import ( "./mypackage" //相对路径导包 "github/myrepo/mypackage" //绝对路径导包)
推荐使用绝对路径,不然文件结构一变动啥都乱了
2. 点操作123import( . "fmt")
这个就相当于python里面的from fmt import *
之前的导入操作是
1234567import ( "fmt")func main() { fmt.Println("Hello world")}
采用点操作就可以变成
1234567import ( . "fmt")func main(){ Println("Hello world")}
3. 别名操作123import ( f "fmt")
就相当于python的imp ...