第40天:攻防世界-Mobile—黑客精神(续)
今天没做出来题,四点之前准备考试,四点之后一直整动态调试,还没调通,哪位师傅带带我啊。。。过了这几天就好好看书了,估计刷题到瓶颈了,又没人教,太难了23333.。
今天把昨天那道题补充一下,昨天的佛系做法太水了。。。。
从找到四个函数开始吧。
先分析n2。
打开一个文件,不存在则创建。
关键点在这里,v16和v17是一个地址,当然是相同的字符串了。可以发现v13和v19是固定的数,但是因为不知道v23所以求不出来v19,我TM动态调试就是个垃圾,两天了还没学会。。。。
最终就是把我们的输入和v19进行逐位异或,然后存回文件。
n3里调用了n1 所以分析一下n1.
一堆文件操作函数,没什么花式,最后就是比较文件内容。
到这里就有了思路,反求文件原来的内容,上边说了因为是异或操作,所以我们把这个明文输入,文件内容就是我们原本应该输入的字符串,也就是flag。(为什么输入就是flag呢?)
在n3里会给v4赋值,然后通过调用callwork传v4,有一个NewStringUTF
交叉引用,看看unk_2E68是什么。。。这里使用A键进行转换ascii,我TM是个智障,一直用D键,我还以为DCB有别的什么意思,还去问夜影师傅了。。。。。以后都没脸问夜影师傅了。我太智障了。。。。。
从这里知道输入即是flag。
本来还说弄会动态调试,写一篇总结,我现在很自闭。。。。来个大佬收了我吧,俺只想好好学习。。。(逃了)。