作者:马健
邮箱:stronghorse_mj@hotmail.com发布:2008.08.03

一、入门级
原理:按照《用BCB实现超星格式转换为BMP格式》中说的方法调用Pdg2.DLL接口。
优点:简单明了,基本上把例子搬过来就可以了。
缺点:1、占用系统剪贴板,有时会很心烦。2、T3类PDG可能会丢插图层,或插图层色彩不正确。
应用:coolman早期的软件,及论坛其他一些人的软件,都用过这个方法。

二、剪贴板HOOK级
原理:在“入门级”的基础上,通过API
HOOK,避免对系统剪贴板的“实际”占用。这“实际”两个字,已经把方法完全说出来了。
优点:不再占用系统剪贴板,性能有所改善。
缺点:T3类PDG问题依旧。
应用:coolman中期的软件用过这个方法,其他人的似乎也用过。cheming的TC阅读插件,甚至同时使用3个控件进行后台解码,以加快速度。

三、COM级
说明:这次是第一次公开发布此方法,以前我只告诉过smartsl一次。
原理:Pdg2.DLL实现的其实是一个COM组件,按照微软的COM规范,COM组件必须实现某些接口。如果开发人员在开发COM组件时使用了现成的框架,某些接口可能自带——这点大概连CX的COM组件开发者自己都没有意识到,而知道的人可以直接通过接口,获取解码后的图像(DDB)。
优点:根本不需要与剪贴板打交道,也用不到API
HOOK,直接调用标准的COM接口即可,简单到没有任何悬念,当然前提是你要知道该调用哪个接口。
缺点:T3类图像只能得到文字层,插图层需要自己处理。
应用:Pdg2Pic
V1.00。我当年就是在用coolman的pdg2bmp&jpg&tif&pdf&txt时,对它占用系统剪贴板感到极度心烦才会想到去开发Pdg2Pic的,所以一开始就绕过了剪贴板。

三、API
HOOK级
说明:这次是第一次公开发布此方法,以前我只告诉过某人一次,并且给过他源代码,当然这是有某些前提的交换。
原理:通过API
HOOK,直接得到Pdg2.DLL解码后的DIB。
优点:上面所有方法得到的都是DDB,唯有这个可以得到DIB,速度有了很大提高,系统资源占用也有所下降。
缺点:T3类图像只能得到文字层,插图层需要自己处理。
应用:Pdg2Pic
V1.01中作为后备手段。

基于Pdg2.DLL的所有方法的共同特点:
1、容错能力太差,只要原始PDG文件有点问题,CPU占用100%、非正常退出那是家常便饭。
2、即使文件正常,只要翻页,内存占用就会增加,尤其是DjVu格式的PDG。CX程序员调用djvulibre的方法极度幼稚,对任何一个合格的VC程序员来说都是一个笑话,但是CX居然用了一个djvulibre就敢声称自己掌握了“小波图像压缩”,真是不服不行。
3、从接口上看,用Pdg2.DLL解码应该是可以解已知帐号信息(如本人帐号)的6xH,不过托各路高手的福,虽然我本人是CX的VIP,但是6xH对我来说一直是无缘的存在,所以也没有兴趣深入研究。

因此,从V1.01起,Pdg2Pic就不再使用Pdg2.DLL,其中的成果属于众人,任何个人都无权加以公开。

用Pdg2.DLL解码PDG的境界的更多相关文章

  1. OD: ActiveX Vulnerabilities

    通过一个精心构造的页面 exploit 第三方软件中的 ActiveX 已经成为一种惯用攻击手段,众多知名软件公司都曾被发现其注册的 ActiveX 中存在严重的缓冲区溢出漏洞,一个被广泛使用的第三方 ...

  2. 跟踪OceanLotus的新下载程序KerrDown

    攻击的方法 两种方法将KerrDown下载器传递给目标.一个是使用带有恶意宏的Microsoft Office文档,另一个是包含带有DLL side-loading合法程序的RAR存档 .对于RAR存 ...

  3. 海思H264解码库 hi_h264dec_w.dll 水印问题

    上一篇   海思h264解码库 , 实现了H264帧的简单解码,但更换相机后,出现了解码视频中央出现水印的问题,水印如下图 查找网络,基本就这一篇相关的,还没给出好的解决办法. http://bbs. ...

  4. PDG转图像、PDF的若干方法

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.05.26更新:2008.08.24 补充说明:此文成文较早,其中对Pdg2Pic.FreePic2Pdf的描述早已 ...

  5. PDG转PDF注定会文件膨胀、质量下降吗?

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.07.16更新:2006.07.20 事先声明: PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器 ...

  6. 海思h264解码库

    海思的dll,解码h264  解码后转出yuv12 dll自己百度下载  hi_h264dec.dll   hi_h264dec_w.dll   调用方法: if (H264Dec.Hi264DecA ...

  7. H264解码学习-2015.04.16

    今天看了不少,却感觉收获寥寥. 1.H264相关知识 因为RTP协议发过来的数据已经经过了H264编码,所以这边需要解码.补充一下H264的相关知识. 与以往的视频压缩标准相比,H.264 视频压缩标 ...

  8. C++ 纯虚函数接口,标准 C 导出 DLL 函数的用法

    CMakeLists.txt project(virtual) # 创建工程 virtual add_library(virtual SHARED virtual.cpp) # 创建动态连接库 lib ...

  9. ilbc编解码

    针对国内的博客或者技术论坛对 ILBC的论述都是把文章抄来抄去, 本人在此对 ILBC的具体代码实现详细列出代码. ILBC是由Global IP Sound公司提出的一种专为包交换网络通信设计的编解 ...

随机推荐

  1. 调整 WiFi 驱动设置让 WiFi 信号更稳定

    调整 WiFi 驱动设置让 WiFi 信号更稳定 修改 WiFi 驱动中 的设置,将 Power Saving Mode 的值改为 CAM.

  2. untra edit 自动补全

    选择“高级-配置-编辑器-自动完成”,勾选“自动显示‘自动完成’对话框”,并在其中定义好“当输入x个字符”时,自动补全.

  3. [转]HTTP详解(1)-工作原理

    1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...

  4. IIS调用批处理权限的处理[转]

    最近公司希望将Windows 2003升级为Windows 2008,做完安全设置后发现.net调用批处理拒绝访问的情况.网上很多说更改应用程序池的权限,建议不需要修改该权限,我这里强烈建议使用默认的 ...

  5. hihoCoder#1181(欧拉路径)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回中小Hi和小Ho控制着主角收集了分散在各个木桥上的道具,这些道具其实是一块一块骨牌. 主角继续往前走,面前出现了一 ...

  6. 基于人脸识别+IMDB-WIFI+Caffe的性别识别

    本文用记录基于Caffe的人脸性别识别过程.基于imdb-wiki模型做finetune,imdb-wiki数据集合模型可从这里下载:https://data.vision.ee.ethz.ch/cv ...

  7. Drools学习笔记2—Conditions / LHS 匹配模式&条件元素

    Rule的LHS由条件元素(Conditional Elements—CE)和匹配模式(Patterns)组成 Patterns被用来指示出fact的字段约束 每个约束必须为true才能让RHS的ac ...

  8. 11-02SQLserver基础--字符串函数

    数据库の函数 一.内置函数--字符串函数 1.--ASCII 返回字符串的首字母的ASCII编码 select ASCII('ame') select ASCII(xingming)from xues ...

  9. GridControl 隐藏Drag a column header here to group by that column

    解决方案: 打开设计器,找到OptionsView,往下拉设置showGroupPanel为false 

  10. DAY11-MYSQL视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...