re学习笔记(20)i春秋-re-Nonstandard

新手一枚,如有错误(不足)请指正,谢谢!!
题目下载:下载地址
参考资料:
base16,base32,base64 编码方式的通俗讲解
Base16,Base32,Base64编码的介绍

IDA载入,找到main函数

Buf为读入的字符串,如果sub_401480()函数的返回值等于1的话则输出成功
则进入sub_401480()查看

所以先看看sub_401070()函数中对v1做了怎样的变换

下面是Base32加密,可参考文章Base16,Base32,Base64编码详细学习
然后分析一下sub_401000()函数,主要是对内存中字符串进行处理

也就是一个base32加密,字符集是zYxWvUtSrQpOnMlKjIhGfEdCbA765321
加密后的密文是nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===

然后开始写python脚本

import base64
origin = "nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7==="
biao = str.maketrans("zYxWvUtSrQpOnMlKjIhGfEdCbA765321","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567")
flag = base64.b32decode(origin.translate(biao))
print(str(flag,'utf-8'))

最终flag为<mark>flag{f1ag_1s_enc0de_bA3e32!}</mark>

全部评论

相关推荐

八极星:有什么不能问的,(/_\),这又不是多珍贵的机会,你有什么可失去的
点赞 评论 收藏
分享
烤点老白薯:他第二句话的潜台词是想让你帮他点个瑞幸或者喜茶啥的
mt对你说过最有启发的一...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务