zoukankan      html  css  js  c++  java
  • as3加密入门2使用非法变量名

    第二部分 使用16进制编辑器混淆as3变量名(推荐)
    修改as3变量名是目前最流行的混淆加密的方法(我也首推这一方法),使用起来也很简单。许多卖钱的加密软件都提供这种方法,但其实自己手动就可以做到,不必浪费钱财,而且加密软件是死的,直接对swf混淆可能产生错误,对自己写的东西,手动效果好得多。
    推荐软件(若有更好工具欢迎推荐):
    1.SWF 压缩/解压缩  SWF Compressor(免费软件)
    下载地址:http://www.dcomsoft.com/
    (可能被墙,可以直接下载附件compressor_decompressor.exe)
      compressor_decompressor.rar (1.01 MB)


    2.16进制编辑器 HxD(免费软件)
    下载地址:ftp://wa651f4:anonymous@mh-nexus.de/HxDchs.zip
      HxDchs.zip (788.54 KB)


    3. 任意一个反编译工具(如asv)
    先下载安装两个软件。
    以第一部分alchemy生成swf文件为例ALCSWF.swf。
    1.运行SWF Compressor File->Open ALCSWF.swf Decompress movie 保存ALCSWF_FWS.swf
    decompress movie.PNG


    2.将保存的ALCSWF_FWS.swf拖到HxD图标上(用HxD打开该文件)

    3.asv打开ALCSWF.swf 观察反编译出类代码文件
    asv.PNG


    4.以修改类名“Main”(替换为“;;;;” )为例
    HxD中
    ctrl+R 
    搜索 Main
    替换为 ;;;;
    注意钩上大小写敏感项
    全部替换。
    Hex.PNG


    同法替换
    ALCSWF->;;;;;;
    enterFrame->;;;;;;;;;;(注意被替换字符串与替换字符串长度要相同!)
    几点注意
    1被替换字符串与替换字符串长度要相同!
    2只能替换自定义的变量名、函数名、类名、包名,不能替换as3关键字!
    3一定要全部替换!
    注意保存原swf文件,每次替换后运行一下swf看是否还能正确运行,如flash player报错,可能原因是替换了as3关键字,被替换字符串与替换字符串长度不同,没全部替换等,需要重新来一次。
    替换完毕,再用asv察看结果如下:
    asv2.PNG


    4运行SWF Compressor File->Open ALCSWF_FWS.swf (刚替换完毕的swf)Compress movie 保存ALCSWF_CWS.swf即可。

    题外话:HeX编辑器还可以做简单的swf破解:
    以这个游戏为例http://www8.agame.com/mirror/flash/a/Arcuz/arcuz_agame_com.swf
    游戏设置了运行域,禁止本地游戏(这点其实很无聊)
    直接下载播放swf显示如下:
    arcuz_agame_com1.PNG


    使用asv察看源码发现是as2的,是这句"sitelock(urls_allowed);”代码在作怪。
    arcuz_agame_com-lock.PNG


    直接用上述方法,黑掉sitelock,本地成功运行:
    arcuz_agame_com-ulock.PNG

    arcuz_agame_com-unlock1.PNG


      变量名替换.zip (233.4 KB)

  • 相关阅读:
    快递全面实名制 再也见不到这些奇葩收件名
    遇到难题了,程序员们快来想个办法吧
    我为什么不鼓励所有的程序员写博客?
    如何选择编程语言?
    单机版FastDFS+nginx文件服务器搭建
    质量缩放
    abaqus应力云图
    冷镦钢 Kaltstauchstahl 易切削钢 Automatenstahl
    Latente Wärme
    Unterschied der Wärmedurchgang und Wärmeübergang
  • 原文地址:https://www.cnblogs.com/keng333/p/2301909.html
Copyright © 2011-2022 走看看