查看: 351|回复: 0

[Reverse] 2019年6月打卡第二周_八十一难wp

[复制链接]
发表于 2019-6-11 09:15:01 | 显示全部楼层 |阅读模式
0x01.先运行一下程序,发现运行发生错误,但是都我们解题没有太大影响
333325cfefe3b0ac4f.png
0x02.用exeinfope查看程序是多少位的和加没加壳

459705cfefe5ddcd63.png
可以看出程序是32位的,并且是Microsoft Visual C++编译的,同时没有加壳
0x03.用静态分析神器 IDA Pro进行反编译

125645cfefe7aa7cfd.png
首先我们查找主函数 main,因为,所有程序都是从主函数main开始运行的,所以,通过main能
够很好的分析出程序的大概逻辑,然后,跟进main_0,通过双击函数名即可进行跟进
223895cfefe8d1a4cd.png
[size=9.75434pt]这就是整个main函数的运算逻辑,因为结尾是return。
[size=9.75434pt]然后对main进行分析.
561695cfefead48331.png
可以看到程序先执行的是一个xor运算,所以,我们第一想法是这可能跟逆运算有关系
我们都知道的逆运算:
+的逆运算是-
- 的逆运算是+
^的逆运算是^
[size=9.75434pt]* 的逆运算是/


[size=9.75434pt]然后继续进行分析
918405cfefee920e30.png
发现一个有意思的函数FindWindow,发现windows窗口,猜想一下,是不是发现ida.exe的窗口
会给我们产生什么影响,有可能。但是先不管,继续分析先
发现又是一个xor运算,这里同之前的一样
[size=9.75434pt]继续分析
80005cfeff02c5bd7.png
发现了三个特殊名字的函数,这里讲解一下,当ida不能根据原有函数进行显示时,会用ida自己命
名方式,即通过sub_函数入口地址的方式来命名函数
[size=9.75434pt]然后,我们对这三个函数分别进行跟进
694345cfeffdd9dea5.png

在这里我们又发现了一个同样的xor运算,但是我们在前面也发现了比较有意思的信息,
indebug,这里是不是对我们最后运算产生影响呢?我们先不管,如果最后结果有问题,我们再回
来继续思考。
跟进第二个函数
73735cfefff1cb93f.png
这里我们同样发现了同样的xor运算,处理方式和前面的一样。在前面我们发现了特殊的信息,
HIDWORD,MEMORY[],猜测这可能和内存高低位有关系,但是和后面的运算没大关系,所以我
们也可以先不管,有问题在
回来分析
[size=9.75434pt]跟进第三个函数
78445cff000ce5719.png
看到了有意思的信息,The last step,666,猜测可能最后的输出就是正确的flag了
下面我们同样发现了同样的xor运算,处理方式同样
大概的逻辑应该就是对指定的字符串进行五次xor运算,然后进行拼接得到最后的flag.
先按照这种逻辑进行写EXP.
[size=9.75434pt]0x04.写EXP
331685cff002b74f90.png

这里运用了数组来存储十六进制的字符,然后通过循环,对数组内的值进行^运算,然后,将运算
后的十六进制数转换为字符,进行拼接
涉及的python函数:
range():可以创建一个整数列表,通过for来循环遍历数组内的值
chr():将十六进制的数转换为字符
最后通过+=运算符来进行拼接字符,得到最后的flag
0x05.运行后得到最后的flag:

游客,如果您要查看本帖隐藏内容请回复

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
善莫大焉-2019
关闭

论坛公告上一条 /1 下一条

快速回复 返回顶部 返回列表