山东省 “中孚信息杯” 之时光机

时隔一年,我又碰到这个题了,后悔没当时在做阿里CTF的时候没有记录一份……好久没打比赛,当时看到题最后都懵了,真尴尬。

熟悉的界面,也就改了标题貌似。看一下反编译代码,也就两个关键点

一个是is算法

 

一个是判断时间是否结束,然后显示flag,还有对k加100还是减去1

 

然后这个flag的生成就是利用这个k值调用native方法生成的。神秘的k~

提取出来关键算法,然后先算出来k(1616384),hook掉big值,让if 直接走显示flag,另外一个是hook掉stringFromJNI2直接用算出来的k作为参数。在此我使用xposed进行的hook:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*