-
-
[原创]CTF bugku 逆向 Mountain climbing writeup
-
发表于:
2019-2-19 22:48
7815
-
[原创]CTF bugku 逆向 Mountain climbing writeup
进入题目后,得到一个名为ConsoleApplication2.exe的PE文件,首先查看运行结果(病毒文件慎重,推荐虚拟机)

意思大概是让输入一个key,这个key经过运算之后得到一个maxnum,取运算的最大值,接下来,使用查壳工具查看是否加壳

发现该PE文件使用UPX加壳,接下来进行脱壳处理

随后使用IDA Pro打开查看,找到main函数

进入main_0

首先是生成一系列的随机数,随机数种子由srand(0xCu);指明,随后让输入key,存放于str中,长度为19,sub_41114F(Str);预处理key,接收key之后进去一个循环,然后根据key取随机数进行运算。根据if语句可以确定,输入字符的ASCII码经预处理后只能为‘L’(ASCII十进制为76)或‘R’(ASCII码十进制为82);
进入sub_41114F(Str);,在其内部调用中可以看到调用的其中一个函数结构如下:

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课