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的正则表达式上卡住了。最后是用在线网页过滤出来的。把两个相等条件加进去,就只剩最后十二条数据,再一比较就出了