开启了OD载入播放器进行分析,发现如下问题:
1、播放器会进行翻录检测
2、防止虚拟机播放
3、视频播放后,可直接对内存操作提取出源视频

翻录检测:主要是对指定的文件名或进程名对比
虚拟机检测:是针对虚拟机特征码
视频提取:视频在解密后,源数据出现在内存当中。可直接进行HOOK保存到磁盘中!
破解播放器:输入正确激活码后,数据会保存到注册表内。直接HOOK修改下即可多机播放。
另外该播放器有个重大BUG(个人见解,不知算不算BUG),可实现无密码播放或提取源视频。
    下面我们一起学习下如何过虚拟机:
    首先,安装完播放器后,用OD载入播放器。我安装在C盘:C:\Program Files (x86)\EVPlayer,F9运行后有个错误提示:
 
本次使用 暂停法找关键位置 来过虚拟机检测。在调用的位置下好断后,运行起程序一直F8走。走到播放器内存段后,向上看:

0040882F    C74424 04 00060>mov dword ptr ss:[esp+0x4],EVPlayer.0100>; OK
00408837    8D5D 9C         lea ebx,dword ptr ss:[ebp-0x64]
0040883A    C70424 A010FE00 mov dword ptr ss:[esp],EVPlayer.00FE10A0
00408841    8985 70FFFFFF   mov dword ptr ss:[ebp-0x90],eax
00408847    FFD6            call esi
00408849    83EC 0C         sub esp,0xC
0040884C    8D45 A0         lea eax,dword ptr ss:[ebp-0x60]
0040884F    C74424 08 00000>mov dword ptr ss:[esp+0x8],0x0
00408857    8D4D 94         lea ecx,dword ptr ss:[ebp-0x6C]
0040885A    C74424 04 14060>mov dword ptr ss:[esp+0x4],EVPlayer.0100>; Can not work in virtual Machine
00408862    C70424 A010FE00 mov dword ptr ss:[esp],EVPlayer.00FE10A0
00408869    8985 70FFFFFF   mov dword ptr ss:[ebp-0x90],eax
0040886F    89B5 74FFFFFF   mov dword ptr ss:[ebp-0x8C],esi
00408875    FFD6            call esi
00408877    83EC 0C         sub esp,0xC
0040887A    8D75 90         lea esi,dword ptr ss:[ebp-0x70]
0040887D    8D45 A0         lea eax,dword ptr ss:[ebp-0x60]
00408880    89F1            mov ecx,esi
00408882    C74424 08 00000>mov dword ptr ss:[esp+0x8],0x0
0040888A    C74424 04 E1050>mov dword ptr ss:[esp+0x4],EVPlayer.0100>; Note
00408892    C70424 A010FE00 mov dword ptr ss:[esp],EVPlayer.00FE10A0
00408899    8985 70FFFFFF   mov dword ptr ss:[ebp-0x90],eax
0040889F    FF95 74FFFFFF   call dword ptr ss:[ebp-0x8C]
004088A5    83EC 0C         sub esp,0xC
004088A8    8D55 98         lea edx,dword ptr ss:[ebp-0x68]
004088AB    8D45 A0         lea eax,dword ptr ss:[ebp-0x60]
004088AE    895424 0C       mov dword ptr ss:[esp+0xC],edx
004088B2    8D55 94         lea edx,dword ptr ss:[ebp-0x6C]
004088B5    C74424 1C FFFFF>mov dword ptr ss:[esp+0x1C],-0x1
004088BD    C74424 18 00000>mov dword ptr ss:[esp+0x18],0x0
004088C5    8985 70FFFFFF   mov dword ptr ss:[ebp-0x90],eax
004088CB    894424 14       mov dword ptr ss:[esp+0x14],eax
004088CF    895C24 10       mov dword ptr ss:[esp+0x10],ebx
004088D3    895424 08       mov dword ptr ss:[esp+0x8],edx
004088D7    897424 04       mov dword ptr ss:[esp+0x4],esi
004088DB    C70424 00000000 mov dword ptr ss:[esp],0x0
004088E2    FF15 58C2D501   call dword ptr ds:[0x1D5C258]           ; QtGui4._ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_S4_S4_S4_ii
004088E8    89F1            mov ecx,esi

  Can not work in virtual Machine 这字符是不是很熟悉?在向上翻,找关键位置下断。重新加载播放器,F9在运行。最终我们发现一个可疑位置:

004082EE   /0F84 DC030000   je EVPlayer.004086D0
004082F4   |8D45 84         lea eax,dword ptr ss:[ebp-0x7C]
004082F7   |E8 84F8FFFF     call EVPlayer.00407B80
004082FC   |8B35 3CBDD501   mov esi,dword ptr ds:[0x1D5BD3C]        ; QtCore4._ZN7QString16fromAscii_helperEPKci
00408302   |C74424 04 FFFFF>mov dword ptr ss:[esp+0x4],-0x1
0040830A   |C70424 03060001 mov dword ptr ss:[esp],EVPlayer.01000603 ; VMWARE
00408311   |FFD6            call esi                                ; ??
00408313   |8945 88         mov dword ptr ss:[ebp-0x78],eax
00408316   |8D45 88         lea eax,dword ptr ss:[ebp-0x78]
00408319   |89F9            mov ecx,edi
0040831B   |8985 6CFFFFFF   mov dword ptr ss:[ebp-0x94],eax
00408321   |890424          mov dword ptr ss:[esp],eax
00408324   |A1 4CC0D501     mov eax,dword ptr ds:[0x1D5C04C]
00408329   |C74424 08 01000>mov dword ptr ss:[esp+0x8],0x1
00408331   |C74424 04 00000>mov dword ptr ss:[esp+0x4],0x0
00408339   |8985 70FFFFFF   mov dword ptr ss:[ebp-0x90],eax
0040833F   |FFD0            call eax
00408341   |83EC 0C         sub esp,0xC
00408344   |83F8 FF         cmp eax,-0x1
00408347   |BB 01000000     mov ebx,0x1
0040834C   |0F84 CE030000   je EVPlayer.00408720

  

VMWARE 这是不是也熟悉?前面讲了,它是对特征码来判断虚拟机的。于是我们把这字符串直接修改成别的后。F9运行,发现播放器启动了。
就这样跳过虚拟机检测了。

EV加密播放器的分析过程+过虚拟机方法的更多相关文章

  1. 零基础读懂视频播放器控制原理——ffplay播放器源代码分析

    版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...

  2. 视频播放器控制原理:ffmpeg之ffplay播放器源代码分析

    版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...

  3. 基于Stm32的MP3播放器设计与实现

    原创博文,转载请注明出处 这是我高级电子技术试验课做的作业,拿来共享一下.项目在安福莱例程基础之上进行的功能完善,里面的部分内容可参考安福莱mp3例程.当然用的板子也是安福莱的板子,因为算起来总共做了 ...

  4. FFmpeg简易播放器的实现-音视频同步

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10284653.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  5. ckplayer网页播放器简易教程

    前言 ckplayer是一款在网页上播放视频的免费视频插件,该插件兼容性强.使用简单.api齐全.另外,任何个人网站或商业网站在不修改右键版权的基础上都可以免费使用. 下面将对ckplayer的整个使 ...

  6. 基于MFC的Media Player播放器的制作(3---功能实现)

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 下面我们试试一下,按下退出Button退出播放器的功能: 首先,我们双击退出Button按钮,就会弹出下图的框: 上面的弄好之后我们就实现 ...

  7. 雷火神山直播超两亿,Web播放器事件监听是怎么实现的?

    Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播.在视频业务大数据平台中,播放数据的统计分析非常重要,所以We ...

  8. embed 隐藏播放器显示

    昨天在页面做音频播放的时候,客户要求仅仅有声音.不显示播放器. 百度搜到解决方法: <embed id="embed_sound_id" src="test.mp3 ...

  9. 自制 h5 音乐播放器 可搜索

    闲言碎语: 有好几天没有发表博客了,这也是因为一直开发音乐和完善我的博客项目,好不容易抽出时间总结一下这几天所做的东西,笔试又不断通知,实则匆忙 今天难得逃了一次课,就趁这时间,该写写就写写吧~~ 进 ...

随机推荐

  1. Agumater 增加基本数据上传下载能力

  2. axure rp extension for chrome怎么用

    1)打开文件(原型图)的resources文件夹>chrome文件夹>将文件axure-chrome-extension.crx拉至谷歌浏览器的扩展程序页面,点击确定添加 2)提示出错时, ...

  3. Visual Studio Code 下载安装

    1.官网下载:https://code.visualstudio.com/ 2.下载完成后,点开如果是黑屏的话,右键勾上.

  4. 图解冒泡排序及算法优化(Java实现)

    冒牌排序 基本思想 定义:冒泡排序的英文是bubblesort,它是一种基础的交换排序 原理:每次比较两个相邻的元素,将较大的元素交换至右端 (升序排序) 思路:相邻的元素两两比较,当一个元素大于右侧 ...

  5. 关于Nginx mmap(MAP_ANON|MAP_SHARED, 314572800)报错

    mmap 报错解决 今天修改了一下测试环境的Nginx的nginx.conf,然后做检测的时候报了一个错误 /usr/local/bin/nginx -c /usr/local/etc/openres ...

  6. hexo博客front-matter格式

    通用格式 Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量,举例来说: --- title: Hello World date: 2013/7/13 20:46:2 ...

  7. JS -- DOM(文档对象模型)

    认识DOM(文档对象模型) DOM(Document Object Model):定义访问和处理HTML文档的标准方法. DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). < ...

  8. pytest测试框架 -- skip跳过执行测试用例

      跳过执行测试用例 1.@pytest.mark.skip(reason=" ") -- 跳过执行测试函数 可传入一个非必须参数reason表示原因 import pytest@ ...

  9. oracle之二日志挖掘log miner

    日志挖掘 log miner 6.1 log miner的作用: 数据库恢复中有时会需要对Redo log进行分析, 要会使用log miner,以便确定要恢复的时间点或SCN 6.2 有两种日志挖掘 ...

  10. zookeeper(5) 客户端

    zookeeper客户端主要负责与用户进行交互,将命令发送到服务器,接收服务器的响应,反馈给用户.主要分为一下三层: 用户命令处理层 用户命令处理层的功能是读取用户输入的命令,解析用户命令和输入参数, ...