(未完)Writeup of Take the maze (reverse) in BugKu
来源:互联网 发布:java如何使用log4j 编辑:程序博客网 时间:2024/06/05 11:42
好题(可惜我还没做出来,只做到一半)
简述一下逻辑吧,首先观察程序,main函数调F5伪代码失败,看看函数尾是不是要修改栈指针。果然,修改栈指针后,跳出了F5伪代码。
观察一下main函数的逻辑:
开头有一个反调试,动调改跳转过了它,接下来进入一个功能不明的函数(猜测为加密函数),然后,动态调试竟然终止了……GG
然后开始静态分析,在输出‘succeed’语句前的if条件中有一个函数,进入这个函数观察代码逻辑,发现三个步骤:
首先是5个case,随后是label后的11个case,走后是4个case;
发现一个可疑字符串‘delru0123456789’,且前五个case对应着数字01234,后11个case对应着56789abcdef,但是这11个case之前有个-53的操作,于是这11个case相当于分成了0,1,2,3,4,5,6,7,8,9,10这11种情况(emmm对16进制数字的操作);
最后4个case每个case下都各自有一个函数,不难发现这四个函数中都藏有若干数组,分析逻辑后依次异或,得到由‘0’与‘1’组成的26*12的数组(应该就是map),再对4个case后所接的数值进行判断,发现惊喜——‘dlru’(down,left,right,up)
于是判断第一层case的5个字符(有个指向可疑数组的‘e’,暂时不知道是什么用途)起到了确定方向的作用,而第二层case的11个字符则是代表着步长,从0道10
成功逆推出走迷宫路径代表的字符串,接下来,就要直面一开始碰到的加密函数了。
GG,果然没怼出来。悄悄问了一波学长,学长说硬怼字节码解析什么的太浪费时间(手动滑稽),不如来一发爆破啊(恍然大悟脸)
(复习四级去了,四级考完去爆破)
(未完待·续)
- (未完)Writeup of Take the maze (reverse) in BugKu
- Writeup of love(reverse) in BugKu
- Writeup of Mountainclimbing(reverse) in BugKu
- bugku ctf Reverse 逆向入门 writeup
- bugku misc writeup(部分)
- 171210 逆向-Take the maze
- Nothing in the world can take the place of Persistence
- Take use of the line printer in Soc
- bugku几题writeup
- [Bugku]密码???[writeup]
- BUGKU web--writeup
- bugku writeup(misc_1)
- bugku writeup web
- Take care of the Details
- bugku ctf文件包含 writeup
- bugku杂项几题writeup
- bugku CTF练习平台writeup
- bugku Reverse Easy_vb wirteup
- Tensorflow实例:实现Word2Vec(Skip-Gram模式)
- halcon学习基础
- navicat for mysql还原备份psc后缀文件报Unknown storage engine 'InnoDB'
- DOM和BOM-day22-个人学习笔记
- 文章标题
- (未完)Writeup of Take the maze (reverse) in BugKu
- Ubuntu14-04安装redis和php5-redis扩展
- JavaScript--事件
- windows下搭建MQTT服务器--Apollo--LG二进制
- 线程二
- 成绩统计
- normalize.css用这个来设置默认样式,不要用reset.css
- 【头条】中国OpenStack开源力量都在解决哪些关键性应用?
- HDU6252-Subway Chasing