PaperPlease
先查壳,发现没有,用IDA打开,比较简单,直接看main函数
先比较了一下前面几位输入的是不是和DASCTF{ }一样,然后调用了一下这个巨长的函数,打开看一下
可以看出是和一段数据进行了异或操作,off_4010点进去看看
可以看到一串数据,思路清晰了,直接解
1 | r = "5c715207e3abed7dfb7c8ea9c82d0e29" |
最后在加上DASCTF{ }就可以了
end
该程序逻辑其实也十分清晰,就是一道迷宫题,如下图所示,2代表前进七步,8代表后退七步,6代表前进一步,4代表后退一步。每前进一步就和amp数组里的值进行比较,为1则继续前进,不为1则退出,直到走到”#”的位置
找到了数据才顺藤摸瓜找到函数
看着这个数出来的是错的,看了大佬讲的才知道32位的程序每一步是4个字节,而IDAHEX显示的是单字节,要调整成四字节的才可以看出,把原来的数据类型改成unsigned,8列,四字节
计算一下就可以推导出结果
2622668662224422666