bugku-reverse题目-树木的小秘密

下载附件得到一个exe程序,双击打开让我们输入flag,此时应该想到"验证逻辑",程序是否会根据用户输入判断是否为正确的flag

打开 ida 对程序进行分析

第一步shift + f12搜 flag 看看有没有什么线索,分析后发现这是一个python打包的 exe (使用工具如pyinstaller将python脚本打包成可执行文件),因为图中的那些字符串都是python解释器的内部标志和函数。

于是决定转换方向,下一步使用 pyinstxtractor 对附件中的exe文件进行解包,当前操作适用于没有下载到 pyinstxtractor ,随便找个文件夹,在里面打开 powershell

然后下载

复制代码
git clone https://github.com/extremecoders-re/pyinstxtractor.git

下载后在刚刚的文件夹中就能得到 pyinstxtractor

双击进去,将附件中的 easy_reverse.exe 也放进去,再在里面打开powershell(直接在一个随便打开的powershell中进行目录跳转也可以)

复制代码
python pyinstxtractor.py easy_reverse.exe

然后就可以获得这个文件夹

在里面找找 .pyc 文件关于程序逻辑的部分,也就是主程序。发现了一个比较突出的。。。

用 uncompyle6 来反编译 .pyc 文件为 .py 文件,目前操作为,没有安装 uncompyle6 的操作,使用powershell执行:

复制代码
pip install uncompyle6

在 powershell 中切换目录到123.pyc的文件夹(也就是刚刚解包得到的文件夹)中,或者直接在指定文件夹中打开 powershell ,执行以下命令。

复制代码
uncompyle6 123.pyc > 123.py

在文件夹中找到123.py打开就可以看到一段 base64 编码编码后的flag

解码后得到

flag{my_name_is_shumu}

相关推荐
啥都想学点3 小时前
kali基础介绍(Resource Development 资源开发)
网络安全
apocalypsx8 小时前
CTF自学-SSRF(3)
web安全·网络安全
海星船长丶8 小时前
预编译与sql注入,正则回溯绕过,mysql常见绕过,报错注入7大常用函数
服务器·数据库·sql·mysql·网络安全
内心如初8 小时前
14_等保系列之安全管理体系建设思路
网络安全·等保测评·等保测评从0-1·等保测评笔记
运筹vivo@8 小时前
BUUCTF: [极客大挑战 2019]Upload
前端·web安全·php·ctf
运筹vivo@8 小时前
攻防世界: easyupload
前端·web安全·php·ctf
运筹vivo@9 小时前
BUUCTF: [极客大挑战 2019]BabySQL
前端·web安全·php·ctf
半路_出家ren1 天前
3.python模拟勒索病毒
python·网络安全·密码学·网络攻击模型·base64·病毒·勒索病毒
不凉帅1 天前
NO.4信息安全技术基础知识
网络安全·信息安全·软考·高项·加密