第40天:攻防世界-Mobile—黑客精神(续)

今天没做出来题,四点之前准备考试,四点之后一直整动态调试,还没调通,哪位师傅带带我啊。。。过了这几天就好好看书了,估计刷题到瓶颈了,又没人教,太难了23333.。

今天把昨天那道题补充一下,昨天的佛系做法太水了。。。。

从找到四个函数开始吧。

先分析n2。

第40天:攻防世界-Mobile—黑客精神(续)

打开一个文件,不存在则创建。

第40天:攻防世界-Mobile—黑客精神(续)

关键点在这里,v16和v17是一个地址,当然是相同的字符串了。可以发现v13和v19是固定的数,但是因为不知道v23所以求不出来v19,我TM动态调试就是个垃圾,两天了还没学会。。。。

最终就是把我们的输入和v19进行逐位异或,然后存回文件。

n3里调用了n1  所以分析一下n1.

第40天:攻防世界-Mobile—黑客精神(续)

一堆文件操作函数,没什么花式,最后就是比较文件内容。

到这里就有了思路,反求文件原来的内容,上边说了因为是异或操作,所以我们把这个明文输入,文件内容就是我们原本应该输入的字符串,也就是flag。(为什么输入就是flag呢?)

第40天:攻防世界-Mobile—黑客精神(续)

在n3里会给v4赋值,然后通过调用callwork传v4,有一个NewStringUTF

第40天:攻防世界-Mobile—黑客精神(续)

交叉引用,看看unk_2E68是什么。。。这里使用A键进行转换ascii,我TM是个智障,一直用D键,我还以为DCB有别的什么意思,还去问夜影师傅了。。。。。以后都没脸问夜影师傅了。我太智障了。。。。。

第40天:攻防世界-Mobile—黑客精神(续)

从这里知道输入即是flag。

 

本来还说弄会动态调试,写一篇总结,我现在很自闭。。。。来个大佬收了我吧,俺只想好好学习。。。(逃了)。