声明:仅技术交流和学习!

前言:

你有没试过在网上下载一套视频,因网盘限速整整开机下载好几晚,下完后打开发现加密了,又找不到卖家注册。心里是几万只草泥马飞奔啊。

于是不甘心和好奇下,偿试自己破解。

目前该软件作者已停止更新。

今天就来分析如何绕过超时代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视频播放器的播放密码的更多相关文章

  1. 超不清视频播放器-用Python将视频转成字符

    前言 今天分享的这段代码,看起来没啥实际用处,而且有些反潮流,因为现如今大家看视频都追求更高分辨率的超清画质,而我们这个,是一个“超不清”的视频播放器:在控制台里播放视频,用字符来表示画面 不过我觉得 ...

  2. android形状属性、锁屏密码、动态模糊、kotlin项目、抖音动画、记账app、视频播放器等源码

    Android精选源码 直观了解Android的"形状"属性如何影响Drawable的外观. 一个灵活的视频播放器, 可替换播放器内核. android锁屏输入密码功能源码 背景动 ...

  3. jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器

    最近看到很多有用的论坛html5视频播放的发展,音乐播放功能,大多数都在寻找答案.所以,我在这里做一个demo.对于大家互相学习.html5开发越来越流行,至于这也是一个不可缺少的一部分的视频. 如何 ...

  4. XBMC源代码分析 7:视频播放器(dvdplayer)-输入流(以libRTMP为例)

    前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分 ...

  5. XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)

    XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4: ...

  6. XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例)

    XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 本文我们分析XBMC中视 ...

  7. 零基础读懂视频播放器控制原理——ffplay播放器源代码分析

    版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...

  8. 视频播放器控制原理:ffmpeg之ffplay播放器源代码分析

    版权声明:本文由张坤原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/535574001486630869 来源:腾云阁 ht ...

  9. Mac上好用的视频播放器有哪些?

    首页发现话题 提问 登录加入知乎 Mac 上好用的视频播放器有哪些? 关注问题写回答 OS X 应用 多媒体播放器(软件) Mac 上好用的视频播放器有哪些? 关注者 2680 被浏览 981770 ...

随机推荐

  1. [oracle/Sql]怎样比较两表的差异?

    比如有这么一个表: create table test02( id number(8,0) primary key, name nvarchar2(20), sal number(5,0) ) 可以这 ...

  2. vue-axios拦截器

    "use strict"; import QS from "qs"; import Axios from "axios"; import s ...

  3. PHP生成二维码 endroid/qr-code 扩展包

    目录 1. 引入 endroid/qr-code 扩展包 2. 使用示例 3. 二维码中放入logo,无法识别二维码的问题 1. 引入 endroid/qr-code 扩展包 https://pack ...

  4. PHP程序十点未来的建议

    1. Composer 第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单.程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 ...

  5. Docker介绍及常用操作演示(一)

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互 ...

  6. 3.GoolgeProtoBuffer序列化反序列化

  7. Redis学习(二)redis的特点

    一.Redis的特性 Redis是基于内存,常用作于缓存的技术 Redis实现的是分布式缓存,如果有多台实例(机器)的话,每个实例都共享一份缓存,缓存具有一致性. 常见的性能问题一般都是由于数据库(磁 ...

  8. 搜索引擎学习(一)初识Lucene

    一.Lucene相关基础概念 定义:一个简易的工具包,实现文件搜索的功能,支持中文,关键字,多条件查询,凡是文件名或文件内容包含的都查出来. 数据分类:结构化数据(固定格式或有限长度的数据)和非结构化 ...

  9. web自动化整理

    HTML学习 https://www.w3school.com.cn/html/html_headings.asp 如何写html呢? 可以选择软件 文本编辑器sublime(http://www.s ...

  10. Mac Catalina 下 gdb codesign问题解决

    在 macOS 上,无法直接使用 gdb 进行 debug. 这是因为 Darwin 内核在你没有特殊权限的情况下,不允许调试其它进程.调试某个进程,意味着你对这个进程有完全的控制权限,所以为了防止被 ...