seccon2023
type
status
date
slug
tags
summary
category
icon
password
jumpout
签到题,写了个小混淆反静态看,大概意思是将所有的
jmp addr
改成类似mov rax, addr; jmp rax
的操作,应该是写了个llvm
小工具之类的动调仔细看汇编即可,理论上可以自己修,但是没啥必要(而且也不太会,近期还得学学angr,qaq),这里只是做了三次异或
需要对栈上和寄存器的数据跟的比较清晰,这里的i其实没跟明白但是可以简单猜一下,实在不行就每轮都跟完也能出(异或么反正,每轮都拿一个最后值就行其实 ~)
exp:
Sickle
第一次见这个pickle加载payload反序列化调用shellcode的操作,具体其实还是不太会搞,这题
pickletools.dis(payload)
得到的结果感觉用处不大,知道有个xor
的信息,不知道怎么提取其实(等wp出来再复现复现)但是re么真不能太纠结过程吧,反正fuzz一下,嗯看一下bytes,猜测是一个rsa + xor + 倒序
的组合,参数很奇怪n是一个素数(开始以为要打,问了一下密码爷说不用直接可以解)解了第一段发现第二段参数不对,遂注意到xor
参数换了,然后么就出了...看这个flag内容感觉或许确实不太有动调工具,但是应该有方法起码把完整字节码反序列化拿到吧...但是确实没搞出来,晚点看看wp...
9-19: 原来可以直接改源码,增加print,这样直接就有完整流程了,orz
exp:
prefect-flu
9-17,没出还,很急,感觉确实有点点misc来的
也是第一次见,dvd iso,没搞清楚怎么提取逻辑
感觉可以参考是这篇:蓝光文件解析 - 知乎 (zhihu.com),但是里面的工具编译不出来,它的文件路径感觉是乱的,还没解决...
用vlc可以运行,点击很多button,会触发check逻辑一段一段播放视频,作为回显,逻辑应该是在
BDMV/MovieObject.bdmv
里面的(JAR里面明明确实没找到东西......)BDedit
可以打开这个bdmv,里面有一定的运行逻辑,但是里面是缺少check flag的逻辑的,目前是还没找到check到底在哪,急急急...9-18,看了别的师傅的wp,出了,一步之遥...
导入STREAM中的M2TS到这里的Menu里面,可以看每个button的具体逻辑...
这个
Call Object
不同的既是正确的flag,猜一下可以得到这个图(偷来的图)SECCON{
26 11 10 25 38 4 7 12 28 38 10 11 13 28 38 32 24 21 11 38 16 23 13 17 38 31 16 15 2 38 15 25 27 27 38 27 23
34 33 39
xuyao
一开始以为混淆的是check部分逻辑,因为确实有点点奇怪
结果混淆的是加密,将SM4的盒换成AES的sbox了(属于看wp看的,确实识别加密这块不熟悉qaq)
回来动调硬看一下可以发现这里
Feistel
的轮数都不对这里旋转的位数改了:
然后抄一个r3的exp吧,把表换一下,改天得再重新学学sm4算法了:
optinimize
第一次见的nim编译产物,抽象是有点抽象的,尤其这个符号表(有点当年第一次见rust的美感)
主动态来看,发现它输出flag的几位后就卡住了,本来想着是不是要考模拟执行,然后发现应该就是手动把整个流程复现出来,让他跑就完了
调一下发现主要就是在
Q_main
里面的P_main
卡住的然后不会了,只得看wp.....555555555555.....
这是模拟的代码,一样是跑不出来的(注意dump的时候都是QWORD格式,可以自己处理一下)
唉然后是优化,oi题来了......没太看懂,贴个wp吧...(r3大哥确实太高手了)
上一篇
鹤城2023
下一篇
长城杯2023
Loading...