2018/4/20 RE第一记

    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)

你可能感兴趣的:(2018/4/20 RE第一记)