flare-on2023
type
status
date
slug
tags
summary
category
icon
password
很有含金量的题,有点小难,而且和平时做的差别很大,稍稍有点不对感觉,但是做起来能学到很多东西.
ps. 边记边写吧...挺大强度的后面怕忘了...另外这国庆怎么快没了...
X
dotpeek打开直接秒:
glorified_captcha@flare-on.com
(这flag格式和平时都不一样......)ItsOnFire
最好是新版jeb打开,会自动解析res资源,这里的字符串基本上都是从res里面提的,自己翻会很痛苦
和一般的题确实差别不小,这里的flag逻辑和游戏本身关系并不大,翻翻可以找到这个
MessageWorker
有可疑的地方一步步翻:
这里的类名混淆其实很有效,不仔细就容易看漏555
往下翻
找到AES逻辑,对图片进行解密
秘钥生成的逻辑:
iv上面有了
exp.py:
mypassion
上强度了... 10.4:基本上做了一半...慢慢看...
相当长的check逻辑,前面的并不是flag,也就是前面的部分需要保证成功运行过了即可(虽然听着简单,实际上很不简单)
main函数
框定了大体的框架,可以看出来输入方式以及部分输入位(这里的check就不是很严格,某种意义上在按暗示你前面不是flag了,不过确实没啥经验,前面还做了挺久)这里有一位shellcode汇编的爆破,可以用capstone枚举猜一下,还算比较容易
然后注册了一张表,后续都会从这张表里面调用函数
下来这一层,给出了input的整体框架:
***/***/***/***/***/
类似这样,每层会用/
切割检查其中的内容然后很多trick,直接放我目前的结论(估计不完全准确,但是能过就行)
里面有个tick的函数会计时,如果运行程序太快也会触发退出......(它的check不仅有exitProcess,还有前面的重启电脑、sleep、tick等等,也是需要注意看)
继续往下,到第二个斜杠了,目前就到这样:
0;;**R@brUc3E/1337aaa/0/*pizza
中间那个数会复制,放到后面文件名里的文件去,再往后是四进制 = 长度,0或1a均可,然后pizza是固定的,第0位随机即可然后来了个难点,这里需要往里面填shellcode,这里是不能硬过的,会影响下文,必须把所有shellcode缺失位全部填上......
可以观察我们需要填出来的函数:(高手学长师傅看出来这里是
InMemoryOrderModuleList
,v4大概是个这个函数GetExportedFunctionAddress64
)进到v4,第一个汇编就是0x65,即组成:
mov rax, gs:60h
这一段晚点补,有点复杂的
下一段
目前的input:
后面小nop一下,就有了(虽然不知道为什么最后没com)
总结的话,就是第五个part,那里的shellcode最难(啥时候来补一下wp,鸽)
上一篇
香山杯
下一篇
BuckeyeCTF2023
Loading...