2020/5/19 BUU_[ACTF新生赛2020]usualCrypt

下载下来,exe扔进去看看有没有壳:

没有,运行一下看看是干啥的:

很普通的界面,输入flag。

扔进IDA分析一波:

main函数主体也比较简单,输入——处理——判断。

我们进入sub_401080看看,这个函数是将我们输入的v10进行加密,然后存到v5里面。

加密主体跟base64差不多,但是注意这里有两个函数,第一个函数:

这个函数是将base64表处理。就是一个交换位置的函数。他将整个表分成了地址相连的两个数组。把两个数组的第6-14位进行交换。

交换完毕后是这个样子:ABCDEFQRSTUVWXYPGHIJKLMNOZabcdefghijklmnopqrstuvwxyz0123456789+/

最后这里还有另一个函数:

这个函数是大小写转换:

把原数据zMXHz3TIgnxLxJhFAdtZn2fFk3lYCrtPC2l9转化成:

ZmxhZ3tiGNXlXjHfaDTzN2FfK3LycRTpc2L9

那么我们倒退一下,因为base64是将3个8位数据转化成4个6位数据,我们不考虑过程,只看结果即可,将被交换的18个字母代入进去:

ZmxhZ3tiGNXlXjHfaDTzN2FfK3LycRTpc2L9

ZmxhZ3tiQXNlNjRfaDJzX2FfU3VycHJpc2V9

找个在线网站解密一下:

最后bb两句:

不学py真的不行了,c语言实现一些功能有些麻烦,需要这种更高效的语言了。

暗恋了四年的人想跟我在一起,开心!

原文地址:https://www.cnblogs.com/DorinXL/p/12918813.html