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

☆樱花仙子☆ 提交于 2020-01-29 02:06:37

新手一枚,如有错误(不足)请指正,谢谢!!
题目下载:下载地址
参考资料:
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为flag{f1ag_1s_enc0de_bA3e32!}

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!