本文主要是介绍buuctf [ACTF新生赛2020]usualCrypt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:学习笔记。
常规: 下载 解压 查壳。
32位IDA pro打开
先查找字符串 在进入main()
分析:
关键函数:
第一部分:
大写转小写
小写转大写。
已知:
密文,以及加密过程由三部分组成。 那么逆向还原即可。
密文:
(咳 新学的 以前我也不知道。)
思路:
已知密文进行了 大小写转化 base加密,不过在base加密之前进行了位置置换操作。所以这是一个变异的base64加密。
可以编写脚本,也可以对IDA进行动态调试获取变异的base64(新学的,以前就哈痴哈痴的都写脚本。。)
用新学的,IDA动态调试去获取 变异后的base64表。
满足条件之后,然后去找就行。
变异之后:
ABCDEFQRSTUVWXYPGHIJKLMNOZabcdefghijklmnopqrstuvwxyz0123456789+/
所以 直接使用CyberChef去解密即可。(注意密文大小写转化哈。)
encode = "zMXHz3TIgnxLxJhFAdtZn2fFk3lYCrtPC2l9"
print(encode.swapcase())
# ZmxhZ3tiGNXlXjHfaDTzN2FfK3LycRTpc2L9
flag{bAse64_h2s_a_Surprise}
这篇关于buuctf [ACTF新生赛2020]usualCrypt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!