存档

文章标签 ‘破解’

好久没写了,今天再灌一篇。 一个flash小游戏里的TEA算法,hack一把,结果发现,decompile出来的as,改成js运行后,得到的结果跟原游戏运算出的结果是不一样的。 心想难道js跟as有些差别?不得已,去下了一个adobe flash cs3。 发现自己快不会用flash了,还是flash5时学了几天,做了点皮毛,主要也是那时为了应付交了一下某堂课的作业。想起来当时那老师也很好心,这个flash作业给了我满分。 不过今天对flash cs3感觉 很不顺手了。一开始就遇到个问题 ,在cs3中如何使用外部类?直接写一个,报错误“类不能嵌套”,搜了一把是写在一个.as文件里,就写在一个TEA.as里。 加入代码 import TEA; 结果又报错,说TEA没有实现,查文档,原来说是要放到一个包(package)里。那就放吧,放完发现还是不对,最后看了一下flash自己的实现,终于整明白了。先建一个crypto的文件夹,在里面建个TEA.as,代码这样: package crypto{ //crypto要跟文件夹名一致。 public class TEA{ //TEA跟文件名即TEA.as一致。public好像不能少。 …//省略 } } OK,可以运行了,然后发现,其实另存为flash 8的文档,就可以直接用不放在包里的TEA.as!晕倒。 运行发现,这个flash得到的结果跟html里的js算出来是一样的。敢情从下载flash起,事情就白做了。 最后没办法,回到sothink swf decompiler中,仔细看,看到一个疑点: var _loc11 = 2.671213E+009; 为什么是这样呢?算法中不应有这样的代码。打开raw code,找到这一行:  //96 09 00 06 ef e6 e3 41 00 00 20 37  _push 2.67121e+009 对比一下其它的_push语句,发现ef e6 e3 41 00 [...]

六 29th, 2008 | Filed under 破解狂