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 音乐播放器 可搜索
闲言碎语: 有好几天没有发表博客了,这也是因为一直开发音乐和完善我的博客项目,好不容易抽出时间总结一下这几天所做的东西,笔试又不断通知,实则匆忙 今天难得逃了一次课,就趁这时间,该写写就写写吧~~ 进 ...
随机推荐
- 20190923-01Linux帮助命令 000 009
man 获得帮助信息 1. 基本语法 man [命令或配置文件] (功能描述:获得帮助信息) 2.显示说明 表1-6 信息 功能 NAME 命令的名称和单行描述 SYNOPSIS 怎样使用命令 DES ...
- 干货:不同场景容器内获取客户端源IP的方法
摘要:客户端和容器服务器之间可能存在多种不同形式的代理服务器,那容器中如何获取到客户端真实的源ip呢? k8s已经成为当今容器化的标准,人们在享受容器带来的高效与便利的同时,也遇到一些烦恼:客户端和容 ...
- JQuery的Ajax实现注册检测用户名
Ajax(无需等待直接向服务器发起请求) (Asynchronous Javascript And Xml) :异步的 Google创新的一种js技术 实现方法一:比较原始没有封装的方法: //核对用 ...
- 来讲讲你对ThreadLocal的理解
前言 面试的时候被问到ThreadLocal的相关知识,没有回答好(奶奶的,现在感觉问啥都能被问倒),所以我决定先解决这几次面试中都遇到的高频问题,把这几个硬骨头都能理解的透彻的说出来了,感觉最起码不 ...
- Redis 6.0.8 紧急发布,请尽快升级!
大家周末愉快啊,今天分享一则重要通知. Redis 6.0.8 于 2020/9/10 日晚紧急发布!!! 可以看到这是一个紧急更新版本,使用了 Redis 6.0.7 Sentinel(哨兵)以及 ...
- 超详细!盘点Python中字符串的常用操作
在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...
- pycharm安装模块方法
一. 打开pycharm 二. 点开file 三. 点击Settings,点击Project Interpreter,选择右上角+ 四. 进入后,在搜索框搜索需要安装的模块,选中安装 击Project ...
- Spring系列之初识Spring Spring概述
初始Spring 啥是Spring? 下面这个就是Spring Spring当然不是上面那个Spring,Spring之所以命名为Spring是因为这个开源的轻量级的开源框架的出现给软件行业带来了春天 ...
- 论文:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention-阅读总结
Show, Attend and Tell: Neural Image Caption Generation with Visual Attention-阅读总结 笔记不能简单的抄写文中的内容,得有自 ...
- Redis的五大数据类型以及key的相关操作命令
Redis的五大数据类型 redis的数据都是以key/value存储,所以说,五大类型指的是value的数据类型 String 字符串,作为redis的最基本数据类型 redis中的string类型 ...