(这道题也是本菜鸡在参加的所有CTF比赛中独立解决的第一道题,谨做纪念)
题目:
链接:https://pan.baidu.com/s/1ktDs3UPwUONpDKyIe0IlrQ
提取码:86n1
复制这段内容后打开百度网盘手机App,操作更方便哦;
查壳,C#编写的
dnSpy32打开, 定位到主函数
1 | // hardcsharp.Program |
由上面的代码,我们可以知道text是array[]和51异或后得到的结果,我们写个Python脚本求一下text
1 | array = [81,82,87,81,82,87,68,92,94,86,93,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18] |
text=”badbadwomen!!!!!!!!!!!!!!!!!!!!!”
我们发现它将text和text2经过aesClass.AesEncrypt()
处理之后和strB相比较,相等的话即正确
text2由代码可知是Nep{……},我们需要解出来的也就是这个
看一下aesClass.AesEncrypt()
1 | // hardcsharp.AesClass |
普及一下:
CipherMode.ECB:AES加密解密(ECB模式)
PaddingMode.PKCS7:AES的一种填充模式
另外注意Base64和UTF-8
那这样就好办了
在线工具:AES解密
flag:Nep{up_up_down_down_B_a_b_A_Nep_nep~}