贴上题目:https://pan.baidu.com/s/1CPj02KTrmNfNP6JCFRk26Q提取码:el57

flat

程序逻辑

  1. check1():判断输入字符串长度是否在50以内

  2. check2():判断输入字符串前几位是否为“flag{”

  3. check3():最后一位是否为“}”

  4. check4():14,19,23,28 是否为“-”

  5. check5():字符串进行字符替换比较

这里是llvm,https://security.tencent.com/index.php/blog/msg/112

脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
a = 'J2261C63-3I2I-EGE4-IBCC-IE41A5I5F4HB'
ans = ''

for i in range(0,len(a)):
if(ord(a[i])>=65):
ans+=chr(ord(a[i])-17)
if(a[i]=='-'):
ans+=a[i]
if(ord(a[i])>=48):
if(ord(a[i])<=57):
ans+=chr(ord(a[i])+48)

print ans

src_leak

func3<func2>这个函数的意思是测试x变为2进制中x含有多少个1,且含1的个数是奇数个

_fun1的意思是开根号,可以根据func1<>处函数可以看出得到result的条件是L=R,而在ifelse<>函数里面当n<midmid时L不变,R减小;当n>=midmid时R不变,L变大。并且保证这几个数和是可能中的最小值,所以反推output平方即是。

最后x6是1到10000有多少素数
flag{927369-19324816-44435556-3996001-9865881-1229}