2018/4/20 RE第一记
2018-03-01 本文已影响0人
wanncy
2018/4/20 晚
近来一直在学习二进制方面的东西,还是学着写一些writeup,学着表述出来加深印象,也是对自己的一种督促吧!话不多说,进入正题。
i春秋RE之findkey
初次见到这个文件,本想拖到IDA里分析一波儿,可是不是PE/ELF文件,就拖到Kali里面用
file findkey
发现是个python的编译文件,便找到了那个在线的反编译网站,上传上去发现没有响应,找了其它,大家推荐 Easy python decomplier 赶紧下载,拖到里面反编译打开反编译后的文件,解释性语言真是反编译的好啊!妥妥地源码级别,看一下没什么算法:
ord(flag[i]) + pwda[i] & 255 != lookup[i + pwdb[i]]
逆着写了个脚本:
flag = [None for i in range(17)]
for i in range(17):
flag[i] = chr(lookup[i + pwdb[i]] - pwda[i] & 255)
flag = flag[::-1]
print(''.join(flag))
打印出flag:PCTF{PyC_Cr4ck3r}
小结:
1. get了一款工具 easy python decomplier
2.关于python 自定义列表的三中写法:
[None] * n
[None for i in range(n)]
list(range(n)]
3.python中列表转字符串的方法:
''.join(list_a)