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 音乐播放器 可搜索
闲言碎语: 有好几天没有发表博客了,这也是因为一直开发音乐和完善我的博客项目,好不容易抽出时间总结一下这几天所做的东西,笔试又不断通知,实则匆忙 今天难得逃了一次课,就趁这时间,该写写就写写吧~~ 进 ...
随机推荐
- 关于Nginx mmap(MAP_ANON|MAP_SHARED, 314572800)报错
mmap 报错解决 今天修改了一下测试环境的Nginx的nginx.conf,然后做检测的时候报了一个错误 /usr/local/bin/nginx -c /usr/local/etc/openres ...
- 一些免费的API
Github 接口 Github 为我们提供了一些免费的 API 接口,利用这些接口我们可以开发一些工具. 接口文档地址为 https://docs.github.com/en/rest 下面是一个例 ...
- [程序员代码面试指南]递归和动态规划-换钱的方法数(DP,完全背包)
题目描述 给定arr,arr中所有的值都为正数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim,求组成aim的方法数. 解题思路 完全背包 和"求换钱的 ...
- 升级微服务架构1:搭建Eureka Server服务中心
Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例. 1.使用IDEA创建一个空的Maven项目做父模块 (也可以不用父项目,所有模块都用平行结构) 删除父模块src文 ...
- RXJAVA源码之多线程
在不指定线程的情况下, RxJava 遵循的是线程不变的原则,即:在哪个线程调用 subscribe(),就在哪个线程生产事件:在哪个线程生产事件,就在哪个线程消费事件.如果需要切换线程,就需要用到 ...
- BeautifulSoup与Xpath
BeautifulSoup 一 简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.p ...
- if-else 条件语句
1. 条件语句模型 Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳 ...
- php第七天-文件处理系统
0x01 文件系统概述 1.1文件类型 在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放. 如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须 ...
- Laravel Exception结合自定义Log服务的使用
Laravel Exception结合自定义Log服务的使用 第一部分:laravel关于错误和异常的部分源码 第二部分:自定义异常的使用(结合serviceprovider monolog elas ...
- SSH登录问题 .ssh/known_hosts和 ECDSA key
问题描述: fakerdeMacBook-Pro:~ faker$ ssh root@123.***.***.34 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...