[SWPUCTF 2021 新生赛]fakebase
查壳:
双击吧:
简单的逻辑,不要怕那个循环,也不要去纠结那个循环。
首先看我们要找的是啥:b1嘛,也就是将flag每个字符转化成十进制后,再转成二进制,一个字符的二进制接后一个字符的二进制链接而成的字符串,再将这串字符串转为十进制。也就是b1
由除法原则我们知道,要想还原b1,首先得倒着来,其次能将这么大的一个数据转化成字符来脚本咯:(这是我参考某位大佬的脚本,不记得是谁了QWQ)
import libnum s_box = 'qwertyuiopasdfghjkzxcvb123456#$' s = 'u#k4ggia61egegzjuqz12jhfspfkay' for k in range(5): # ascii 最大为128 % 31 == 4 b1 = k for i in range(len(s)-1, -1, -1): # 倒序查找 b1 = b1 * 31 + s_box.index(s[i]) print(libnum.n2s(int(b1))) # 十进制转化成字符,libnum.s2n --> 字符转化成十进制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?