-
-
[原创]第二题 末日邀请
-
2022-5-13 00:01 3124
-
这里首先进行了值的计算,不过这里可以忽略,调试时候nop就可以了
之后计算了crc,此函数对输入进行了转换
之后进行一系列比对,逆转换推可得为 "KCTF"
这里进行了算法比较,没看出来什么puzzle,后边对其进行排序比对,得到这里填数游戏,填1-9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | res = [] def sub(num): return (( 0xffffffff + 1 ) - 0x37373737 + num)& 0xffffffff def check_it(num,v70): v23 = num + ( 10 * v70)& 0xffffffff v24 = sub(v23) if v23 < = 0x4b435445 : v24 = v23 return v24& 0xffffffff def paa(num,v70): if num = = 10 : print (res) return for i in range ( 1 , 10 ): v24 = check_it(i,v70) if v24 % num = = 0 and (i not in res): res.append(i) paa(num + 1 ,v24) res.pop() else : pass return paa( 1 , 0 ) # [3, 8, 1, 6, 5, 4, 7, 2, 9] |
得到顺序
后面有个xor计算,这个尝试后发现是无法成功的,前面有个对长度的判断,这里控制长度不进去就可以了
之前有个nop判断那里,多输入几次,会发现比较的值为7等多个值,不过猜测为7 (
那么运气好一点,试出顺序为4,2,1
flag为
1 | 421KCTF381654729 |
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
最后于 2022-5-13 12:30
被Emtanling编辑
,原因:
赞赏
他的文章
看原图