攻防世界——android逆向第五题

攻防世界——第5题

首先还是运行程序看运行的机制

攻防世界——android逆向第五题_第1张图片

他会提示你输入错误,这是我们解题的一个关键,提示我们相关判断的位置

那我们还是用jeb反汇编看看代码有什么吧。

攻防世界——android逆向第五题_第2张图片

经过分析,是调用过native层的ncheck方法,于是我们就分析一下native层

攻防世界——android逆向第五题_第3张图片

这里纠纷发现里与输入的flag比较的地方。图中有两个字符串处理的函数,我们分析一下

第一个是将字符串前16位于后16位交换位置

第二个方法就是每两个一组进行交换

因此,我们可以直接逆着解密就可以了

经过这两层后会得到这样一个字符串:QAoOQMPFks1BsB7cbM3TQsXg30i9g3==

显然这不是我们想要的答案

然后我们就返回jeb界面看看还有没有什么线索

 

攻防世界——android逆向第五题_第4张图片

 

看到这里就发现实现用a这个类里面的方法处理后再调用了native层的方法,所以最后一层解密就是这里。一看就是base64加密,知识换了一个加密本而已。使用脚本就可以解密啦。

答案:flag{just_ANot#er_@p3}

你可能感兴趣的:(攻防世界——android逆向第五题)