sys文件,开始不知道怎么处理,我拖进了sublime发现可能是PE结构
于是拖进了IDA,搜索字符串找到一个迷宫 通过迷宫的交叉索引 找到重要函数
16个字符换行 可以拼成如下迷宫
**************** o.*..*......*..* *.**...**.*.*.** *.****.**.*.*.** *...**....*.*.** ***..***.**.*..* *.**.***.**.**.* *.**.******.**.* *.**....***.**.* *.*****.***....* *...***.******** **..***......#** **.************* **************** 方案便是 dsssddsdsssdddsssdddddd
开始用 d = 'x38' s = 'x37' 始终不对头
后来百度得知.sys文件 按键应该是键盘扫描码而不是ASCII码 查键盘扫描码表
得 d = 'L' s = 'K' 最终计算得到flag
import hashlib k = 'dsssddsdsssdddsssdddddd' s = '' for i in range(len(k)): if k[i] == 'd': s += 'L' if k[i] == 's': s += 'K' md5 = hashlib.md5(s.encode('utf8')).hexdigest().lower() print 'flag{' + md5 + '}' ''' **************** o.*..*......*..* *.**...**.*.*.** *.****.**.*.*.** *...**....*.*.** ***..***.**.*..* *.**.***.**.**.* *.**.******.**.* *.**....***.**.* *.*****.***....* *...***.******** **..***......#** **.************* **************** d = 'x38' s = 'x37' dsssddsdsssdddsssdddddd K == 'x37' L == 'x38' '''