自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 base64编码原理及代码实现

base64编码是一种以64个可打印字符来表示和传输数据的编码,通常base64编码的数据是没有含义的,base64编码后的数据要通过base64解码才有意义。

2023-01-01 17:34:17 958 1

原创 [WUSTCTF2020]level3

回想一下自己在纠结这道题算法是否出现问题时,想了很久却找不到思路,却一直没有想过是编码表可能出现了问题,为什么会这样呢,我相信很多人也会和我一样。究其原因,我们在分析程序时一般都是从main函数开始分析,却忽略了在main函数运行前,程序还会运行start函数进行初始化,而LookAtYou这个函数正是start函数中运行的_init_array段对于这部分的知识我暂时没有太多了解,等深入了之后再写篇博客专门说一下我的理解。

2022-12-30 18:01:15 255 1

原创 [ACTF新生赛2020]usualCrypt

sub_401000()将byte_40E0AA数组和byte_40E0A0数组的第6到15位元素作替换,双击任意一个数组可以发现其实byte_40E0AA是byte_40E0A0数组中从第11位元素开始截取的一部分。双击byte_40E0E4可以看到byte的元素(需要注意的是7Ah也是这个数组的一部分,选中这一部分元素按a将其转换为一个整体)再回到main函数,接下来是判断v5是否和byte_40E0E4相等,若不相等则报错,相等则继续向下执行。[ACTF新生赛2020]usualCrypt。

2022-12-02 18:35:51 176

原创 [MRCTF2020]Transform

熟悉的思路,查壳分析一路走。

2022-12-01 21:57:23 172

原创 [SUCTF2019]SignIn

_gmpz_powm(mpz_t rop, const mpz_t base, const mpz_t exp, const mpz_t mod)表示将base的exp次方除以mod的模赋值给rop。其中__gmpz_init_set_str(mpz_t rop, const char *str, int base)表示将str字符串以base指定的进制传入给rop。__gmpz_cmp()为比较函数,相等则返回值为0,不相等则不为0。接着写脚本,利用gmpy2模块求e的逆元d,反推出m的值即可。

2022-12-01 20:13:15 220

原创 python gmpy2模块、yafu的简单学习记录(RSA向)

假设小红想传输一段信息给小白,她只需要用公钥对信息进行加密,然后把加密过的信息传给小白,由于有且仅有私钥才能对密文进行解密,即使在传输过程中密文被第三者截取,也不会导致信息泄露,从而只有私钥持有者小白和发送者小红才能知道原始信息。大概了解了rsa的加解密流程,来到做题的重点部分,往往题目会告诉解题人e和N以及密文s(告知其它值也同理),要得到原文m的话,需要知道私钥d,而欲解出d,得知道phi(N),进而通过ed mod(phi(N)) = 1得解d。,这里d定义为私钥,d又叫做e的逆元。

2022-11-30 22:27:50 1571

原创 [WUSTCTF2020]level1

下载文件得到两个文件,一个无后缀的level1和一个output的txt文件,推测level1应该是可执行文件打开output看看。

2022-11-30 17:31:25 420 1

原创 [2019红帽杯]easyRE

这道题脑洞挺大的,我觉得更多是考验做题经验,考察解题人的思维,按照常规思路可能根本想不到去找一段不知道在哪被调用的数据,只能说是做的题多了,自然也就有把握了。

2022-11-29 19:13:08 134

原创 [GUET-CTF2019]re

从中可以看出v4是一个数组,那就把v4的定义修改一下,把它改成变量名为key,长度为32的数组,操作如下(y修改变量类型,n修改变量名)需要注意的是16号和17号元素顺序是倒过来的,在看伪代码的时候要注意到,同时还能发现key[6]是未知的。得到一个没有后缀的文件,拖进die里看一下,发现是upx压缩壳,直接用upx命令行工具进行解压缩就好。脱完壳后的文件再拖进die里分析,可知是linux平台的elf文件,直接放ida里分析。在网上看了别人的wp,得出以下的解决思路。查看这个字符串的交叉引用。

2022-11-29 16:01:35 857

原创 函数调用约定

人们为编译器创立了一些规定各函数之间的参数传递的约定,称为**调用约定**。常见的调用约定有以下几种:

2022-11-15 15:03:59 235

原创 BUUCTF CrackRTF

这道题考察的知识点挺多挺杂的,对windows api的了解和掌握程度,对杂凑函数的熟悉程度,对文件打开关闭函数的掌握程度,当然,还有python写脚本的能力。是一道很经典的题。

2022-11-08 10:28:52 412 6

原创 BUUCTF Mysterious

通过题目简介和下载得到的文件格式分析,该题需要对该文件进行逆向分析。

2022-10-13 13:32:12 1816 5

原创 BUUCTF reverse2

flag是去flag的地址,&flag+i有没有觉得和数组有些相似了(flag[i]),这个推理是没有错的,这里把flag当作首地址,每次循环地址加1,外边套一个*号,取这个地址保存的数据,这样是不是就明白了,如果这个值是‘i’或者‘r’,就把它改成1,这样就变成了{hack1ng_fo1_fun},

2022-10-02 20:34:53 200

原创 BUUCTF reverse1

然后是一个字符串比较函数strncmp,他有三个参数,最后一个参数是比较的字符数,而strcmp是两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇"\0"为止。

2022-10-02 19:49:58 171

原创 BUUCTF easyre

IDA分为32位和64位,32位版本用来打开32位软件,64位用来打开64位软件(具体为什么不太清楚,可能是因为32位和64位对应的寄存器有所改变吧)看到一个文件首先得知道它有没有壳,所谓加壳就是改变该程序的入口,使cs:ip指向另外一段代码,执行完额外的代码后再回到程序本来的入口,这样反编译软件就不能轻易进行反编译。’右边的注释显示了貌似是真的flag,为了知其所以然,我不直接将它视为答案,双击aFlagThisIsAEas,看看这个变量对应的内存空间到底存放了什么。

2022-10-02 18:26:28 2017 1

原创 逆向入门之路(学习路线和规划)

目录1.学习规划2.写wp的计划3.对自己说的话1.学习规划大三了重操 ctf,内心还是向往逆向,觉得自己还是得学点东西,不管是为了吃饭还是为了兴趣。学习计划是在学校专业课的基础上,自学《汇编语言》,《Windows 程序设计》,《windows 环境下的汇编程序设计》,《啄石成器》,《python》,《加密与解密》,《逆向工程原理》。截止至 22.9.29 发稿前,8086 汇编已经学完了,目前正在学 win32 汇编和 Windows api,给自己下的命令是这个学期至少得把《Windows 程序设

2022-09-29 09:10:51 2239 3

空空如也

空空如也

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

TA关注的人

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