看雪Ctf 2019
神秘来信
IDA反编译, 然后看算法, 输入6个字符, 第4, 5, 6位分别为3, 5, 3
前三位加起来等于149
然后一个循环
v3 = input[0] + 16 0 - 48
v3 = input[1] + 16 v3 - 48
…
v3 = input[5] + 16 * v3 - 48
动态调试以后发现会把输入的6个字符变成一组hex, 然后看到地址0x401353处有点可疑, 尝试输入, 就成功了…有点迷, 挖个坑有时间研究一下
失落的岛屿
看了下逻辑大概是输入0x30字节, 然后base64, 然后一波变换
base64的字符表也是非常规的:
tuvwxTUlmnopqrs7YZabcdefghij8yz0123456VWXkABCDEFGHIJKLMNOPQRS9+/
那么就是写出来前面的变换算法的逆算法, 然后用这个字符表解base64
逆算法:
m = '!NGV%,$h1f4S3%2P(hkQ94==' |
得到aMTEeld6q4tHserKh69Jyt==
用工具Converter.exe
指定编码表即可得到flag