密文生成和加密运算是两个不同
密文是通过一系列加密运算直接生成的,dump出来就能用
第一层考点:魔改base58
里面稍微加了点混淆,且表也改了,因此不太容易看出这是base58的算法,但有一个显著的特征,他总是在在进行%58操作,因此通过这一特征也可以联想到base58
附魔改base58脚本
2020 GXZYCTF easyparse
题目在比赛的时候没做出来,赛后复盘发现硬件断点下错了,梳理逻辑后发现很简单。
第一层考点:下准断点
这是一个rust编译的程序,因此可读性较差,先找到输出对输出函数下断点
_$LT$std..io..stdio..Stdin$u20$as$u20$std..io..Read$GT$::read::h174af29f99bd8aef
每次执行这个函数都是从缓冲区读入一个字节,当所有字节都读完之后再一个一个字节验证,很容易联想到pintools爆破求解
但稍微耐心点调试发现加密过程很简单
密文是程序执行过程中生成的也需要dump
解密脚本如下
2020 GXZYCTF cyclegraph
第一层考点:dump内存
2020 GXZYCTF 天津垓
有两层加密,第一次的正确作为smc解密的密钥
第一层考点:去反调试
64位的程序发现有反调试
2020 GXZYCTF ez_mem&usb
Binwalk分离出一个压缩包,解开得data.vmem文件
2020 GXZYCTF 隐藏的信息
二维码补全
2020 GXZYCTF 武汉加油
binwalk分析一下
2020 GXZYCTF 简单misc
photo.jpg隐写了一个压缩包,解开有一个ctf.txt文档
2020 GXZYCTF GuessGame
看到log函数里面有merge,那么可以原型链污染了
2020 GXZYCTF PHP_UAF
进去之后可以看到是个一句话