第五题《交响曲》的攻击时间在今天(月日)中午:00结束,意味着KCTF此次攻击赛势已经走过了三分之一的进程。
tekkens团队!以s夺得本题第一名!
成功攻击第五题《交响曲》的团队此次也创下赛事小高峰,共计3支团队。
最新赛况战况一览比赛到/3进程后的新排名是什么样的呢?我们一起来看一下。
我们可以发现,第一名到第四名的团队和上一场总排名保持一致,而第五名到第六名则全部变动。那么,前四名能在后面的比赛继续守擂成功吗?又会有新的黑马团队杀出来搅乱整个局势吗?我们拭目以待!
第五题点评crownless:
交响曲这道题是一道安卓逆向分析题,采用了称骨算命的算法设计。题目要求参赛者通过“命运值”反推出“生辰八字”,因此需要在理解算法的基础上通过编写脚本来破解“生辰八字”,饶有趣味。
第五题出题团队简介出题团队:妳的名稱過長
第五题设计思路由看雪论坛KwaiChing原创
0x00.注册码:to07
0x0.思路:
程序根据称骨算命的算法设计,以3.4两的命运反推出生日期(农历),并排除一九九五年二月初三之外相同出生日期
0x0.称骨算命:
出生年月日时八字对应不同骨重:
int[]yearWeightArray={7,7,9,,8,7,3,5,4,5,9,7,5,7,,8,8,6,9,6,8,6,0,6,,9,6,7,,5,9,8,7,8,5,9,6,8,8,9,,6,8,7,5,5,6,6,5,7,9,,0,7,5,6,5,4,4,9};int[]monthWeightArray={6,7,8,9,5,6,9,5,8,8,9,5};int[]dayWeightArray={5,0,8,5,6,5,8,6,8,6,9,7,8,7,0,8,9,8,5,5,0,9,8,9,5,8,7,8,6,6};int[]hourWeightArray={6,6,7,0,9,6,0,8,8,9,6,6};
骨重相加之和对应不同命运(见附件)
0x03.注册码就是出生年+月+日+时
年份限制在-之间
getTempDate():
if((this.tempY=)
(this.tempY=)){this.tempY=0;}
其中各时刻:
子(3:00~0:00)
丑(0:00~03:00)
寅(03:00~05:00)
卯(05:00~07:00)
辰(07:00~09:00)
巳(09:00~:00)
午(:00~3:00)
未(3:00~5:00)
申(5:00~7:00)
酉(7:00~9:00)
戌(9:00~:00)
亥(:00~3:00)
以字符串替代:
String[]hour={"3to0","0to03","03to05","05to07","07to09","09to","to3","3to5","5to7","7to9","9to","to3"}
0x04.getLunar函数排除符合结果中除特定年份和月份之外的注册码
if((this.tempY==)
(this.tempY==)){this.tempD=3;//排除和年}//排除特定月份if((this.tempM==)
(this.tempM==4)
(this.tempM==5)
(this.tempM==7)
(this.tempM==0)
(this.tempM==)
(this.tempM==)){this.tempY=;//排除特定月份注:年没有3.4两的骨重}if((this.tempY=)((this.tempM==)
(this.tempM==6)
(this.tempM==8))){this.tempM=3;//除和外其他年份3月没有3.4两骨重}if((this.tempY=)((this.tempM==)
(this.tempM==6)
(this.tempM==8))){this.tempM=9;//除和外其他年份9月没有3.4两骨重}if((this.tempY==)((this.tempD(this.tempM+))
this.tempM==this.tempD)){this.tempM=6;//年9月没有3.4两骨重}0x05.getHourWeight()函数中亦排除二月份卯时出生的八字:if((j==)tempH.equals(hour[6])){return63;//6.3两的时骨重和其他骨重(0.5*3=.5,)相加超出骨重值7.钱}
0x06.相关称骨计算详情见附件FateMe源码
原文链接: