Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@

All notable project changes are documented here. The project follows semantic versioning after the first generally available release.

## [0.4.0-rc4] - 2026-08-20

### Added

- Original blue shield/cleanup application icon embedded at 16–256 pixel sizes for Explorer, the title bar, taskbar, and UAC display.
- The transparent high-resolution icon source and multi-resolution ICO are included in the open-source package.

### Fixed

- RU/EN switching now redraws the dialog atomically, preventing labels, buttons, and some list headers from appearing blank until a later repaint.
- The scan-complete status and count summary at the bottom are immediately regenerated in the selected language.
- Product, profile, and certificate selections are preserved while translated lists are rebuilt.

### Validation

- Automated GUI probing confirmed that all affected captions, the status, and the product/license/certificate summary change from Russian to English immediately.
- Both 16- and 32-pixel icon resources load successfully from the release EXE; core tests and the Release x86 build pass.

## [0.4.0-rc3] - 2026-08-20

### Changed
Expand Down
2 changes: 2 additions & 0 deletions CryptoProCleanup.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,7 @@
</ItemGroup>
<ItemGroup><ResourceCompile Include="src\resources.rc" /></ItemGroup>
<ItemGroup><Manifest Include="src\app.manifest" /></ItemGroup>
<ItemGroup><Image Include="assets\CryptoProCleanup.ico" /></ItemGroup>
<ItemGroup><None Include="assets\app-icon-source.png" /></ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>
3 changes: 2 additions & 1 deletion README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Windows 7–11](https://img.shields.io/badge/Windows-7%20SP1%E2%80%9311-0078D6.svg)](#system-requirements)

> **Status: 0.4.0 RC3.** A user successfully completed full removal on a live Windows 10 x64 system. Detection of products and the complete license plus public-certificate export are now confirmed on a real connected Windows 7 x86 disk. RC3 adds responsive background scanning with live indication.
> **Status: 0.4.0 RC4.** A user successfully completed full removal on a live Windows 10 x64 system. Detection of products and the complete license plus public-certificate export are confirmed on a real connected Windows 7 x86 disk. RC4 adds a recognizable application icon and fixes complete repaint plus bottom-summary translation when switching RU/EN.

An unofficial portable utility for backing up license identifiers and public certificates, controlled removal of installed CryptoPro products, and rescue from a disconnected Windows 7 SP1 through Windows 11 installation.

Expand All @@ -22,6 +22,7 @@ The utility deliberately preserves Windows certificate stores, hardware tokens,
## Features

- native portable Unicode Win32 GUI with RU/EN languages and no .NET dependency;
- original multi-resolution application icon for Explorer, taskbar, window chrome, and UAC;
- resizable/maximizable native window with adaptive tables, system-DPI scaling, and Windows visual styles;
- verified 32/64-bit product discovery by publisher and MSI/EXE metadata;
- complete license display, clipboard copy, and confidential backup;
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Windows 7–11](https://img.shields.io/badge/Windows-7%20SP1%E2%80%9311-0078D6.svg)](#системные-требования)

> **Статус: релиз-кандидат 0.4.0 RC3.** Полное удаление успешно проверено пользователем на живой Windows 10 x64. На реальном подключённом диске Windows 7 x86 подтверждены обнаружение продуктов, полный номер лицензии и экспорт открытых сертификатов. RC3 добавляет отзывчивое фоновое сканирование с живой индикацией.
> **Статус: релиз-кандидат 0.4.0 RC4.** Полное удаление успешно проверено пользователем на живой Windows 10 x64. На реальном подключённом диске Windows 7 x86 подтверждены обнаружение продуктов, полный номер лицензии и экспорт открытых сертификатов. RC4 добавляет узнаваемую иконку и исправляет полную перерисовку и нижний итог при переключении RU/EN.

Неофициальная portable-утилита для резервного копирования лицензий и открытых сертификатов, контролируемого удаления установленных продуктов CryptoPro и спасения данных из отключённой Windows 7 SP1–Windows 11.

Expand All @@ -27,6 +27,7 @@
## Возможности

- один нативный x86 EXE без .NET/PowerShell и внешнего runtime;
- оригинальная многоразмерная иконка приложения для Проводника, панели задач, окна и UAC;
- изменяемое и максимизируемое окно с адаптивными таблицами, системным DPI-масштабированием и нативным современным оформлением;
- поиск продуктов по подтверждённому издателю в 32- и 64-битных ветках реестра;
- RU/EN интерфейс, выбор продуктов и локальных профилей;
Expand Down
Binary file added assets/CryptoProCleanup.ico
Binary file not shown.
Binary file added assets/app-icon-source.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions docs/RELEASE_NOTES_0.4.0-rc4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# КриптоПро Очистка 0.4.0 RC4

В этом релизе у программы появилась собственная узнаваемая иконка, а переключение русского и английского интерфейса стало полностью синхронным.

## Иконка

- оригинальный знак «защитный щит + безопасная очистка» не копирует фирменную символику CryptoPro;
- в EXE встроены размеры от 16×16 до 256×256 для Проводника, панели задач, заголовка окна и UAC;
- прозрачный исходник PNG и многоразмерный ICO входят в архив исходников.

## Исправление RU/EN

- все элементы окна теперь обновляются одной атомарной перерисовкой;
- подписи, кнопки и заголовки первых столбцов больше не остаются временно пустыми;
- нижний статус `Ready. No changes were made.` и строка `Products found…` сразу переводятся на выбранный язык;
- отмеченные продукты, профили и сертификаты сохраняют свои флажки при перестроении таблиц.

Алгоритмы сканирования, удаления, экспорта сертификатов и защиты закрытых ключей не изменялись.
1 change: 1 addition & 0 deletions docs/TEST_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ For each VM retain the initial JSON report, final JSON report, cleanup log, prod
- 2026-08-20: user testing of 0.4.0 RC2 on the real connected Windows 7 x86 disk confirmed product detection, the correct complete license identifier, and successful public-certificate export. RC3 moves this scan to a responsive background worker with continuous progress indication.
- 2026-08-20: read-only synthetic disconnected-Windows fixture passed with 2 confirmed CryptoPro products, 4 license candidates, 1 inactive profile, and 7 public certificates from `AppData\Roaming\Microsoft\SystemCertificates\My\Certificates`; both `SOFTWARE` and `SYSTEM` temporary mounts unloaded successfully.
- 2026-08-20: RC2 implementation passed unit tests, the non-destructive live integration scan, and MSVC C++ static analysis with no warnings. No `CryptoProCleanup_Offline_*` registry mounts remained after testing; sensitive hive/certificate fixture copies were removed.
- 2026-08-20: RC4 automated GUI probing confirmed immediate RU-to-EN translation of affected labels/buttons, status, and the product/license/certificate summary. Embedded 16- and 32-pixel icon resources loaded successfully from the Release EXE.
- The running Windows directory is rejected as an offline target. A destructive disconnected-Windows VM test is still pending.
- 2026-08-19: MSVC C++ static analysis passed with no warnings. Offline scanning also compares the actual `SOFTWARE` and `SYSTEM` hive file identities so a filesystem alias to the running Windows installation is rejected.
- Destructive scenarios and the remaining OS/CSP matrix, including CSP 4.x, are still mandatory before marking a build generally available.
2 changes: 1 addition & 1 deletion scripts/package.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Copy-Item -LiteralPath (Join-Path $projectRoot 'docs') -Destination $packageRoot

$sourceStage = Join-Path $packageRoot 'source'
New-Item -ItemType Directory -Path $sourceStage -Force | Out-Null
foreach ($directory in @('.github', 'src', 'tests', 'scripts', 'docs')) { Copy-Item -LiteralPath (Join-Path $projectRoot $directory) -Destination $sourceStage -Recurse }
foreach ($directory in @('.github', 'assets', 'src', 'tests', 'scripts', 'docs')) { Copy-Item -LiteralPath (Join-Path $projectRoot $directory) -Destination $sourceStage -Recurse }
foreach ($file in @('.gitattributes', '.gitignore', 'CryptoProCleanup.sln', 'CryptoProCleanup.vcxproj', 'CryptoProCleanupTests.vcxproj', 'README.md', 'README.en.md', 'LICENSE', 'CHANGELOG.md', 'CONTRIBUTING.md', 'SECURITY.md')) { Copy-Item -LiteralPath (Join-Path $projectRoot $file) -Destination $sourceStage }

$sourceZip = Join-Path $packageRoot "CryptoProCleanup-$Version-source.zip"
Expand Down
2 changes: 1 addition & 1 deletion src/cleanup.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace cpc {

constexpr wchar_t kVersion[] = L"0.4.0-rc3";
constexpr wchar_t kVersion[] = L"0.4.0-rc4";

enum class Language { Russian, English };
enum class RiskLevel { Normal, High };
Expand Down
Loading
Loading