最近在使用AnyChartStock的图表,功能很强大,但下载过来是有水印的,虽然网上也有很多破解无水印的版本,但基本都是AnyChart的,AnyChartStoc的几乎没有。所以自己尝试着去除水印。

首先想到的是用Sothink SWF Decompiler或类似的反编译工具来反编译,然后再用flash来生成swf文件,这个方法首先要装这两个软件,另外Sothink SWF Decompiler找来找去找不到一个破解版,只好有试用版本,能查看代码,发现产生水印是在一个叫'StockTrail'的类里加入的,具体代码如下:

public function StockTrial(param1:Boolean=true) {
this.doRenderBitmap = param1;
var _loc2_:TextFormat = new TextFormat();
_loc2_.font = "Verdana";
_loc2_.size = 60;
var _loc3_:TextField = new TextField();
_loc3_.text = "AnyChartStock Trial Version";
_loc3_.autoSize = TextFieldAutoSize.LEFT;
_loc3_.setTextFormat(_loc2_);
var _loc4_:BitmapData = new BitmapData(_loc3_.width,_loc3_.height,true,0);
_loc4_.draw(_loc3_);
this.trialBitmap = new Bitmap(_loc4_);
this.trialBitmap.alpha = 0.15;
this.xmlFile = null;
this.trialWidth = _loc3_.width;
this.trialHeight = _loc3_.height;
super();
}

上面红色的‘AnyChartStock Trail Version'就是水印的文字了。但是测试版本的反编译工具不支持导入成完整的fla文件,所以只好另想办法。

  接着想到了是否可以直接修改swf的二进制文件来去掉水印文字,所以就用二进制文件查看器找开,找了半天也没找到AnyChartStock Trail Version的字样,看来没这么简单,所以就去了解了一下swf的文件格式,google了下,原来adobe提供了详细的格式说明,这个是链接

对照格式说明,原来手头上的这个swf文件的主要内容是经过zlib压缩过的,难怪找不到文字。于是就按照格式把文件的前8个字节去掉,生成一个新文件,然后把这个文件内容进行解压缩,得到解压后的文件,再用二进制文件查看器去看时就找到AnyChartStock Trail Version的文字了,接着全部替换成空格,再压缩回去,最后把去掉的8字节加上,测试了下,大功告成,呵呵。

  随便说下我用的二进制编辑工具,叫Bless,功能很强大。另外压缩和解压缩zlib使用的是openssl zlib 的方法。

最后分享该文件,欢迎下载。

AnyChartStock: http://pan.baidu.com/s/13PfL2

AnyChart: http://pan.baidu.com/s/1oqcuE

AnyChartStock去除水印方法的更多相关文章

  1. python利用opencv去除水印方法

    OpenCV(Open Source Computer Vision Library)是一个跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法 在python中可以利用opencv来去除 ...

  2. PS快速去除水印方法

    步骤 第一步:打开PS软件,鼠标左键单击左上角"文件"-"打开",选择一张图片 第二步:鼠标左键单击左边的工具栏"矩形选框工具" 第三步:鼠 ...

  3. Atitit.去除水印的方案

    Atitit.去除水印的方案 1.1. 查找水印的位置 Kegwa imgd posit zo ok le .. Auto find d zo troub ...manu easy 1.2. 还原去除 ...

  4. [Python]爬虫获取知乎某个问题下所有图片并去除水印

    获取URL 进入某个知乎问题的主页下,按F12打开开发者工具后查看network面板. network面板可以查看页面向服务器请求的资源.资源的大小.加载资源花费的时间以及哪些资源加载失败等信息.还可 ...

  5. ◆ 火狐浏览器去除JS方法:

    ◆ 火狐浏览器去除JS方法: 在火狐地址栏输入about:config   回车 在搜索地址栏中输入javascript.enabled 右键 当一行的中的,值由false变成trun,就OK了 . 

  6. html添加keyword,description帮助百度收录处理方法,jsp去除空白行方法

    1.将网页的title,keyword,description写成include包含文件,例如: top.jsp <%@ page language="java" conte ...

  7. delphi 编译的时候 把Warning去除的方法

    delphi  编译的时候  把Warning去除的方法 在 添加 {$WARNINGS OFF}

  8. PS小实验-去除水印

    PS小实验-去除水印 水印是一些品牌商覆盖在图片或视频上的一个商标logo或小文本,比如大家最讨厌的百度logo,作者本人也是比较讨厌水印的,让好端端的一张图片变得美中不足. 个人觉得用photosh ...

  9. pdf 移除密码 去除水印 批量去除水印 编辑文字 批量替换文字

    1.pdf除密码: http://pan.baidu.com/share/link?shareid=308194398&uk=370045712  2.去除水印:http://wenku.ba ...

随机推荐

  1. 开篇,UVA 755 && POJ 1002 487--3279 (Trie + DFS / sort)

    博客第一篇写在11月1号,果然die die die die die alone~ 一道不太难的题,白书里被放到排序这一节,半年前用快排A过一次,但是现在做的时候发现可以用字典树加深搜,于是乐呵呵的开 ...

  2. 剑指Offer37 二叉树深度与平衡二叉树判断

    /************************************************************************* > File Name: 37_TreeDe ...

  3. Sharepoint 高级筛选

    先看看效果吧.............. 默认情况下:不做任何筛选. 添加一个筛选条件: 条件:如果是int类型那么可以有> < = 等 如果是string的话那么就没有这么多条件,当然这 ...

  4. 基础面试题——Javascript

    1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String 2.js有哪些内置对象? 数据封装类对象:Object.Array.Boolean.Number ...

  5. IOS NSNotificationCenter 的使用

    在Android中,为了解耦各个模块的耦合度,我们会使用很多方式,当然最简单而且效率最高的方式就是使用事件总线的方式进行消息分发,但是Android中并没有自带的消息分发机制,需要使用第三方库,比如E ...

  6. python中列表 元组 字符串如何互相转换

    python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示: >>> s = "xxxxx ...

  7. JQuery、js判断复选框是否选中状态

    JQuery: var $isChecked = $("#id").is(":checked"); alert($isChecked); JS: var $id ...

  8. IOS版应用商店应用源码

    app商店 swift版 用swift编写的 应用商店 支持iPad iPhone利用了ios8过渡动画 支持横竖屏操作 源码下载: http://code.662p.com/view/11384.h ...

  9. 理解C#系列 / 核心C# / 常量

    常量 常量? 我对常量的理解就是在初始化完成后再也不变的“全局变量”. 定义常量 [const][空格][变量类型][空格][变量名称][=][值][:] const表示定义的是常量. 常量特点 常量 ...

  10. javascript数据结构——写一个二叉搜索树

    二叉搜索树就是左侧子节点值比根节点值小,右侧子节点值比根节点值大的二叉树. 照着书敲了一遍. function BinarySearchTree(){ var Node = function(key) ...