祥云杯 部分 re wp
这次就只复现感觉对目前自己有意义的题吧,那个驱动看了看,了解了大致过程,差不多就行了,如果没了解过驱动,没写过驱动,下次遇到驱动题,还是只能乱分析。
先说说对现在ctf的re部分的看法吧,考点越来越广了,感觉就是需要你见识广,几乎什么都了解,不然对一道题根本无从下手,windows的exe,linux的elf,驱动,,安卓的apk,python的pyc,windows编程,各种算法,甚至一些比较特殊的语言写的程序,比如说go,c#,lua,rust,还有各种题型,maze,mfc窗口check,windows窗口check,vm。如果对每种都比较熟悉的话,做题肯定是相对容易的,但实际情况是根本不能对每种都能掌握,特别是去符号的高级语言。所以对于ctf,我只能说打过的人都晓得,懂得都懂,个人认为还是主要将其当做一个抓要点学习,娱乐的比赛,当然也是个人看法。
最近也挺迷茫的,不知道干啥,马上也快大二了,也一直在思考,颓废了一阵,也就当休息了,希望能早点找到新目标。但是个人认为多思考方向远比漫无目的的学习要好。
Dizzy
本次re最简单的一道题,就是ida中f5不了,也好解决,跟着报错搜搜就行。
修改配置文件IDA 7.0\cfg\hexrays.cfg
MAX_FUNCSIZE = 64 // Functions over 64K are not decompiled
// 修改为:
MAX_FUNCSIZE = 1024 // Functions over 64K are not decompiled
然后f5,等待个几分钟,就发现加密过程就是+,-,^,都可逆,刚开始还用z3解,但是太多了,既然都可逆,就直接倒过来,加减互换就行了。
先用python得到算式
1 |
|
解flag
1 |
|
勒索解密
这道题是有学习价值的,可以用来学习<wincrypt.h> 这个windows的密码学库,里面提供了很多加密算法的api函数,可以去搜索,了解。这道题就是用了这个库,并将文件信息弄成了一个结构体,实际上就是HCRYPTPROV。类似于这篇文章中的类https://blog.csdn.net/neubuffer/article/details/16899905
这道题给了两个文件,一个是加密程序exe,另一个是加密后的文件flag.bmp.ctf_crypter。根据题目描述,我们可以在指定文件夹创建一个.bmp文件来方便我们调试这个程序,通过.bmp可以了解到原文件是一个图片文件。
开始分析,main函数里面的关键代码
然后看encrypt函数
然后aes中也是16个byte依次加密。后面需要注意的地方就是文件生成的问题了。
所以我们只用aes解密[:-0x84]就行了,这道题应该是想让我们用rsa解密得到原来的key,然后解密aes,但是那个key是可以用时间来得到的或者范围爆破。
也有文章已经将加密解密过程写出来了。
1 |
|
或者用python来解密
1 |
|
rua
好家伙,现在做个题还要配mac环境了,这道题去了符号表,还是得动调来看流程,看内存,题做不了倒是可以来学习salsa20https://zh.wikipedia.org/wiki/Salsa20。