bugku逆向笔记

逆向刷题

1.入门逆向
解压后用ida反编译在这里插入图片描述直接就可以看到flag的ASCII码,用c语言把他们输出,轻松拿到flag
在这里插入图片描述
2.easy-vb
用od打开,使用智能搜索,flag get

在这里插入图片描述
3easy_re
和上题基本一样,用od打开,搜索ASCII码,轻松找到flag
在这里插入图片描述
4.游戏过关
一个奇怪的小游戏,1-8每个数字输一次就可以过关
6,逆向入门
进去直接得到一个base64码,在线转成二维码扫码就行了
7,love
用ida将主函数反编译
在这里插入图片描述
从第三十行代码直接可以看到说s2和dest比较,来决定程序的输出,而s2可以直接得到
在这里插入图片描述只看s2还得不出什么,再通过代码可以知道dest与sub-4110b函数有很大的关系,打开这个函数
在这里插入图片描述
在这里插入图片描述
可以推测s2由flagbase64加密得到,将其解密,因为不会python,所以从网上找了个解密脚本,解密后得到flag
在这里插入图片描述

换一道自闭题

climb mountain

这道自闭题让我去学了od动态分析,esp手动脱壳,差点自闭
先下载,查壳

在这里插入图片描述

脱壳后用ida打开
在这里插入图片描述在这里插入图片描述随机数种子一定,可以找到rand(出来的数应该也是一样的
在这里插入图片描述将代码输出可以得到这张表,再通过if(sub-4110cd(v7)==19)可知,字符串长度为19,再通过下面的if语句可以知道字符串值只有76或82(l和r)题目要求最大步数,通过算法解得
不会写算法,网上参考的算法,以后再去学习,在这里插入图片描述输入后还是错的,观察后应该是sub41114f改变了值,用od载入,找到这个算法在这里插入图片描述分析汇编可得它将偶数位的数值异或4,解密得到RVRVRHLVRVLVLVRVLVL(flag)

file

elf文件,拖入ida反编译,要求找出丢失的文件,反编译查看主函数

在这里插入图片描述
flllag,k都是固定的值,v16通过文件输入得到,v15通过sub_400eb9得到,再通过*fllag!=(K^v16[k] ^v15[k])
可以知道v[16]即时从文件中读取的数值,再通过提示可以知道这个题目的flag就是文件的md5

在这里插入图片描述

在这里插入图片描述分析得出v15为str人-home的十六进制转换为十进制,strr-home也为固定值,可以在ida找到
在这里插入图片描述
在这里插入图片描述
所以可以通过逆运算即可得到v16,再写入文件计算md5即可得到flag,因为有不可见字符,所以用16进制写入文件,计算md5得到flag:flag{914a7b9df69eab5b74b9edb7070e53e8}
在这里插入图片描述

在这里插入图片描述

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

remiliasai

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值