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 音乐播放器 可搜索
闲言碎语: 有好几天没有发表博客了,这也是因为一直开发音乐和完善我的博客项目,好不容易抽出时间总结一下这几天所做的东西,笔试又不断通知,实则匆忙 今天难得逃了一次课,就趁这时间,该写写就写写吧~~ 进 ...
随机推荐
- springboot x.x.x RELEASE pom 第一行报错解决办法
springboot x.x.x RELEASE pom 第一行报错解决办法 在pom.xml 文件的properties中加入maven jar插件的版本号 <properties> & ...
- 20190926-01Redis五大数据类型之List 000 027
- 提升开发幸福度-IDE配置
插件 vscode插件 Settings Sync Atom One Dark Theme Bracket Pair Colorizer Code Runner Dracular Official E ...
- web网站——apache和nginx对比02
nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...
- Node.js 从零开发 web server博客项目[登录]
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...
- Java基础语法(10)-面向对象之三大特征
title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...
- RFID了解
转载自为什么大家都抛弃传统标签选择RFID电子标签? rfid电子标签是一种非接触式的自动识别技术,它通过射频信号来识别目标对象并获取相关数据,识别工作无需人工干预,作为条形码的无线版本,RFID技术 ...
- php第一天-分支结构,循环结构,特殊的流程控制语句
1.单向条件分支结构 <?php if(true) { echo "yes"; } ?> 2.双向条件分支结构 <?php $a = 10; if($a < ...
- Flutter中如何方便的获取音视频的长度
此次主要是flutter集成im,在发送视频时需要加上时长,但是用视频controller只能在初始化时具备路径才可以可以使用:just_audio插件中的方法进行获取 详情看官方文档:https:/ ...
- pwnable.kr-cmd1-witeup
执行分析程序,知过滤掉了flag.sh.tmp字段,但在linux下可通过通配符匹配文件哦. 哦对,参数输入的命令中,没有环境变量的支持,所有文件和命令必须用绝对路径哦.