分析如何直接绕过超时代VPY视频播放器的播放密码
声明:仅技术交流和学习!
前言:
你有没试过在网上下载一套视频,因网盘限速整整开机下载好几晚,下完后打开发现加密了,又找不到卖家注册。心里是几万只草泥马飞奔啊。
于是不甘心和好奇下,偿试自己破解。
目前该软件作者已停止更新。
今天就来分析如何绕过超时代VPY加密视频播放器的播放密码(自己下载个视频加密器随便加密个视频偿试)
1、打开界面,没有密码的提示如图:

如果要观看,需要播放密码。本次因没有播放密码,我们要分析下试试能不能直接破解绕过注册直接播放。
2、我们直接载入OD里,F9运行。运行后在本进程空间内找字符串,发现:CheckPassword 关键位置

双击字符串后,来到相应地址,反汇编窗口直接下断随便输入密码后点击播放,程序直接断下后F8分析。

程序断下后,F8往下走发现在校验密码:

对流程不熟悉,我们直接往下走一遍看下它错误的密码提示在哪。然后找关键地址进程PATCH。
经过错误偿试后,来到这个关键位置:

本次是进行破解,并不是分析它的密码算法。所以具体算法省略。。。。。。。。。。。
F8往下来到这个点。
00682726 8B83 08040000 mov eax,dword ptr ds:[ebx+0x408] ; 压入机器码
0068272C 50 push eax
0068272D 8B83 0C040000 mov eax,dword ptr ds:[ebx+0x40C] ; 视频编号
00682733 50 push eax
00682734 8B83 14040000 mov eax,dword ptr ds:[ebx+0x414] ; 未知
0068273A 50 push eax
0068273B 8B83 10040000 mov eax,dword ptr ds:[ebx+0x410] ; 2 ??
00682741 50 push eax
00682742 8B83 B4030000 mov eax,dword ptr ds:[ebx+0x3B4]
00682748 0FB680 60030000 movzx eax,byte ptr ds:[eax+0x360] ; 未知
0068274F 50 push eax
00682750 8D83 1C040000 lea eax,dword ptr ds:[ebx+0x41C] ; 未知
00682756 50 push eax
00682757 8B8B 04040000 mov ecx,dword ptr ds:[ebx+0x404]
0068275D 8B55 FC mov edx,dword ptr ss:[ebp-0x4]
00682760 8B83 00040000 mov eax,dword ptr ds:[ebx+0x400]
00682766 E8 69B3FDFF call IT资源社.0065DAD4
0068276B 85C0 test eax,eax
0068276D 74 41 je XIT资源社.006827B0
红色的CALL就是密码算法具体CALL,经过计算后会影响EAX的值。EAX的值会影响后面的JE是否跳转。这个JE就是关键,如果不跳直接会报播放密码错误。
于是断定这是关键位置(前面F8把程序跑了遍发现)。直接将它改为JMP。你会惊讶的发现,视频直接播放了。直接就成功完成了本次任务。
本篇分享的仅是技术交流和学习,作为学习破解入门或逆向分析的一种思路。
分析如何直接绕过超时代VPY视频播放器的播放密码的更多相关文章
- 超不清视频播放器-用Python将视频转成字符
前言 今天分享的这段代码,看起来没啥实际用处,而且有些反潮流,因为现如今大家看视频都追求更高分辨率的超清画质,而我们这个,是一个“超不清”的视频播放器:在控制台里播放视频,用字符来表示画面 不过我觉得 ...
- android形状属性、锁屏密码、动态模糊、kotlin项目、抖音动画、记账app、视频播放器等源码
Android精选源码 直观了解Android的"形状"属性如何影响Drawable的外观. 一个灵活的视频播放器, 可替换播放器内核. android锁屏输入密码功能源码 背景动 ...
- jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器
最近看到很多有用的论坛html5视频播放的发展,音乐播放功能,大多数都在寻找答案.所以,我在这里做一个demo.对于大家互相学习.html5开发越来越流行,至于这也是一个不可缺少的一部分的视频. 如何 ...
- XBMC源代码分析 7:视频播放器(dvdplayer)-输入流(以libRTMP为例)
前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分 ...
- XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)
XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4: ...
- XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例)
XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 本文我们分析XBMC中视 ...
- 零基础读懂视频播放器控制原理——ffplay播放器源代码分析
版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...
- 视频播放器控制原理:ffmpeg之ffplay播放器源代码分析
版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...
- Mac上好用的视频播放器有哪些?
首页发现话题 提问 登录加入知乎 Mac 上好用的视频播放器有哪些? 关注问题写回答 OS X 应用 多媒体播放器(软件) Mac 上好用的视频播放器有哪些? 关注者 2680 被浏览 981770 ...
随机推荐
- 经典SQL问题:Top 10%
学生表: create table hy_student( id number(4,0) primary key, name nvarchar2(20) not null, score number( ...
- IMX6ULL开发板Linux_WIFI驱动实验
1.在迅为i.MX6ULL开发板上使用的是 usb 接口的 RTL8723 wifi 模块,原理图如下所示:可以看到 RTL8723 模块的接口非常简单,只有 DP1 和 DM1 连接到 usb HU ...
- Linux:apache第一个简单的站点
前提: apache安装目录再/application/apache/ 1.先进入安装目录中 cd /application/apache/ ls 查看目录中的内容 可以看到好多我们常见的文件夹,bi ...
- mongodb3.4.5用http访问28017端口
4.要想用28017去访问,百度说必须开启http服务 4.1.前提: windows下安装mongodb必须装在没有中文和空格的目录下,我直接装在了D盘根目录 删掉MongoDB\Server\3. ...
- [LeetCode]603. 连续空余座位(Mysql、自连接)
题目 几个朋友来到电影院的售票处,准备预约连续空余座位. 你能利用表 cinema ,帮他们写一个查询语句,获取所有空余座位,并将它们按照 seat_id 排序后返回吗? | seat_id | fr ...
- 解决spark streaming集成kafka时只能读topic的其中一个分区数据的问题
1. 问题描述 我创建了一个名称为myTest的topic,该topic有三个分区,在我的应用中spark streaming以direct方式连接kakfa,但是发现只能消费一个分区的数据,多次更换 ...
- pxe+kickstart无人值守批量安装linux
一.原理和概念: 1.PXE: PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...
- Redis 部署方式(单点、master/slaver、sentinel、cluster) 概念与区别
转载自 https://blog.csdn.net/java_zyq/article/details/83818341 在K8S上部署Redis集群时突然遇到一个(sentinel哨兵模式)概念,感觉 ...
- ribbon源码之客户端
客户端模块的核心功能是提供统一的用户请求操作接口. 接口定义 客户端模块的核心是IClient接口,定义了客户端网络请求的方法. public interface IClient<S exten ...
- Oracle学习(五)DBLINK
一.DBLINK学习 目的:为了解决跨库访问的需求. 场景如下:tnsnames.ora(oracle的库配置文件)下配置了2个库的环境地址,现在要实现跨库访问. PS:DBLINK和是否同一个主机无 ...