BUUCTF Reverse刷题笔记01(easyre、reverse1、reverse2、内涵的软件、新年快乐、helloword)

一、easyre

在这里插入图片描述
拉入ExeinfoPe分析
在这里插入图片描述
程序为64位,所以我们用64位IDA分析
在这里插入图片描述进入mian函数,F5查看伪代码
在这里插入图片描述

二、reverse1

拉入ExeinfoPe分析
在这里插入图片描述
程序为64位,所以我们用64位IDA分析,找到main函数,F5查看伪代码
在这里插入图片描述看不出来什么东西

shift+F12查看程序字符串
在这里插入图片描述发现可以字符串“{hello_world}”上交发现不对

再看程序字符串还有一处可疑之处
在这里插入图片描述跟进字符串,找到关键字符串
在这里插入图片描述跟进sub_1400118C0+C6↑j
在这里插入图片描述F5查看伪代码
在这里插入图片描述查看代码发现,之所以上交{hello_world}不对,是因为代码将‘o’转换成‘0’保存起来了,所以正确的flag是

flag{hell0_w0rld}

三、reverse2

在这里插入图片描述
拉入64位IDA分析
在这里插入图片描述shift+F12查看程序字符串
在这里插入图片描述发现可疑字符串,上交发现不对,有了上一题经验,感觉flag中某些字符可能被替换了

找到main函数,F5查看伪代码
在这里插入图片描述分析代码,将你输入的字符串存放到s2中用s2和代码中的flag变量进行比较,相同则输出“this is the right flag!”。但是观察代码第19行到23行发现,代码将flag变量进行了操作,将flag变量中存放的字符串中等于‘i’和‘r’的字符转变为了‘1’保存
在这里插入图片描述手动替换便得出最终flag

flag{hack1ng_fo1_fun}

四、内涵的软件

在这里插入图片描述
1、下载并运行程序
在这里插入图片描述2、拉入ExeinfoPe分析
在这里插入图片描述3、拉入32位IDA分析,找到main函数,F5查看伪代码
在这里插入图片描述发现还有个 main_0(),双击跟进查看
在这里插入图片描述发现可疑字符串,分析代码发现v2没有被调用,再根据程序所述

“这里本来应该是答案的,但是粗心的程序员忘记把变量写进来了,你要不逆向试试看:(Y/N)”

所以大胆假设,程序员是忘记将v2写进去了,所以我们直接上交

DBAPP{49d3c93df25caad81232130f3d2ebfad}

发现不对,再看题目说

“注意:得到的 flag 请包上 flag{} 提交”

所以我们将大括号里面的内容包上flag重新上交即正确了

flag{49d3c93df25caad81232130f3d2ebfad}

五、新年快乐

在这里插入图片描述
1、下载并运行程序
在这里插入图片描述2、拉入ExeinfoPe分析
加粗样式发现有一层UPX的壳

3、脱壳
在这里插入图片描述4、拉入32位IDA分析,找到main函数,F5查看伪代码
在这里插入图片描述分析程序
在这里插入图片描述所以flag为

flag{HappyNewYear!}

六、helloword

在这里插入图片描述
下载附件,发现是helloword.apk文件,是一道安卓逆向的题目

第一次遇到这样的题目,先下载工具APKIDE(APK改之理)

工具下载链接

https://down.52pojie.cn/Tools/

工具下载完成后,打开apk文件

找到main函数

然后就…直接得到flag
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值