news 2026/6/9 18:38:58

软件逆向加密视频专用播放器是如何检测到用户在录像

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件逆向加密视频专用播放器是如何检测到用户在录像

在很多加密视频的专用播放器都禁止录屏,检测到录屏会终止播放或禁止观看。出于好奇,分析下它是如何检测到在录屏的。

目前分析到的播放器有两种检测方式,一种是检测程序标题另外一种是进程名字。

一、检测标题

播放器在播放视频时,如何加密选用了禁止录像功能,那播放器就会检测系统所有运行的程序窗口标题。如标题中有 录像、录屏、record....等字样,播放器就会报错。

检测代码如下:

复制代码

#include <windows.h>

#include <iostream>

#include <string>

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {

char windowTitle[256];

if (GetWindowText(hwnd, windowTitle, sizeof(windowTitle))) {

std::string title = windowTitle;

if (title.find("公众号:IT0365") != std::string::npos) { // 替换"公众号:IT0365"为你要查找的文本

std::cout << "找到窗口: " << windowTitle << std::endl;

// 可以根据需要在这里添加更多操作,例如记录软件名或结束播放

return FALSE; // 找到后可以选择停止枚举

}

}

return TRUE; // 继续枚举其他窗口

}

int main() {

EnumWindows(EnumWindowsProc, NULL);

return 0;

}

复制代码

检测代码就是用了一个函数,看到这个代码大家应该想到了怎么过检测的办法。

有两种方法避开检测,第一种它会根据你提供的标题名进行对比,那此时你将录像软件的标题改掉让它找不到即可避开。修改软件标题也需要一定的技术,网上也有工具直接修改。第二种就是在它对比时让它一直找。找到了也继续找。反汇编代码中

1

IF语句会有类似JE的跳转,你就修改成不相等或无条件跳转也可避开检测。

二、进程名检测

进程名检测和标题是一样的,也是检测名字。具体代码如下

复制代码

PROCESSENTRY32 pe32 = {0};

pe32.dwSize = sizeof(PROCESSENTRY32);

HANDLE hthSnapProc = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

if (!hthSnapProc) return;

if (!Process32First(hthSnapProc,pe32))

{

CloseHandle(hthSnapProc)

return;

}

do

{

if(strcmp(pe32.szExeFile,"IT0365")==0)

{

//处理代码

}

} while(Process32Next(hthSnapProc,&amp;pe32));

复制代码

从代码中看到进程名检测也是和窗口一样将所有运行的程序进行对比。这里的破解修改方法和标题类似了。

上面两种方法其它就是一个黑名单检测,软件作者会将市面所有的录像软件,截图软件,远程软件等名称进行收集。然后进行对比。如果软件名称在播放器黑名单中就说明是在录像。为什么有些冷门的录像软件直接录,专用播放器检测不到就是说明它不在黑名单中,所以未检测到就可以正常录制了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 20:51:27

网页前端如何通过JSP实现大文件上传的拖拽功能?

大文件传输系统解决方案 作为北京某软件公司的项目负责人&#xff0c;我针对大文件传输需求提出以下完整解决方案&#xff1a; 一、需求分析与技术选型 基于贵公司需求&#xff0c;我们决定采用自主研发部分开源组件整合的方案&#xff0c;主要原因如下&#xff1a; 现有开…

作者头像 李华
网站建设 2026/6/9 17:42:30

DiffSynth-Studio训练踩坑记录

DiffSynth-Studio训练踩坑记录&#xff1a;PyTorch 2.5.1 Meta Tensor 新增模块 strictTrue 导致的加载失败环境&#xff1a; PyTorch 2.5.1DiffSynth-Studio / Wan2.1-T2V-1.3B 任务&#xff1a;在官方 WanVideo 模型基础上增加模块&#xff0c;继续训练 LoRA这篇文章记录一…

作者头像 李华
网站建设 2026/6/7 7:49:43

7、OpenWrt第三方固件使用指南

OpenWrt第三方固件使用指南 1. 配置和使用OpenWrt 在Linksys设备上安装OpenWrt后,可通过GUI或命令行进行配置。强烈建议使用命令行,它功能强大,便于实现高级配置,而GUI功能有限,仅能进行基本设置。OpenWrt命令行基于Linux/UNIX,由BusyBox处理,它是一个小而强大的可执行…

作者头像 李华
网站建设 2026/6/7 22:02:02

在调度的花园里面挖呀挖

上文使用koordinator演示gang-scheduling和binpack调度&#xff0c; 已经生效。4个2卡Pod龟缩在一个节点&#xff0c;另外一个2卡Pod被挤到另外一个节点&#xff08;每节点上虚拟gpu&#xff1a;8卡&#xff09;。此时我们再尝试申请8卡作业&#xff0c;pod会Pending状态。但一…

作者头像 李华