一个加了壳的swf(后来知道是doswf的壳)
先preload挂个TheMiner,然后看loader的内容,脱去第一层壳。
反编译取出的swf,发现一个坑
显示出来的hugme啥用都没有。。。需要点击的那个hugme又没被正确加载。。需要自己做修改
然后才能看见真正的按钮
接着关键的判断逻辑。
然而Verify运行时才载入。。
于是再次脱壳。。。TheMiner没hook loadBytes,所以这里只能自己来
提取出这个函数运行然后把uncompress的结果base64一下,trace打出来。
然后再用python保存成文件。(不会actionscript的文件读写只好这么搞)
然后反编译保存下来的文件,发现校验过程其实就是个方程组
method3没用。。只要符合method2里的方程组,method3一定符合。
然后就是求解方程组得到一组解[14,0,1,14,14,14,13,0,9,3,12,11,2,2,11]
对应的flag e01eeed093cb22b
然而这才15位 。。根据readme的提示,枚举最后一位。。发现e01eeed093cb22bb是hello world的md5
故flag为e01eeed093cb22bb