EV加密播放器的分析过程+过虚拟机方法
开启了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加密播放器的分析过程+过虚拟机方法的更多相关文章
- 零基础读懂视频播放器控制原理——ffplay播放器源代码分析
版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...
- 视频播放器控制原理:ffmpeg之ffplay播放器源代码分析
版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...
- 基于Stm32的MP3播放器设计与实现
原创博文,转载请注明出处 这是我高级电子技术试验课做的作业,拿来共享一下.项目在安福莱例程基础之上进行的功能完善,里面的部分内容可参考安福莱mp3例程.当然用的板子也是安福莱的板子,因为算起来总共做了 ...
- FFmpeg简易播放器的实现-音视频同步
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10284653.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- ckplayer网页播放器简易教程
前言 ckplayer是一款在网页上播放视频的免费视频插件,该插件兼容性强.使用简单.api齐全.另外,任何个人网站或商业网站在不修改右键版权的基础上都可以免费使用. 下面将对ckplayer的整个使 ...
- 基于MFC的Media Player播放器的制作(3---功能实现)
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 下面我们试试一下,按下退出Button退出播放器的功能: 首先,我们双击退出Button按钮,就会弹出下图的框: 上面的弄好之后我们就实现 ...
- 雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播.在视频业务大数据平台中,播放数据的统计分析非常重要,所以We ...
- embed 隐藏播放器显示
昨天在页面做音频播放的时候,客户要求仅仅有声音.不显示播放器. 百度搜到解决方法: <embed id="embed_sound_id" src="test.mp3 ...
- 自制 h5 音乐播放器 可搜索
闲言碎语: 有好几天没有发表博客了,这也是因为一直开发音乐和完善我的博客项目,好不容易抽出时间总结一下这几天所做的东西,笔试又不断通知,实则匆忙 今天难得逃了一次课,就趁这时间,该写写就写写吧~~ 进 ...
随机推荐
- Explain Plan试分析
注:以下是本人对Explain Plan的试分析,有不对的地方希望大家指出.关于如何查看Oracle的解释计划请参考:https://www.cnblogs.com/xiandedanteng/p/1 ...
- Eclipse获取工作空间跟运行空间
System.out.println(System.getProperty("user.dir"));//当前工作空间 System.out.println(Platform.ge ...
- Git 不能提交空目录?我也是醉了!
Git 不能提交空目录?我也是醉了! 背景 最近在提交文件时,因为是空的 Maven 项目结构,发现 Git 空目录死活不能提交,还以为是我自己在 .gitignore 文件中忽略了,在网上查了下,原 ...
- Javaweb项目重新编译方式
project->clean选中需要重新编译的项目确定即可 我不知道重新编译的说法是否准确,但是我喜欢这么叫
- Conscription(POJ 3723)
原题如下: Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16584 Accepted: 57 ...
- [Leetcode]148. 排序链表(归并排序)
题目 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: ...
- canvas学习作业,模仿做一个祖玛的小游戏
这个游戏的原理我分为11个步骤,依次如下: 1.布局, 2.画曲线(曲线由两个半径不同的圆构成) 3.画曲线起点起始圆和曲线终点终止圆 4.起始的圆动起来, 5.起始的圆沿曲线走起来 6.起始的圆沿曲 ...
- 基于DDD+微服务的开发实战(1)
1 DDD是什么? DDD是领域驱动设计,是Eric Evans于2003年提出的,离现在有17年. 2 为什么需要DDD 当软件越来越复杂,实际开发中,大量的业务逻辑堆积在一个巨型类中的例子屡见不鲜 ...
- C#开发PACS医学影像处理系统(十九):Dicom影像放大镜
在XAML代码设计器中,添加canvas画布与圆形几何对象,利用VisualBrush笔刷来复制画面内容到指定容器: <Canvas x:Name="CvsGlass" Wi ...
- Azure Cosmos DB介绍及演示
Azure Cosmos DB 是 Microsoft 提供的全球分布式多模型数据库服务.Cosmos DB是一种NoSql数据库,但是它兼容多种API.它支持SQL, MongoDB.Cassand ...