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语言实现一些功能有些麻烦,需要这种更高效的语言了。

5pqX5oGL5LqG5Zub5bm055qE5Lq65oOz6Lef5oiR5Zyo5LiA6LW377yM5byA5b+D77yB5L2G5piv5rKh5aSE5aSf5LiA5bm05ZGi5bCx5Zug5Li65byC5Zyw5YiG5LqG77yM5omA5Lul5oiR5oqK6L+Z5Y+l6K+d5pS55oiQYmFzZTY05LqG77yM55yL5Yiw6L+Z5Y+l6K+d57uZ5oiR5pW056C06Ziy5LqG

posted @ 2020-05-19 18:56  DorinXL  阅读(252)  评论(0编辑  收藏  举报
👨‍💼