Предисловие
На практике NCALayer нередко устанавливается «успешно», но без нужных модулей:
ЭЦП не определяется, внешние системы не работают, а повторная установка не помогает.
Разбор конфигураций, Java-параметров и логов — путь рабочий, но не всегда оправданный по времени.
Ниже — способ проще, который не требует вмешательства в конфиги и проверен в реальных средах.
В чём идея
NCALayer — это самораспаковывающийся Java-архив.
Его можно открыть любым архиватором (например, 7-Zip) и добавить нужные JAR-модули напрямую.
NCALayer подхватывает эти модули автоматически при первом запуске.
Где лежат модули
Открываем
NCALayer.exeчерез 7-ZipПереходим в каталог:
kncabundlesЭто каталог OSGi-бандлов, которые NCALayer загружает при старте.
Как происходит «вшивание»
В каталог kncabundles добавляются нужные .jar-файлы.
Из практики без проблем вшивались:
esf-signer.jarRaiting1c_edoBundle.jar
Файлы добавляются напрямую в архив, без распаковки и без изменения структуры.
Критически важный момент — кэш
Если NCALayer уже запускался хотя бы один раз, он сохраняет состояние и список модулей в пользовательском кэше.
В этом случае новые модули из NCALayer.exe проигнорируются.
Что нужно удалить перед запуском
Перед первым запуском модифицированного клиента необходимо очистить кэш:
AppData\Roaming\NCALayer\
Удаляются каталоги:
bundles ncalayer-cache jre
После этого запускаем модифицированный NCALayer.exe — модули будут подхвачены корректно.
Почему это работает именно так
NCALayer использует OSGi:
при первом запуске бандлы извлекаются из
kncabundles;сохраняются в пользовательском кэше;
при последующих запусках используется сохранённое состояние.
Поэтому без очистки кэша любые изменения в exe не учитываются.
Ограничения и риски
Целостность файла
После модификации:
меняется хэш
NCALayer.exe;цифровая подпись становится недействительной.
В средах с AppLocker / SRP это может быть критично.
Источник модулей
Любой .jar из kncabundles будет выполнен в контексте пользователя и участвовать в работе с ЭЦП.
Использовать стоит только проверенные модули из доверенных источников.
Обновления
При обновлении NCALayer файл NCALayer.exe будет перезаписан, и все вшитые модули пропадут.
Практичный вариант — хранить:
чистую версию;
модифицированную версию;
список добавленных модулей.
FAQ
NCALayer не видит модуль
→ Проверьте, очищен ли кэш. В 90% случаев причина именно в этом.
Нужны ли права администратора?
→ Обычно нет, если используются только JAR-модули.
Можно ли добавить несколько модулей сразу?
→ Да, но только до первого запуска.
Можно ли сломать NCALayer?
→ Максимум он не запустится. Всегда можно вернуться к чистому exe.
Где смотреть ошибки?
→ AppData\Roaming\NCALayer\ncalayer.log
Итог
Это не взлом и не обход защиты, а использование внутренней логики NCALayer.
Метод неофициальный, но в ситуациях, когда штатный установщик не справляется, он оказывается самым быстрым и предсказуемым.
