首先运行一下 python ether_v2.py
,这个程序需要输一串东西,而输各种东西都只能看到一个 You are too vegetable please try again!
。试图劫持各种函数,也发现对获取程序逻辑没有太大帮助,那么还是老老实实看字节码吧。
试着反编译了一下,但是也出错。把 dis 模块的代码拷过来调试,发现程序一开始就是个大跳转,而很多不会被执行的地方也有很多非法指令。可以按照跳转的顺序输出字节码,就能得到比较容易分析的结果了。
import marshal
from opcode import *