既然选择了一个界面库,那么咱们就开始吧!

    既然是仿迅雷播放器,那当然要把迅雷播放器的资源提取出来啦,但是很多小伙伴可能不知道怎么提取,所以这里就教大家一些方法:
一、传统的资源提取器
    由于传统的界面都是有窗口句柄的,所以用ResHacker、ExeScope等工具就可以提炼出来,效果如下:
    可以看到不仅能看到所有图片资源,还能看到整个对话框的控件。但是如果想提取迅雷的资源,就只能看到下面的效果了~~~
    咦,怎么没看到和上面一样的Dialog、Bitmap等文件呢?
    这是因为迅雷的界面都是无窗口句柄的,并且主窗口是动态创建的,所以看不到Dialog资源,而它的图片文件不是放在VS的资源管理器里的,所以也看不到。其实这几个工具就相当于VS资源管理器啦,VS里看不到的,它也看不到,因此如果用这个,咱们只能看到版权信息等等。
二、DirectUI 资源提取器
    由于不能用传统工具,那么怎么办呢?可能有很多网友都知道QQ的资源文件都放在rdb里面,那么只要找到rdb,用rdb工具就可以把资源都提取出来啦。但是迅雷这家伙根本就没有类似rdb、zip的文件,甚至连类似skin的文件夹都没有,整个安装目录只有Res文件夹可以找到一些文件关联的图标。
    难道迅雷把资源都放到exe里面,或者放到dll里面,或者放到临时目录? 不用猜啦,即使放在某个exe或者dll里面,你又能咋样?难道弄不出来了?
    当然不是,如果你会逆向或权限限制等黑客方法的话,可以看到它在什么时候写了什么文件,访问了什么地方,它的任何一个操作都可以监视!纳尼,难道咱们要去学黑客?当然也不是,换其他工具就行啦,由于Alberl只是业余人士,对黑客方面不了解,所以就用MultiExtractor来提取资源啦。
    那咱们来试试效果:
1、在迅雷的【XMP.exe】上点击右键,然后选择【Extract its directory】,
选择【标准模式】,然后点击【开始】
再点【提取】,即可提取资源到当前文件夹的【Program-EXT】目录下。
不管它放在哪个文件里(例如dll、exe、zip等),都可以提取出来,QQ的rdb也一样哦~
如果是QQ的rdb文件,就可以看到所有的资源啦,但是这里可以发现这些图片貌似不太像,那就说明迅雷还做了其他处理!
2、没关系,我们还有一种方法:
在迅雷的【XMP.exe】上点击右键,然后选择【Extract】,
选择【标准模式】,并勾选【Memory scan loop】,然后点击【开始】
再点【提取】,即可提取资源到当前文件夹的【Program-EXT】目录下。
这个时候可以看到一直在扫描,文件也一直在增加,不过我们想要的图片已经出来了,这个时候就可以把迅雷退出了,记住,一点要退出迅雷,它会自动停止扫描。
这个时候我们关闭这个窗口,就可以看到文件了,
好啦,我们想要的按钮图片都在这里啦。
  这个工具的好处就是:不管像迅雷这样把资源放到什么地方,即使是加密了资源,或者把文件分成很多份乱序排列,总之不管用什么方法,只要加载到内存里面,它就能提取出来,最关键的一点是根本无需黑客知识哦~O(∩_∩)O~

仿迅雷播放器教程 -- 提取exe资源(12)的更多相关文章

  1. 仿迅雷播放器教程 -- 基于VLC的MFC播放器 (6)

        代码下载:http://download.csdn.net/detail/qq316293804/6409417   昨天的教程里写着预计MFC播放器会隔得久一点,但是今晚仔细看了下VLC的常 ...

  2. 仿迅雷播放器教程 -- duilib界面(13)

    经过了这么多篇文章的讲解,相信大家也对界面库有一定了解了,用一个新的界面库,肯定要对它进行全方位考察.鉴于公司目前所有的产品都是MFC做的,全部转换成duilib肯定不现实,并且公司的很多项目逻辑和界 ...

  3. 仿迅雷播放器教程 -- C++ windows界面库对比(11)

    从上一篇文章中可以看出,C++的界面方向还很弱,没有任何一个界面库可以一统天下,所以才造成了界面库百家争鸣的情况. 从时间上看: 1.出来最早的是QT,1991年就有了. 2.VC++ 虽然1992年 ...

  4. 仿迅雷播放器教程 -- 基于ffmpeg的C++播放器 (1)

    2011年12月份的时候发了这篇博客 http://blog.csdn.net/qq316293804/article/details/7107049 ,博文最后说会开源一个播放器,没想到快两年了,才 ...

  5. 仿迅雷播放器教程 -- 封装VLC (5)

        虽然上个教程中10多行代码便做出了一个播放器,但如果加上快进快退等功能的话,代码都会挤在一团,阅读性很差,所以这个版本将对VLC进行封装,由于第一个教程已经进行了ffmpeg的封装,所以这里将 ...

  6. 仿迅雷播放器教程 -- C++ 100款开源界面库 (10)

      (声明:Alberl以后说到开源库,一般都是指著名的.或者不著名但维护至少3年以上的.那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码.这里并不是贬低,像Alberl前面那个系 ...

  7. 仿迅雷播放器教程 -- 基于VLC的C++播放器 (4)

    经过前面的介绍,想必大家对VLC和ffmpeg都有一定印象了,还记得学习ffmpeg多么蛋疼吗?那么VLC会不会也这么蛋疼呢?     那么我们来看一段官方的Demo,Alberl精简了Demo,只留 ...

  8. 仿迅雷播放器教程 -- C++界面制作方法的对比 (9)

        上一个教程对比的5个方向共7个界面框架,都是非常权威,应用很广泛的库,绝对是非常稳定,并且能够做出常见的界面出来,可以放心大胆的用在项目里.     但那7个界面框架再好,也总是没有绝对的优势 ...

  9. 仿迅雷播放器教程 -- 十年经验大牛对MFC的认识 (7)

    由于上一个教程做界面用的是MFC,所以这里不得不说一下MFC的历史,请看正文:   原文链接:http://blog.csdn.net/sunhui/article/details/319551 作者 ...

随机推荐

  1. linux tail命令的使用方法详解

    本文介绍Linux下tail命令的使用方法. linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更 ...

  2. Git:本地建服务器及入门使用方法

    1. 安装与配置Git服务器 sudo apt-get install git 1.1 注册一个git账号, 用于运行和维护git sudo adduser git 1.2 创建证书登录: 收集所有需 ...

  3. HTML5 在canvas中绘制复杂形状

    作者:卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/32942667 一.绘制复杂形状或路径 在简单的矩形不能满足需求的情况下,画图环 ...

  4. Linux ./configure --prefix命令

    源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure).Configu ...

  5. GIS中栅格数据结构的显示与计算

    在GIS中,根据数据存储的表现形式不同,通常将空间数据分为矢量数据和栅格数据.最简单的区别是:当栅格数据放大到一定程度时,就会呈现出我们熟悉的讨厌的"马赛克". 栅格数据存储 最简 ...

  6. Vim命令相关

    在shell中,记住一些常用的vim命令,会在操作时候事半功倍. 光标移动 h,j,k,l,h #表示往左,j表示往下,k表示往右,l表示往上 Ctrl f #上一页 Ctrl b #下一页 w, e ...

  7. 系统编码、文件编码与python系统编码

    在linux中获取系统编码结果: Windows系统的编码,代码页936表示GBK编码 可以看到linux系统默认使用UTF-8编码,windows默认使用GBK编码.Linux环境下,文件默认使用U ...

  8. SSL介绍(Secure socket Layer & Security Socket Layer)

    一个应用程序的安全需求在很大程度上依赖于将如何使用该应用程序和该应用程序将要保护什么.不过,用现有技术实现强大的. 一般用途的安全通常是可能的.认证就是一个很好的示例. 当顾客想从 Web 站点购买某 ...

  9. 在 word 中对正文和目录进行分节显示页码

    使用版本 word 2016 使目录独占一页:在正文第一页的第一个字符前插入分节符下一页(布局--分节符--下一页),此时会在正文第一个字符前插入分节符.在之前插入一张空白页,用于插入目录.(插入 - ...

  10. PureFTP被动端口设置

    修改Pureftp的配置文件把 # PassivePortRange          30000 50000 把前面的#删除 重启pureftpd 注意把被动端口防火墙例外 如果是阿里云主机 安全规 ...