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

前言:

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

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

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

今天就来分析如何绕过超时代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. 启动Tomcat服务器端口被占用解决方法

    Caused by: java.net.BindException: Address already in use: bind 1.输入 netstat -ano|findstr 8080,回车,显示 ...

  2. leetcode刷题-40组合总和2

    题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用 ...

  3. Java 多线程实现多窗口同时售票简单功能

    package day162020072701.day1603; import java.util.concurrent.locks.Lock; import java.util.concurrent ...

  4. latex tips

    latex tips  latex 插入图片 主要是插入图片位置的问题,代码中的  bb=   决定了插入 fig2.eps 图片的某一方形区域,其中     表示该方形区域的左下角像素坐标是 0 0 ...

  5. html基础:jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  6. path.resolve和path.join的区别

    // test.js const path = require('path') let x1 = path.resolve('/目录1/目录2', '/目录3/目录4/') let x2 = path ...

  7. ctfhub sql注入 整数型注入

    整数型注入 手工注入 1.查看是否存在sql注入,及sql注入类型 2.确定列数 3.确定注入点,以及数据库版本,数据库名称 4.查表名 5.查字段名以及flag值 获得flag值 sqlmap做法 ...

  8. 一、Git是什么?

    Git是什么? Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控 ...

  9. Redis 部署方式(单点、master/slaver、sentinel、cluster) 概念与区别

    转载自 https://blog.csdn.net/java_zyq/article/details/83818341 在K8S上部署Redis集群时突然遇到一个(sentinel哨兵模式)概念,感觉 ...

  10. 使用binlog2sql恢复数据

    binlog2sql 是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL.回滚SQL.去除主键的INSERT SQL等.主要用途如 ...