vikeCTF Program With Jokes



文本编辑器打开附件。阅读理解题

![]()
VCTF ezre



附件拖入ida

第一个函数并不涉及输入,所以直接看第二个函数

观察到输入只在最后做异或操作,所以只要把需要异或的值提取出来就行。b64函数是被我更换过名称的,里面有base表,动调发现只是简单的换表而已,算法没变。

所以先base64解码。

再动调把异或值提取,做运算即可。脚本


UNbreakable-Individual Phase fake-add


附件拖入ida


反汇编页面没内容,但实际是在栈上进行操作


脚本


NKCTF REEZ



附件拖入ida


写入了一个文件。运行一遍后可以发现是可执行文件,并且该文件在程序结束后又被删除了。运行,复制一份出来
![]()
拖入ida


程序可以分成四部分。第一部分是建索引表,只不过是倒序的

第二部分是运算

第三部分是类矩阵乘法,但是多加了一步运算

第四部分是比较

程序应该是被混淆了,运算部分都是相似的,但不知道怎么去混淆所以直接硬写脚本。比较部分的异或好写,类矩阵乘法部分可以用z3求解。运算部分比较难写,我写了25个循环爆破每一位,但是要加break不然每位字符可能有多种结果会影响后面字符的结果


aliyunCTF 欧拉!


附件拖入ida。先检查格式和长度,大括号里的是[0,8]的长度为18的数字串

然后是限制条件。数据段是10行8列


其实就是(a[i],a[i+1])要满足下面的元组,并且唯一

搞了很久才受到点拨用图求解,然后发现是欧拉路径问题。只需要遍历所有边就行,直接交给GPT。脚本

所有遍历路径输出来后,又在python的正则表达式上卡住了。最后是用在线网页过滤出来的。把两个相等条件加进去,就只剩最后十二条数据,再一比较就出了


2677

被折叠的 条评论
为什么被折叠?



