实验吧 recursive write up
这是一个python写的文件 推测是用Freeze打包
所以必有一个Py_FrozenMain函数
分析函数有两个变量PYTHONINSPECT”和“PYTHONUNBUFFERED”之后都会调用getenv()函数
函数说明:getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。
所以cmd中我们直接
export PYTHONINSPECT = 6
export PYTHONUNBUFFERED = 6
(随便赋值就好)
注:Linux export命令用于设置或显示环境变量
./recursive 跑起来,发现多出几个文件 一个个拖进ida寻找字符串flag 发现是在第四个文件unstep_f67baaeb里面或者利用linux自带的正则匹配
strings ./unstep_f67baaeb | grep -0 'flag{.*}'