不吃不喝莽了8小时,终于冲了个单榜第二,师傅们也太猛了吧QAQ
然后想问下出题人地址,没什么,只想慰问慰问(
Check_1n
这题直接输出flag是我没想到的,白费了很多时间在检查前面有没有坑。
IDA打开检查字符串发现一串奇怪的东西,瞒猜是密文,交叉引用走过去下断动调发现并没有触发断点。
从头跟了两遍发现开机密码检查在这里,成功得到开机密码“HelloWorld”
然后来到这个界面,当然是毫不犹豫选flag啦
得到fake flag
V2h5IGRvbid0IHlvdSB0cnkgdGhlIG1hZ2ljIGJyaWNrIGdhbWU=
Why don't you try the magic brick game
但是可以知道真flag在打砖块游戏里,进去看它跑完后直接就输出flag了
BabyDriver
看到这题瞬间就想到了一周前和 Bayerischen 师傅的对话
Q:师傅我看CTF里好像很少出现驱动逆向,下次我们是不是可以出两个驱动搞一下?
B:驱动很简单的呀,直接静态就行了
Q:那就算法搞复杂一点逼你动调啊。再搞点什么驱动级反调比如什么KdDisableDebugger,估计很有意思
B:那也太复杂了吧,又要搭虚拟机又要双机动调,想想就麻烦
然后这回真就搞了个KD反调的驱动出来…我这算不算搬起石头砸自己的脚눈_눈
不过还好,这题算法没那么复杂,静态也能做。函数很少,很快能找到关键函数sub_140001380。可以看到这个规则有点多,粗粗一看像是三维还是四维迷宫。然后我把迷宫输出看了一眼
****************
o.*..*......*..*
*.**...**.*.*.**
*.****.**.*.*.**
*...**....*.*.**
***..***.**.*..*
*.**.***.**.**.*
*.**.******.**.*
*.**....***.**.*
*.*****.***....*
*...***.********
**..***......#**
**.*************
可以看到,如果不管那两个标记位,就把它当作一个普通的二维迷宫,是可以且只有一条路径能走到终点的。然后抱着试试看的心态当二维迷宫来做真就出了。
这题还有个大坑点是键盘扫描码并非是ascii码,找个表对照一下,就可以写出正确的输入路径了
右 0x26 L
左 0x24 J
上 0x17 I
下 0x25 K
正确路径输入:LKKK LLK LKKK LLLKKK LLLLLL
Chelly’s identity
这题体验就不错,一个简单的算法。流程大概就这样
然后这个简单算法就不多说了,就是按照输入的值对照box累计出一个值来对输入进行异或,比赛的时候为了省时间直接就上爆破了
|
|
WannaReverse
这题真刺激,真就勒索病毒分析,路径追踪追出来近600个函数调用,人都审傻了。(还好最后还是拿了一血
动调+阅读Wanncry病毒分析报告可以知道程序的一个大致流程:随机生成一个AES密钥,用于加密文件,然后用内嵌RSA公钥加密生成的AES密钥,并将加密结果保存在被加密文件的文件头部。然后在clickme.exe中可以得到RSA私钥。那解密流程就很清楚了,把文件头的RSA加密结果拿出来用RSA私钥解密得到AES密钥"30776159143604297789676442413079",然后用这个密钥对该文件的剩下内容进行AES解密,模式为ECB(模式这里坑死我了),就可以得到flag
|
|