init commit

This commit is contained in:
2025-10-09 09:57:24 +09:00
commit 4d551bd74f
6636 changed files with 1218703 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
# VideoReader - Декомпилированный проект
## Описание
Это декомпилированный проект приложения VideoReader - программы для работы с видеофайлами.
## Структура проекта
### Основное приложение
- **VideoReader.exe** - главное приложение (декомпилировано в /output/)
- **VideoReader.csproj** - файл проекта Visual Studio
- **app.ico** - иконка приложения
### Исходные файлы главного приложения
- `VideoReader/Program.cs` - точка входа в приложение
- `VideoReader/Form1.cs` - главная форма приложения (3941 строка)
- `VideoReader/Decoder.cs` - декодер видео
- `VideoReader/SaveVideo.cs` - сохранение видео
- `VideoReader/SelectionRangeSlider.cs` - слайдер выбора диапазона
- `VideoReader/UCPictureBox.cs` - пользовательский PictureBox
- `VideoReader/InOutSocket.cs` - работа с сокетами
- `VideoReader/InteropHelper.cs` - вспомогательные P/Invoke функции
- `VideoReader/libfaad.cs` - обертка для библиотеки libfaad
### Ресурсы
- `VideoReader.Form1.resx` - ресурсы формы
- `Properties/AssemblyInfo.cs` - информация о сборке
- `VideoReader/Properties/Resources.cs` - ресурсы
- `VideoReader/Properties/Settings.cs` - настройки
### Библиотеки (декомпилированы)
- **AForge** - библиотека компьютерного зрения
- **AForge.Imaging** - обработка изображений
- **AForge.Math** - математические функции
- **BouncyCastle.Crypto** - криптографические функции
- **FFmpeg.AutoGen** - обертка для FFmpeg
- **MessagingToolkit.QRCode** - работа с QR-кодами
### FFmpeg
Включена полная поставка FFmpeg с бинарными файлами для x64 и x86:
- `FFmpeg/bin/x64/` - 64-битные библиотеки FFmpeg
- `FFmpeg/bin/x86/` - 32-битные библиотеки FFmpeg
- `FFmpeg/include/` - заголовочные файлы
## Технические детали
- **Платформа**: .NET Framework 4.7.2
- **Архитектура**: x86 (32-bit)
- **Тип приложения**: Windows Forms
- **Язык**: C# с небезопасным кодом
## Функциональность
На основе анализа кода приложение предназначено для:
1. Чтения и декодирования видеофайлов
2. Отображения видео с возможностью навигации
3. Сохранения видео
4. Работы с сетевыми соединениями
5. Обработки изображений
6. Работы с QR-кодами
## Сборка проекта
Для сборки проекта требуется:
1. Visual Studio 2019/2022 или .NET SDK
2. Все DLL библиотеки должны находиться в папке `desktop/`
3. FFmpeg библиотеки в соответствующих папках
## Особенности декомпиляции
- Декомпиляция выполнена с помощью ILSpy
- Сохранена оригинальная структура пространств имен
- Включены все ресурсы и метаданные
- Проект готов к компиляции (с учетом зависимостей)
## Файлы журналов и данных
- `keys.log` - журнал ключей
- `help.html` - файл справки
- `model`, `models` - файлы моделей
Дата декомпиляции: 9 октября 2025 г.

View File

@@ -0,0 +1,76 @@
# VideoReader - Декомпилированный проект
## Описание
Это декомпилированный проект приложения VideoReader - программы для работы с видеофайлами.
## Структура проекта
### Основное приложение
- **VideoReader.exe** - главное приложение (декомпилировано в /output/)
- **VideoReader.csproj** - файл проекта Visual Studio
- **app.ico** - иконка приложения
### Исходные файлы главного приложения
- `VideoReader/Program.cs` - точка входа в приложение
- `VideoReader/Form1.cs` - главная форма приложения (3941 строка)
- `VideoReader/Decoder.cs` - декодер видео
- `VideoReader/SaveVideo.cs` - сохранение видео
- `VideoReader/SelectionRangeSlider.cs` - слайдер выбора диапазона
- `VideoReader/UCPictureBox.cs` - пользовательский PictureBox
- `VideoReader/InOutSocket.cs` - работа с сокетами
- `VideoReader/InteropHelper.cs` - вспомогательные P/Invoke функции
- `VideoReader/libfaad.cs` - обертка для библиотеки libfaad
### Ресурсы
- `VideoReader.Form1.resx` - ресурсы формы
- `Properties/AssemblyInfo.cs` - информация о сборке
- `VideoReader/Properties/Resources.cs` - ресурсы
- `VideoReader/Properties/Settings.cs` - настройки
### Библиотеки (декомпилированы)
- **AForge** - библиотека компьютерного зрения
- **AForge.Imaging** - обработка изображений
- **AForge.Math** - математические функции
- **BouncyCastle.Crypto** - криптографические функции
- **FFmpeg.AutoGen** - обертка для FFmpeg
- **MessagingToolkit.QRCode** - работа с QR-кодами
### FFmpeg
Включена полная поставка FFmpeg с бинарными файлами для x64 и x86:
- `FFmpeg/bin/x64/` - 64-битные библиотеки FFmpeg
- `FFmpeg/bin/x86/` - 32-битные библиотеки FFmpeg
- `FFmpeg/include/` - заголовочные файлы
## Технические детали
- **Платформа**: .NET Framework 4.7.2
- **Архитектура**: x86 (32-bit)
- **Тип приложения**: Windows Forms
- **Язык**: C# с небезопасным кодом
## Функциональность
На основе анализа кода приложение предназначено для:
1. Чтения и декодирования видеофайлов
2. Отображения видео с возможностью навигации
3. Сохранения видео
4. Работы с сетевыми соединениями
5. Обработки изображений
6. Работы с QR-кодами
## Сборка проекта
Для сборки проекта требуется:
1. Visual Studio 2019/2022 или .NET SDK
2. Все DLL библиотеки должны находиться в папке `desktop/`
3. FFmpeg библиотеки в соответствующих папках
## Особенности декомпиляции
- Декомпиляция выполнена с помощью ILSpy
- Сохранена оригинальная структура пространств имен
- Включены все ресурсы и метаданные
- Проект готов к компиляции (с учетом зависимостей)
## Файлы журналов и данных
- `keys.log` - журнал ключей
- `help.html` - файл справки
- `model`, `models` - файлы моделей
Дата декомпиляции: 9 октября 2025 г.

View File

@@ -0,0 +1,59 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<AssemblyName>VideoReader</AssemblyName>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<OutputType>WinExe</OutputType>
<UseWindowsForms>True</UseWindowsForms>
<TargetFramework>net472</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup>
<LangVersion>12.0</LangVersion>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>app.ico</ApplicationIcon>
<RootNamespace />
</PropertyGroup>
<!-- Внешние библиотеки -->
<ItemGroup>
<Reference Include="FFmpeg.AutoGen">
<HintPath>../desktop/FFmpeg.AutoGen.dll</HintPath>
</Reference>
<Reference Include="AForge">
<HintPath>../desktop/AForge.dll</HintPath>
</Reference>
<Reference Include="AForge.Imaging">
<HintPath>../desktop/AForge.Imaging.dll</HintPath>
</Reference>
<Reference Include="AForge.Math">
<HintPath>../desktop/AForge.Math.dll</HintPath>
</Reference>
<Reference Include="BouncyCastle.Crypto">
<HintPath>../desktop/BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="MessagingToolkit.QRCode">
<HintPath>../desktop/MessagingToolkit.QRCode.dll</HintPath>
</Reference>
</ItemGroup>
<!-- Системные ссылки -->
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<!-- Ресурсы -->
<ItemGroup>
<EmbeddedResource Include="VideoReader.Form1.resx">
<DependentUpon>VideoReader\Form1.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,59 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<AssemblyName>VideoReader</AssemblyName>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<OutputType>WinExe</OutputType>
<UseWindowsForms>True</UseWindowsForms>
<TargetFramework>net472</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup>
<LangVersion>12.0</LangVersion>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>app.ico</ApplicationIcon>
<RootNamespace />
</PropertyGroup>
<!-- Внешние библиотеки -->
<ItemGroup>
<Reference Include="FFmpeg.AutoGen">
<HintPath>../desktop/FFmpeg.AutoGen.dll</HintPath>
</Reference>
<Reference Include="AForge">
<HintPath>../desktop/AForge.dll</HintPath>
</Reference>
<Reference Include="AForge.Imaging">
<HintPath>../desktop/AForge.Imaging.dll</HintPath>
</Reference>
<Reference Include="AForge.Math">
<HintPath>../desktop/AForge.Math.dll</HintPath>
</Reference>
<Reference Include="BouncyCastle.Crypto">
<HintPath>../desktop/BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="MessagingToolkit.QRCode">
<HintPath>../desktop/MessagingToolkit.QRCode.dll</HintPath>
</Reference>
</ItemGroup>
<!-- Системные ссылки -->
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<!-- Ресурсы -->
<ItemGroup>
<EmbeddedResource Include="VideoReader.Form1.resx">
<DependentUpon>VideoReader\Form1.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,81 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoReader", "VideoReader.csproj", "{12345678-1234-1234-1234-123456789012}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AForge", "Libraries\AForge\AForge.csproj", "{12345678-1234-1234-1234-123456789013}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AForge.Imaging", "Libraries\AForge.Imaging\AForge.Imaging.csproj", "{12345678-1234-1234-1234-123456789014}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AForge.Math", "Libraries\AForge.Math\AForge.Math.csproj", "{12345678-1234-1234-1234-123456789015}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncyCastle.Crypto", "Libraries\BouncyCastle.Crypto\BouncyCastle.Crypto.csproj", "{12345678-1234-1234-1234-123456789016}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FFmpeg.AutoGen", "Libraries\FFmpeg.AutoGen\FFmpeg.AutoGen.csproj", "{12345678-1234-1234-1234-123456789017}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingToolkit.QRCode", "Libraries\MessagingToolkit.QRCode\MessagingToolkit.QRCode.csproj", "{12345678-1234-1234-1234-123456789018}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{12345678-1234-1234-1234-123456789012}.Debug|Any CPU.ActiveCfg = Debug|x86
{12345678-1234-1234-1234-123456789012}.Debug|x86.ActiveCfg = Debug|x86
{12345678-1234-1234-1234-123456789012}.Debug|x86.Build.0 = Debug|x86
{12345678-1234-1234-1234-123456789012}.Release|Any CPU.ActiveCfg = Release|x86
{12345678-1234-1234-1234-123456789012}.Release|x86.ActiveCfg = Release|x86
{12345678-1234-1234-1234-123456789012}.Release|x86.Build.0 = Release|x86
{12345678-1234-1234-1234-123456789013}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789013}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789013}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789013}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789013}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789013}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789014}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789014}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789014}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789014}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789014}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789014}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789015}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789015}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789015}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789015}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789015}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789015}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789016}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789016}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789016}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789016}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789016}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789016}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789017}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789017}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789017}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789017}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789017}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789017}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789018}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789018}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789018}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789018}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789018}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789018}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,81 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoReader", "VideoReader.csproj", "{12345678-1234-1234-1234-123456789012}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AForge", "Libraries\AForge\AForge.csproj", "{12345678-1234-1234-1234-123456789013}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AForge.Imaging", "Libraries\AForge.Imaging\AForge.Imaging.csproj", "{12345678-1234-1234-1234-123456789014}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AForge.Math", "Libraries\AForge.Math\AForge.Math.csproj", "{12345678-1234-1234-1234-123456789015}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BouncyCastle.Crypto", "Libraries\BouncyCastle.Crypto\BouncyCastle.Crypto.csproj", "{12345678-1234-1234-1234-123456789016}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FFmpeg.AutoGen", "Libraries\FFmpeg.AutoGen\FFmpeg.AutoGen.csproj", "{12345678-1234-1234-1234-123456789017}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingToolkit.QRCode", "Libraries\MessagingToolkit.QRCode\MessagingToolkit.QRCode.csproj", "{12345678-1234-1234-1234-123456789018}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{12345678-1234-1234-1234-123456789012}.Debug|Any CPU.ActiveCfg = Debug|x86
{12345678-1234-1234-1234-123456789012}.Debug|x86.ActiveCfg = Debug|x86
{12345678-1234-1234-1234-123456789012}.Debug|x86.Build.0 = Debug|x86
{12345678-1234-1234-1234-123456789012}.Release|Any CPU.ActiveCfg = Release|x86
{12345678-1234-1234-1234-123456789012}.Release|x86.ActiveCfg = Release|x86
{12345678-1234-1234-1234-123456789012}.Release|x86.Build.0 = Release|x86
{12345678-1234-1234-1234-123456789013}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789013}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789013}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789013}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789013}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789013}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789014}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789014}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789014}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789014}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789014}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789014}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789015}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789015}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789015}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789015}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789015}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789015}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789016}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789016}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789016}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789016}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789016}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789016}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789017}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789017}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789017}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789017}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789017}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789017}.Release|x86.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789018}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789018}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12345678-1234-1234-1234-123456789018}.Debug|x86.ActiveCfg = Debug|Any CPU
{12345678-1234-1234-1234-123456789018}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12345678-1234-1234-1234-123456789018}.Release|Any CPU.Build.0 = Release|Any CPU
{12345678-1234-1234-1234-123456789018}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal