Уважаемый читатель помнит, что всех прошлых публикациях активно терроризировали корпорацию Google, которая, видать, уже смирилась с актуальными версиями браузера Chrome (141.x), запускающимися в среде «семёрки» и «восьмёрки». Само собой разумеющейся всякие Discord, draw.io, основанные на Chromium так-же радуют всех ценителей изысканного интерфейса Aero.

Но это отнюдь не означает, что другой софт, в том числе CAD/CAM системы отстают от уже довольно прогрессивной тенденции запускать всё самое современное на Windows 7/8/Server 2012/2016.
CIMCO Edit 2025.01.25
Эдакая рождественская открытка к Новому году. Магия числе 2525. Не будем рассматривать именно процесс взлома (да, crack), связанный с одноименной динамической библиотекой Dll\License.dll. Впрочем пару слов стоит оставить в этом тексте: License.dll обычно НЕ трогают, так как разработчики предусмотрели контроль её целостности (CRC). Впрочем, самое забавное что этот тот самый случай, когда НЕ нужно лезть через дверь, если окно открыто настежь. За главный исполняемый файл CimcoEdit.exe разработчики сего продукта забыли, поэтому «добрые самаритяне» патчат из года в год именно .exe'шник. Строки «ExpiryDealer», «Count», «License», «File» в помощь уважаемому читателю. Так по мелочи, понадобится ещё распознание на глаз static inline функций JSON-парсера, в которых нужно вбить данные лицензии. Но самое забавное, пожалуй, во всём этом — представьте код вашей программы, где существует условно единственная процедура проверки IsLicenseValid в которой расположены составные процедуры типа VerifyFile :
bool IsLicenseValid(int license_type)
{
switch (license_type):
{
case FILE: {return VerifyFile("license.dat");}
case LOCAL_SERVER: {return VerifyLocalServer("127.0.0.1:80386");}
case WEB: {return VerifyWeb("https://cimco_license.com/");}
}
return false;
}
где, например:
bool VerifyFile(cosnt char* license_filename)
{
... {очень большой кусок кода со сложной логикой}...
}
Для большей «взломоустойчивости» Вы покупаете DENUVO и накрываете весь код подряд дублируете вызовы VerifyFile (VerifyLocalServer, VerifyWeb) во всех частях программы, наивно полагая, что это хоть как-то затруднит взлом . Затем компилируете/линкуете с максимально возможной оптимизацией /O2 (или /O3 или даже /O4), /Ob2, /Oi, /Ot. Кардинальное отличие низкоуровневого бинарного кода от Вашего высокоуровневого квази-мышления (ну ладно, ChatGPT) заключается в наличии всего одной копии VerifyFile на весь PE .EXE'шник, которой идёт over 100500 вызовов (xrefs) вместо 100500 разных VerifyFile001, VerifyFile002,..., VerifyFile10000. К тому, что нечто подобное хотели сделать «погроммисты» CIMCO Software, но уже на протяжении лет 25 как, в прямом смысле, забывают про флаги оптимизации в своём софте. Просто в отладчике, немного видно, что они хотели получить :) Нет, понимаю, что как минимум должно быть __inlinebool VerifyFile(cosnt char* license_filename), но судя по внушительному объему кода, чисто физически оно not inline. Короче, надеюсь мысль понятна. Если не понятна, welcome to the x64dbg.
«Так а что по Windows 7 всё таки?»
В целом, ничем принципиально от кряка Chrome/Firefox/Discord не отличается. Разве что патчить гораздо меньше (софт CAD/CAM запускается до сих пор без проблем, не работают разве что модули 3D-симуляции на ЧПУ станках), но в последних версиях пошла тенденция на увеличение покрытия патчинга.
В CIMCO Edit версии 2024.01.24 патчить всего навсего требовалось лишь единственный файл Dll\CIMCOSimulation.exe, который не смог найти в user32.dll SetThreadDpiAwarenessContext, которая применяет DPI к текущему потоку. Так как это нужно runtime, то можно забить вернув дефолтное нулевое значение или вызвав SetProcessDPIAware() вместо неё.
В CIMCO Edit версии 2025.01.25 география патчинга заметно разрослась:
Dll\CIMCOSimulation.exe
Dll\Fileselector.dll
Dll\GroovingKernel.dll
Dll\GroovingKernelWrapper.exe
Dll\oraociicus.dll
Dll\SimulationWindow.dll
Dll\WebView2Loader.dll
Два файла (GroovingKernel.dll, GroovingKernelWrapper.dll) скомпонована под x86-архитектуру, остальное под x64. Первое что пришлось учесть. В остальном, увеличился больше импорт DPI Aware процедур из user32.dll. Как и в описанном случае с 2014 - использовали аналогичный подход с aware под процесс для Windows 7.
В остальных PE DLL всего навсего по одной WinAPI:

EventSetInfromation, который поддерживается только с Windows 8 не будет засорять лишним мусором Ваш журнал событий. Да-да, мы заботимся о Вашей конфиденциальности больше, чем разработчики Microsoft и CIMCO Edit.
Равно как WebGPU в Google Chrome, так и в CIMCO Edit 2025.01.25 теперь работает симуляция станков ЧПУ в операционной системе Windows 7:
По ходу дела взломали алгоритмы распаковки языковых файлов (папка /Msg) в бинарном и XMLZ-формате для CIMCO. На rutracker существует уже переведённая профессиональная сборка msg_RU-RU.bin/msg_RU-RU.xmlz на великий и могучий (официально разработчики ничего не переводили). 0x757575.
Какова реакция разработчиков (AutoDesk)? Ну, они заблокировали видео на заблокированном YouTube.
С Наступающим!
