开启了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. 现象:当指定logback的FileNamePattern为日期2020-01-15后,如果有线程不断的往里写log,过了零点文件不会变成下一日2020-01-16,还是会在2020-01-15里继续写 结论:写log的线程不停,文件不会按日子更换。

    logback版本:1.1.11 这个是我实验验证的,昨天我配置了一个logback,然后用两个线程不断往里写log,结果发现到了今天2020-01-16日,log文件还是昨天的logbackCfg. ...

  2. HTML模仿实现京东登录页面

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. .NET性能排查

    概述 1,性能参数 2,性能排查方式 3,.NET的性能分析工具 1,性能指标 一个系统的性能排查或者性能设计的前提就是要有明确的性能指标:常见的性能参数 1.响应时间(处理任务时的延迟,简称 RT, ...

  4. 关于给Tomcat设置maxPostSize的问题

    一.为什么要设置maxPostSize tomcat容器对传输数据的大小有限制,如果上传了超过此值的文件,就会报错,使得程序不能正常使用. 二.设置方法 找到tomcat目录下的/conf/serve ...

  5. python中unittest查找测试用例

    将整个BeautifulReport文件夹放到site-packages目录下

  6. 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)

    安装Apache&Nginx ①.升级一下yum源(不是必须的),升级会花点时间,需要选择的地方都选择都输入“y”即可 yum update ②. 安装Apache yum list |gre ...

  7. MySQL的事务机制和锁(InnoDB引擎、MVCC多版本并发控制技术)

    一.事务(数据库的事务都通用的定义) 1.1 事务定义 事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行.事务通常以 BEGIN TRANSACTION 开始 ...

  8. ECMAScript6入门学习--第一天

    ECMAScript与javascript的关系 ECMA是是一个国际标准化的一个组织,规定了浏览器脚本的语言标准,在上个实际,javascript公司Netscape把javascript托付给EC ...

  9. java 多线程-3

    十.同步机制解决Thread继承安全问题 创建三个窗口买票,共100张票.用继承来实现 方式一:同步代码块 public class RunMainExtends { public static vo ...

  10. 云计算openstack核心组件——nova计算服务(7)

    一.nova介绍:       Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova ...