-
-
[原创] 第四题 神秘信号
-
发表于:
2024-8-21 20:08
9949
-
程序是python打包的exe,重点是识别它的版本,不然解压报错,版本号可以在python3.dll,编译日期也在里面,可以发现它版本是3.8.10,编译日期是2021
所以可以推断是官方的解释器
搜一搜网上说的那套东西可以把程序解压出来,重点是main.pyc和base64.pyc(为什么会发现这个,后续会讲)
用uncompyle6反编译main.pyc会报错,学习了半天加上猜测应该是compile了字节码在里面,要解决这个问题估计得改uncompyle6,估计前路漫漫,没得时间弄
采用笨蛋方式,下载python3.8.10的源码进行编译,在解释器里面插入日志,解释器位于ceval.c中,在比较的opcode中插入日志

打印出来日志如下:
可以看到最后比较的是
猜测是魔改的base64
再次修改源码,添加赋值opcode的监视


打印出来日志如下:
发现这个
猜测是魔改base64的table,通过搜索在base64.pyc发现这个字符串
其实到这就可以通过python调用exe的方式获输入输出进行穷举,奈何搞了一天输入输出老是有问题。
年龄大脑子笨,猜不出来答案,无奈只能硬啃。
把它的所有模块打印出来和正常的对比
发现多了个a
主动调用,发现是个code object,这是个什么鬼,百度看了下是complie的字节码
打印出来是这个样子
可以看到有异或操作
再次修改源码

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2024-8-21 22:30
被大帅锅编辑
,原因: