as3加密入门-4使用avm2内嵌式汇编指令混淆简介

这篇教程介绍了如何使用AVM2的跳转指令进行AS3代码混淆,通过在源代码中插入无用的ASM跳转指令,增加反编译的难度,提高代码安全性。讲解了使用As3c工具进行编译混淆的步骤,并强调了虽然这种方法能有效混淆,但内嵌汇编的编写较为复杂,且可能导致代码维护困难。

(p.s.这篇教程也可以看做as3c的入门教程
这里主要是使用avm2跳转指令Jump,在在源代码中写入asm进行跳转,两个跳转中间插入大量无用代码(不会被执行,但反编译出的文件中看得到)
asv对跳转反编译不好,会出现“//unresolved jump”字样,sothink反编译出代码也无法实现原跳转。
重编译后,无用代码会被执行。总之,使用跳转指令后,as3代码基本上可以混淆到无法还原,要想破解,只能手动进行(人工翻译pcode),
所以只要你的原始代码够长,没人愿意去翻译/破解你的代码。

跳转指令好处就是大量无用代码不会被执行,混淆不会降低运行效率。
不太推荐跳转指令或asm混淆,因为内嵌汇编写东西比较麻烦(主要是现在avm2没有一个像as2时代的flasm那样好用的工具)。
当然,如果你能研究透avm2指令,使用asm像as3一样熟练,优化代码、加密、破解都不在话下。
as2可以用flasm直接操作(编译/反编译)bytecode,这是高手们作优化、加密、游戏作弊、破解甚至逆向工程的一件利器。
可惜flasm没再更新,只支持到flash8。不过幸好我们还有其继承者,Joa Ebert 的As3c,虽然可能使用起来不如flasm那么方便。

推荐工具:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值