0x0EbuuctfWP
0x01 [GKCTF2020]BabyDriver(sys文件,键盘扫描码
一个sys文件,无壳,进ida分析,发现两个特殊字符串
判断算法:猜测是一个迷宫
去看另一个特殊的字符串:是个迷宫无误了
但是上下左右对应的字符串并不是ascii编码
由于是sys文件,是由键盘过滤驱动获取键盘扫描码来控制上下左右
https://www.supfree.net/search.asp?id=6386
最后得出路径为LKKKLLKLKKKLLLKKKLLLLLL,flag就是flag{403950a6f64f7fc4b655dea696997851}
0x02 [GKCTF2020]Check_1n
签到题,下载下来是个很有趣的exe
先查壳,无壳,拖到ida中找开机密码
看到strcmp,合理猜测开机密码就是HelloWorld
果不其然可以登进去了
在桌面看到flag.txt文件,然后发现一串base64,解码,是说去玩方块游戏
然后打开桌面上的方块游戏,游戏结束flag就出来了
在ida中也有一串特殊的字符串,但是base64解不开,后来才知道是base58,可以直接解出flag
0x03 [V&N2020 公开赛]strangeCpp
无壳,用ida看
根据关键字符串找到主函数
没有发现什么异常,但是程序无法跑成功,也无法下断点
在前面的putchar中发现了一段数据
调用这段数据的函数如下:
重点在result和红框的异或操作
查看result的生成函数:
有一个小于14549743的值,经过一些操作得到unsigned int类型的v7,赋值给了result,然后result=607052314
编写脚本:
所以flag是e10adc3949ba59abbe56e057f20f883e
ps:一些常用类型字节数