easycm WP(python的exe文件的逆向方法)

easycm WP(python的exe文件的逆向方法)


这是这次61d的比赛中的逆向题之一,同时也是一个逆向用python写的exe文件的一个模板。
首先查壳,无壳。
其次,注意到他是python写的exe文件,所以解题思路就是首先将其转为.pyc文件,然后再将.pyc文件转为.py文件,直接查看程序的源代码,进行分析。
第一步,将其转为.pyc文件。我们可以使用pyinstxtractor.py或者archive_viewer.py将其转换,命令行分别输入:python pyinstxtractor.py easycm.exe 和 python archive_viewer.py easycm.exe。
如果使用的是archive_viewer.py的话,他会显示出如下:
在这里插入图片描述
然后输入x easycm(程序名),回车,再输入生成的pyc文件名就可以生成pyc文件了。
但是需要注意的是,pyc文件有一个magic head,生成exe文件时会把pyc的magic head去掉,所以需要使用WinHex补上。
magic head:03 f3 0d 0a 00 00 00 00
此时的pyc文件(如果不是pyc文件修改后缀就可以了)就可以正常地使用EasyPythonDecompiler生成py文件了。
拖进Atom查看源代码,分析易得是将input的每一位与33异或后在进行base64加密,与R01ARlpRWEhPUlVATU1EU35IUn5STn5EQFJYXA==进行比较。
在这里插入图片描述
所以编写python脚本:
在这里插入图片描述
解出flag{pyinstaller_is_so_easy}

小白第一次写CSDN的博客,包括内容和排版在内有任何不足和可以补充的地方也希望多多指教!!

版权声明:本文为weixin_44013208原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。