PBctf 2021
只做了个签到题
Re
cosmo
- 运行,提示输入flag,尝试输入,显示No;
- 逆向,找提示的字符串以及No,定位到判断的函数;
- 调试,找到输入,调试函数,发现函数应该是返回输入长度,需要38个字符;
- 看代码,有一个函数一次处理两个bytes,仔细看第一个参数限制了处理的逻辑,最后的else才是真正处理的地方;
- 看到常数转成10进制(4223091239536077)去github上搜索,发现adler32校验码的算法很像;
- 仔细看了逆向代码,发现不难逆,正向写一圈就知道怎么算了,然后写逆向函数;
- 提取中间的校验值,带入计算,其中大部分可以直接出答案,部分会有负数的情况,加模数65521再模可以防止出现负数的情况;
1 | # 导出的数据 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Exp!