• swf破解扫盲教程内存抓取法破解swf加壳(转载)


    http://bbs.9ria.com/thread-45137-1-1.html

    前言:之前作了两个swf加壳试验
    http://flash.9ria.com/thread-44239-1-1.html
    http://flash.9ria.com/thread-45096-1-1.html,
    全被flash023用内存抓取法破掉了.没料到内存抓取工具已经被使用得这么普遍,
    虽然还没sothink那样泛滥.今天干脆普及一下内存抓取工具的使用.
    一是为了让两次小实验有个结局,二是给使用加壳的人们题个醒-内存抓取工具已经开始大行其道,希望以此激励高手们发展防内存抓取的技巧.

    首先,加密只是防止被人看到源代码的方法,而并不是保护自己著作权的方法.真想要保护自己的权利,应该加的是lisence而不是加密(当然在一个无视作者权利的环境下,这只不过是一句空话).
    但是,我仍然认为所有代码可以并且应该完全公开,因为真正值钱的东西是原理,是服务,是文档,是技术支持,而不是那一堆只有机器能看得懂的代码.
    不管怎么样,我希望大家都能自重,之前的奥运福娃游戏可以说地丢尽了大家的脸(直到最近还有人拿那件事情大做文章).

    其次,衷心感谢flash023,askforone等朋友们的热心回复与帮助.

    言归正传,以我的第二次加壳文件破解为例:
    此加壳要想通过用直接反编译源代码,用as3层层去壳的方法破解,恐怕只有神仙能做得到.
    但如果使用正确的工具,只不过是点几下鼠标的功夫而已.

    推荐工具:
    1.asv2009(action script viewer,根据我的经验,比sothink那个不中用的东西强了不知多少倍
    这里还要感谢deepin3000提供试用:http://www.deepin3000.com/blog/index.php/archives/306)
    2.swf窗口吸血鬼(不再推荐使用,推荐更好用的工具swf reader请见下面更新)
    (不要当成flash吸血鬼,flash吸血鬼基本就是个废物,
    swf窗口吸血鬼,可以将运行时flash内存中全部的符合swf格式的ByteArray保存出来,
    可以从内存中提取我的破壳后原始swf,
    30天试用下载:http://www.swfvampire.com/
    当然,如果有更好的内存抓取器,欢迎大家提供)

    好了,下载安装好两个工具,下面就是大展身手的时候了:
    到这个主题的顶楼下载加壳swf附件encrypt_test2.swf
    http://flash.9ria.com/thread-45096-1-1.html,
    作为第一个试验品.
    使用flash player 10 运行swf,显示如下(速度可能有点慢,中间经过多次去壳):


    运行SWF窗口吸血鬼,点击window list框,选中Adobe Flash Player 10, 点击suck now,结果如下:


    依次delete掉前三个Main Movie,再open Empty SWF Movie 7.swf,发现,这正是去壳后内存中的原始swf.

    由于试用版swf窗口吸血鬼不能保存swf,这该怎么办?没法用asv看源代码啊!
    别急,点击flash player文件-创建播放器,另存为"原始.exe"不就保存下来了(感谢mbr提供方法)!
    不过,这样保存下来的是exe格式的,但这可完全难不到asv,直接将exe拖入asv图标上,asv会自动搜索exe中的swf,
    显示如下:

    open第5个swf,
    被保护的代码一览无余:

    哈哈!
    最后祝大家新年快乐!
    再贴一个东西,有兴趣看一下:(感谢mbr)
     new_test.swf (94.71 KB) 

    更新:
    一个更好用的内存提取工具http://www.swf-reader.com/
    (demo版可以无限制保存swf,而且可以过滤搜索swf:
    http://flash.9ria.com/thread-46123-1-1.html)
    简单教程(swf内存抓取):
    1.到http://www.swf-reader.com/downloads.php?cat_id=2 下载最新demo,
    2.解压文件,双击运行SwfReaderDemo.jar(需java支持,choose mode normal就可以)
    3.用flashplayer运行加壳swf附件encrypt_test2.swf
    4.file->Load swf from memory, process选择flashplayer.exe, Find swfs-> save swfs as...
    另外,这个东西据说可以秒杀目前几款主流加密工具(SWF Encrypt,DoSwf,SecureSWF)。
    总之,目前任何swf加密都难保证可靠性。
    另,上面附件是一个"重口味"的加密swf(加了三层壳,混入大量马甲,修改了变量名),
    没有实用性,有兴趣可以下载用swf-reader试验一下。
    看来加密还是混淆比较靠谱,有时间再总结一下as3代码混淆的方法...

  • 相关阅读:
    Androidproject文件下assets目录与res目录的差别
    tomcat 实现域名crm.test.com訪问
    全文索引--自己定义chinese_lexer词典
    Elasticsearch 之 慘痛部署(分片移位)
    iOS开发核心语言Objective C —— 全部知识点总结
    [LeedCode OJ]#28 Implement strStr()
    【Django】 gunicorn部署纪要
    PKI(公钥基础设施)基础知识笔记
    Cocoapods Undefined symbols for architecture armv7sarm64
    Android开发Tips(3)
  • 原文地址:https://www.cnblogs.com/finger/p/2497762.html
Copyright © 2020-2023  润新知