记 :2023CTF羊城杯-Reverse方向 CSGO ‘ ‘ 题目复现

前言

第二题,菜鸟入门。当初打都没写出来,现在复现一下;
羊城杯题目复现:
第一题 知识点 :DES算法 : Ez加密器
第三题 虚假控制流 py字典 MD5算法 ;;Blast

知识点,只是博主个人学习的点。

题目分析and调试过程

在这里插入图片描述

在这里插入图片描述
IDA打开后,随便看看,暂时看不出什么有用的东西。(这题真不该没出的,但当时插件都没装o(╥﹏╥)o,也不会猜,好菜)

仔细看一下右侧函数一栏,其实就有一个enc函数,先点进去看看,
在这里插入图片描述
fkReverse_ 再点进去看看,

在这里插入图片描述

这里就差不多可以看出fkReverse_是个base64编码的函数了, fkReverse则是base64码表。同时用Signsrch也可以看到base64,

在这里插入图片描述

结合上面,应该是有对base64码表进行一些修改的,在enc结尾下个断点动态调试
在这里插入图片描述

在这里插入图片描述
得到base64码表。

接着只需要对enc一直向上交叉引用,就可以到达目的函数了,可以看到一个runtime_memequal函数,对比的意思
在这里插入图片描述
点开发现,没有什么,用汇编看看

在这里插入图片描述

有了

拿来做一个base64自定义码表的解码就好

exp

import base64

str1 = "cPQebAcRp+n+ZeP+YePEWfP7bej4YefCYd/7cuP7WfcPb/URYeMRbesObi/="

string1 = "LMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ABCDEFGHIJK"     # 替换的表

string2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

print(base64.b64decode(str1.translate(str.maketrans(string1, string2))))

# DASCTF{73913519-A0A6-5575-0F10-DDCBF50FA8CA}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

znonono

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值