жрут меньше оперативки, так как библиотека загружается один раз, после чего разные процессоры могут ее юзать
Это справедливо для определенной части системных библиотек (и то с некоторыми оговорками), которые во всех процессах, в которые они загружены, имеют один и тот image base: kernel32.dll, kernelbase.dll, ntdll.dll, etc.
Для остальных библиотек загрузка по их image base не гарантирована и они почти всегда будут получать другой image base. Это заставит системный PE loader обрабатывать для этих DLL релоки, что в свою очередь стриггерит CoW и как следствие - копирование кода библиотеки в другие физические страницы памяти.
Статические - ... или лежат рядом.
Статические (lib) библиотеки не лежат рядом с приложением. Рядом с приложением могут лежать динамические библиотеки.
Там можно обойтись без этого. Приложение может прочитать собственный PE заголовок, чтобы получить размер своего же образа. Соответственно, все, что будет за пределами образа - это оверлей с какими-то данными.
Wexter, ну смотреть на 502 ошибку тоже такое себе)
Также базы, которые используются для геоблока, не поспевают за перепродажами пулов IPv4, всегда найдется тот, у кого будут проблемы с доступом даже если он из РФ
syxme, инструменты защиты при каждом создании билда защищенного приложения генерируют уникальную виртуальную машину. То есть можно несколько раз подряд защитить одно и то же приложение и каждый из билдов будет иметь разные коды для одних и тех же инструкций и т.д.
И это лишь одна из фич, которых очень много в таких инструментах
syxme, могу предложить развить вашу задачу в более интересный таск, так сказать "задача со звездочкой" -
обфускация на основе виртуальной машины, или в простонародье "виртуализация".
Базовое представление о том, что это такое (первая попавшаяся статья) - https://xakep.ru/2019/02/20/virtual-obfuscation/
Сфера невероятно узкоспециализированная, но интересная, а людей с хорошей квалификацией в ней во всем мире, наверное, можно пересчитать по пальцам одной руки.
Это справедливо для определенной части системных библиотек (и то с некоторыми оговорками), которые во всех процессах, в которые они загружены, имеют один и тот image base: kernel32.dll, kernelbase.dll, ntdll.dll, etc.
Для остальных библиотек загрузка по их image base не гарантирована и они почти всегда будут получать другой image base. Это заставит системный PE loader обрабатывать для этих DLL релоки, что в свою очередь стриггерит CoW и как следствие - копирование кода библиотеки в другие физические страницы памяти.
Статические (lib) библиотеки не лежат рядом с приложением. Рядом с приложением могут лежать динамические библиотеки.