[WUSTCTF2020]level3--Reverse

下载代码,用die查壳

发现无壳,且为64位

拖入ida,按shift+f12看字符串

看到base64关键字眼,又看到d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD==具有base64明显特征的字符串

直接去解码

发现很奇怪,应该不是这样

选择try me 那一行,按ctrl+x查看交叉引用

点击ok,按f5反汇编

是base64加密,怎么解不出呢,猜测有可能是换表了

点击base64_encode函数看看源代码

再看看base64_table

表挺正常的

右键查看表的引用,发现了不对劲

多了一个函数,look at you

进入look at you 函数一看,表果然被改了

发现是对base64编码表的前20为进行了前后颠倒

编写代码

a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
a=list(a)
for i in range(10):
    b=a[i]
    a[i]=a[19-i]
    a[19-i] = b
a="".join(a)
print(a)

得到替换后的表TSRQPONMLKJIHGFEDCBAUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

进入网站编码

自定义base64编码

得到解码结果wctf2020{Base64_is_the_start_of_reverse}

最后将前面换成flag即可

flag{Base64_is_the_start_of_reverse}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值