在黑旗下发布,或者因为我没有将您的视频课程放在跟踪器上

captain_flint.jpg

哈Ha! 在困难时期,我们生活,不是吗? 人们很自私,不认识别人作品的价值,喜欢马上准备好一切。 对于许多人来说,知识产权似乎只是一个官僚的玩笑:“信息应该是免费的,因为这是IN-FOR-MA-QI-I !!! 11”。 我同意,理想情况是这样。 你们这些无政府状态,维护普通百姓权利的地下黑客/海盗的反叛情绪和哲学对我而言并不陌生。 但是,自相矛盾的是,真正的正义也应该是为了回报每个人的工作和功绩,因此在大多数情况下,盗版是对立的。 但是在这里,像InfoProtector这样的出色供应商提出的提供保护知识产权服务的政策引起了我的愤怒。

在削减的情况下,关于我如何购买付费视频课程的故事在意识到我无法保存视频以供将来重新查看后逐渐浮出水面,我为那些隐藏了这种准保护软件的人感到生气(除其他外,这种软件无情耗费大量机器资源),并决定恢复一点正义……当然,这并不违反法律。 阿们
免责声明。 以下所有内容均已出于研究目的而发布,并旨在实现专门的教育功能。 作者对非法使用本帖子中的信息不承担任何责任,并且在任何情况下都不应敦促将其视为“行动指南”。

怎么样了


那是一个免费的周末,我决定安排诚实赚取的XXXX p。 在五个小时的视频课程中。 我们将其称为“餐​​饮服务人员的进修课程”,这样就不会有类似之处。 通常,我不支持通过视频课程来理解信息(哦,这会适得其反),但我无法直接抵抗它-我成了五颜六色的广告横幅的受害者。

我付钱后,一封信飞到邮件中,其中包含下载由InfoProtector随机化器发明的材料(链接)的链接,并吐到附近的CDN。 信函正文中是作者对此次购买的感谢,并提出了激活购买的注册密钥。

下载档案。 存档文件夹。 可执行文件位于文件夹中。 可执行文件中有一个鸡蛋。 我启动exe'shnik-在这里,他们向我展示了全部真相,在一次自由重述中,听起来像这样(用鼻音朗读):
该视频课程已应用了InfoProtector(一种数字信息保护机制)。 对于首次启动 (请参阅“产品激活”), 您需要访问Internet; 只能通过我们的程序和播放器观看视频; 只能在两台计算机上安装视频课程 (视频课程与OS /硬件环境的配置相关,稍后会介绍)。

在这一点上,我有点不高兴。 也就是说,他们不仅在门口称我是不诚实的人,只会被剥夺别人的货币化工作,而且在重新安装系统之前,我只能得到相当数额的付款。

“决定行不通。”我决定并开始了一系列实验。

InfoProtector限制


为了不浪费时间,我一开始转向万维网,发现人们已经弄清楚了这些家伙的保护机制(当然,保护工作的所有细节都没有公开)。

我设法找出的是:

  1. 激活密钥是在支付课程费用时随机生成的,并用作经过身份验证的服务器,如果成功,该服务器将向客户发送AES密钥以解密可从公司的自定义播放器获得的视频资料。 撤消应用程序既耗时又费时(即,对于这种任务来说是不切实际的),因此我决定离开这条路。
  2. 屏幕录制工具的使用受到多种方式的无情阻止:您不能同时在同一主机上启动播放器和任何屏幕捕获器,因为该程序会使用其元数据检测正在运行的进程:窗口标题名称; 可执行文件的描述; 缝入exe'shniki捕获应用程序的供应商名称; 例如,即使在名称包含单词“ Fraps”的页面上打开的浏览器,也会引起播放器警报和关闭。
  3. 沙盒,虚拟机和来自远程连接(rdesktop,RAdmin,TeamViewer)的流内容也不是可选项-多年来,智能软件可以检测到它们,并在每一个机会中致死。

但是,尽管有最后两点,但最真实的攻击媒介仍然是屏幕录像,可以通过以下几种方式实现:

  1. 查找一个捕获程序,该捕获程序的名称/生产者/描述中不包含信标词,InfoProtector不知道该捕获程序,因此后者将不会触发。 缺点:长期,无聊而不是事实,从原则上讲这是可行的。
  2. 查找具有必要功能的开源产品,并编译您的屏幕截图版本,从源头上替换掉InfoProtector理论上似乎可疑的所有内容。 缺点:冗长,无聊,耗​​时(通常此类项目非常繁琐,由数百个文件组成,并且在源代码中有大量依赖项,因此Ctrl-H无效,您无需对其进行编辑,因此mimikatz不会削减Windows Defender)。
  3. 将您的决定写在某种脚本上,以免冒险遭受未知性质的已编译可执行文件(这种感染不知道会说什么),该文件实现了从屏幕的选定区域快速获取屏幕截图的简单功能(幸运的是,InfoProtector允许这样做)并分别记录下来音轨,也证明是合法且尽可能简单。

找不到第三段的缺点,因此您可以继续进行。

截图星球!


首先:让我们弄清楚如何使用脚本自动创建云截图。 当然,这些是:Python,更多的OpenCV ,更多的MSS和更多的PIL

这个过程非常简单:

  1. 设置播放器窗口的大小等于我们想要的输出视频的分辨率(考虑脚本控件的位置是合乎逻辑的-例如,带有终端的窗口,不应落入录制区域)。 可以使用如此出色的软件来完成。
  2. 我们将播放器窗口定位在最容易向脚本解释的位置-屏幕的右下角(我认为与屏幕边框相关的参考系统是最方便的选择)。
  3. 让我们设置已经编写好的脚本(将稍低一些)以获取该区域的屏幕截图。
  4. 在整个视频播放过程中,我们都不会碰这个尴尬的系统。

剧透脚本:

fckInfoprotector.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Usage: python3 fckInfoprotector.py <WIDTH> <HEIGHT>

import sys

import numpy as np
import cv2
from mss.windows import MSS as mss
from PIL import Image


class Capturer:

	def __init__(self, w, h, resolution='1080p', fps=24.975):
		if resolution == '1080p':
			self.monitor = {
				'top': 1080 - h,
				'left': 1920 - w,
				'width': w,
				'height': h
			}

		elif resolution == '1440p':
			self.monitor = {
				'top': 1440 - h,
				'left': 2560 - w,
				'width': w,
				'height': h
			}

		else:
			raise ValueError('Unsupported monitor resolution')

		self.sct = mss()

		self.vid = cv2.VideoWriter(
			'output.avi',
			cv2.VideoWriter_fourcc(*'XVID'),
			fps=fps,
			frameSize=(
				self.monitor['width'],
				self.monitor['height']
			)
		)

	def mainloop(self):
		while True:
			sct_img = self.sct.grab(self.monitor)
			sct_img_size = (sct_img.width, sct_img.height)

			img = Image.frombytes(
				'RGB',
				sct_img_size,
				sct_img.rgb
			)

			frame = cv2.cvtColor(
				np.array(img),
				cv2.COLOR_BGR2RGB
			)

			self.vid.write(frame)


if __name__ == '__main__':
	if len(sys.argv) != 3:
		print(f'Usage: {sys.argv[0]} <WIDTH> <HEIGHT>')
		sys.exit()

	w, h = (int(x) for x in sys.argv[1:3])
	capturer = Capturer(w, h, fps=50.0)

	try:
		capturer.mainloop()
	except KeyboardInterrupt:
		print('Interrupted')



: Windows .

Windows 7: -> -> -> -> -> « »:

1.png

, :

2.png



, , . VirtualDub.

:

3.png

:

4.png

, . . . , , 50- ( , ) $X$, $X$ :

$X=captured\_video\_duration\times 50\div original\_video\_duration$


5.png

, , .

F7! .


? .

-, , . -, , . , .

-, : ( NVIDIA, !), , , , , «», ?

-, : « DVD- !». , . , , ( ), , .

: , , -, (, ), , . , ().

, , – .

-, !

Source: https://habr.com/ru/post/zh-CN449970/


All Articles