18.10.10 实验吧----recursive
这题又和python有关,遇到python逆向就是来学姿势的
这是一个elf文件,在linux底下运行一波,就输出了一句话
拖进IDA中看一波
二进制文件在内部运行python解释器,It is created by Freeze,基本上这种情况都可以找到函数Py_FrozenMain,跟进
我们可以看到这个函数里有两个变量“PYTHONINSPECT”和“PYTHONUNBUFFERED”,之后都会调用函数getenv
函数说明:getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。
那么说明如果这两个变量都存在,会产生一些新的东西,我们修改完再运行一下,如下
其中Linux export命令用于设置或显示环境变量
运行完之后我们可以发现多了几个文件,喜出望外,怀疑里面有flag,结果如下
有没有感到一种层层递进的感觉,我们把最后一个文件拖到IDA中看一下
字符串也太多了,这怎么找,我们可以直接用strings搜索以及正则表达式来匹配,如下
.*在正则表达式中表示匹配任意文本