分析如何直接绕过超时代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 ...
随机推荐
- Tomcat源码分析(从启动流程到请求处理)
Tomcat 8.5下载地址 https://tomcat.apache.org/download-80.cgi Tomcat启动流程 Tomcat源码目录 catalina目录 catalina包含 ...
- java中整型、浮点型、char型扩展
怎么区分是什么进制? 二进制:0b开头,eg: int i = 0b10; 八进制:0开头,eg: int k = 010; 十进制: 十六进制:0x开头,eg: int j = 0x10; 浮点数类 ...
- Linux:nginx基础
一..简单介绍 nginx时开源的www服务器,只能解析静态的网页(html,js,css等),具有静态小文件高并发特性. 可做web服务器.负载均衡.web cache(web缓存) 优点: 1.高 ...
- JS实现串行请求
使用async和await var fn = async function(promiseArr) { for(let i = 0,len = arr.length; i<len; i++) { ...
- Redis之命令
Redis命令手册:http://doc.redisfans.com/
- 垃圾回收器(GC)
分类 针对hotSpot VM的实现,它里面的GC按照回收区域又分为两大种类型:一种是部分收集(Partial GC),一种是整堆收集(Full GC) 部分收集:不是完整收集整个Java堆的垃圾收集 ...
- Oracle学习(十七)数据库锁在分布式系统里的应用(老板,乐观锁了解一下?~)
一.引言 随着业务量的增加,单机部署已经无法满足日常需求了,我们可能会把代码部署到多台服务器上去来进行服务的扩容,也就是负载均衡,那在这种场景下,怎么能实现锁的概念呢? 那么我们知道如果是一台主机部署 ...
- NX二次开发-使用NXOPEN C#手工搭建开发环境配置
新建类库 进来后编译代码,成功 添加NXOPEN的库到项目中 不同NX版本,可能dll所在位置不一样,NX11以上版本在NXBIN这里,NX11以下版本大概在UGII. 添加头文件 using NXO ...
- python-数组+递归实现简单代数式运算
#!/usr/bin/env python3# -*- coding: utf-8 -*-#思路: #代数式是为字符串 #先将字符串处理为数值与运算符号的数组 #逐项读入数组 #每一次处理不少过两个变 ...
- Python-通过twisted实现数据库异步插入?
如何通过twisted实现数据库异步插入? 1. 导入adbapi 2. 生成数据库连接池 3. 执行数据数据库插入操作 4. 打印错误信息,并排错 #!/usr/bin/python3 __auth ...