Abuei 发表于 2020-7-8 10:03:01

吉林省第二届CTF初赛 _2019_Reverse_Analysis

本帖最后由 Abuei 于 2020-7-20 21:22 编辑


根据伪代码的意思,先判断输入的字符串的长度是否是22,如果不说则直接报错,是则接着判断。
看for循环里,总共要循环22次,(&Str+i)这相当于Str,就是取Str里的字符,再加50和另一个字符串数组进行对比

如果二者不匹配则直接break跳出,全部匹配则成功。
所以现在就是要把上面的十六进制数组转成十进制再减去50转字符即可得到flag
脚本附上
hexarray=
for ch in hexarray:
    print(chr(ch-50),end="")
运行解密脚本得到


roger 发表于 2020-7-8 20:03:12

题目投稿和分析文章(writeup)的标题格式:比赛名称_年份_题目类型_题目名称 例如:wctf_2019_crypto_解密

您改一下帖子的标题,要不然我找不到对应的题目
页: [1]
查看完整版本: 吉林省第二届CTF初赛 _2019_Reverse_Analysis