攻防世界-RE-ReverseMe-120(主要是对Base64再深入熟悉一下)

本文分享了在CTF竞赛中遇到的base64解密算法应用实例,通过对一道具体题目进行分析,详细解释了如何识别并利用base64加密特性,最终成功解题的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

今天随机做了三题,但是感觉都是简单题,基本完成了pediy18-10,但是最后的shellcode执行上遇到了一点问题没有解决。其中有一道题,跟国赛中遇到的一题,让我很深的认识到base64加密算法的重要性。

分析

在IDA中打开,查看main函数,从最后的strcmp可以猜到是输入一个字符串,然后处理一下再与已知明文对比。
在这里插入图片描述
虽然有很多垃圾指令,但是通过动态调试可以知道哪些操作是有用的。动态调试得知关键代码在此
在这里插入图片描述
这里本来不熟悉,一查得知是base64解密。不得不拍拍脑袋。结合main函数里最后的处理,将you_know_how_to_remove_junk_code与0x25进行异或之后,再进行base64加密即可得到flag。
这里关键是想要个人总结一下对base64特征的识别。

总结

base64正向加密,每三个字节处理变成四个字节,生成一个长字节,再从这个长字节中查四次表生成对应的四个字符。反过来就是先将4个字符进行查表转化成四个字节,然后再四变三。具体的细节就不讨论了,特征应该是如此。对于base系列加密解密,查表与字节变换是核心,非常简单,以后应该留心不能再识别不出来了。

明日计划

  1. 攻防世界继续
  2. 接触Pediy18-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值