Эволюция есть результат естественного отбора и постоянной приспособляемости организма к условиям среды обитания. Экстраполируем данную дефиницию на некий криптор и посмотрим как она подходит к неосуществимой на первый взгляд цели - созданию универсального необнаруживаемого криптора и соответственно, кода, который он скрывает. Итак, дано: 1. Некий код, работающий только на обыкновенных инструкциях/апишках/etc (не создает подозрений у любого представителя агрессивной среды, такого как эвристик, эмулятор, etc) 2. "Генотип" декриптора (формализованное описание алгоритма и последнее успешное состояние, принимаемое за основу при генерации нового экземпляра, обновляемое по мере создания нового успешного потомка) 3. "Генотип" генератора декрипторов по "генотипу" из пункта 2, обладающий свойствами по пункту 1 4. Представитель агрессивной среды (антивирус, HIPS, etc) Задача: Стабильно запускаться несмотря на наличие агрессивной среды, иметь возможность подстраиваться под условия агрессивной среды автономно. Алгоритм: 1. Запускаемся, смотрим дату своего файла и текущее время - если разница не более N часов, переходим на пункт 5 2. Запускаем генератор, описанный в пункте 1 исходных данных, генерируем с помощью изменения "генотипа" по пункту 3 исходных данных и модификаций реализации частей алгоритма генератор декрипторов, кладем в файл каждый экземпляр, ждем реакции агрессивной среды - если реакция наступила, сохраненное состояние изменяется, генерируется новый экземпляр и так до тех пор, пока агрессивная среда не замолчит. 3. Запускаем генератор, созданный в предыдущем пункте, генерируем с помощью изменения "генотипа" по пункту 2 исходных данных и модификаций реализации частей алгоритма декриптор - проверяем реакцию на него со стороны агрессивной среды, повторяемся до полного отсутствия реакции среды - записываем успешное состояние и изменившийся "генотип" в новый файл, вместе с генератором декрипторов, созданным в предыдущем пункте. 4. Копируем в созданный в предыдущем пункте файл с генератором декрипторов и декриптором зашифрованные данные, запускаем свежесозданный файл и передаем ему свой PID и висим на хендле собственного процесса до посинения. 5. Смотрим, нет ли среди командной строки числа, олицетворяющего PID - если есть, грохаем предка руками, после чего удаляем его тушку, более ненужную 6. Расшифровываемся и выполняемся Таким образом, на конкретной машине с конкретной агрессивной средой нет необходимости обходить все возможные проверяющие агрессивные среды - достаточно только тех, которые установлены на конкретной системе. Обход одной агрессивной среды, как минимум, на порядок проще обхода всех широко используемых сред, в generic виде. Резюмируя, можно сделать вывод, что алгоритм универсального криптора, необнаруживаемого существующими средствами, в том числе и облачными, существует и может быть реализован в обозримое время. Было бы интересно услышать мнения присутствующих на сей счёт.
Слишком все идеализировано и удалено от реальности) Ну он не будет создавать подозрений до поры до времени. А потом сделают на него сигнатуру и все) А генотип генератора генератора декрипторов? В вашей схеме, если я правильно понял, ставка делается на то что всегда есть один екзешник который не палится и спокойно запускается. Но так не бывает.
onSide 1. Читаем п.1 исходных данных 2. "До поры до времени" здесь неуместно - он существует несколько часов в определенной форме, после чего становится полностью другим.
Уточню: исходный вид тоже не является определяющим. Генератор исходного криптора по рандомному принципу выбирает агрессивную среду из нескольких широко известных, к которой первоначально и адаптируется.
твой родной язык русский? или тя зачал математик и математиха? неужели нельзя подбирать более понятные слова, а не использовать англицизмы? выражайся яснее а то тебя никто не понимает ))))))))
Rainghost Косвенно декларирована недостаточная транспарентность Ваших аргументов (: T(A) < Tmin ECk Идеи котируются. По мелочам: ъ Не ясны цели. Если это пакер (криптор) - он уже по умолчанию привязан к архитектуре софта, который пакуется. В любом случае софт этот должен будет постоянно обновляться и тд, это выглядит как "клиент-сервер". При всем этом сам криптер ты хочешь сделать самостоятельным, варьировать параметры, генерировать N семплов прямо на целевой машине и сразу проверять жизнеспособность. Зачем? И хватит ли мощностей чтобы выдать достаточное кол-во жизнеспособных вариаций? Не выдашь - умрет вся колония при сдедующем же апдейте, силы не равны (: ъ Сама идея что нужно вроде как мутировать, но при этом каждое новое поколение состоит из одного семпла (если я верно понял) - как-то не тру совсем. Получается, что или разброс будет слишком узкий для всех потомков по умолчанию или же каждый новый generation прийдется делать, мутируя гены предыдущего очень хардкорно, теряется вообще сама идея с генами. Gn+1 (Gn) будет стремиться к Gn+1 (RandomValue). ъ Смешаны уровни абстракции, деЛайт возможно что-то и понял но только потому, что влил в себя около 1л крепленого "Бастардо". Описывается абстрактно поведение зверья, при этом открывается какой-то хэндл, передается PID в командную строку. Дикая смесь. Что-то похожее, но не привязанное к пакерам, криптерам и прочему, я когда-то пытался обсудить тут - https://www.wasm.ru/forum/viewtopic.php?pid=421420#p421420, но не пошло. Поскипано, ибо бред Кто здесь?
Хотел добавить, что на компьютере пользователя должен быть окончательный вариант генома, иначе фалсе билды будут палица, а нам палево не допустимо
365 нет, не должен быть окончательный вариант - он окончательный каждые несколько часов на каждом компе свой и мутирует в зависимости от изменений агрессивной среды (обновления, etc, замена агрессивного софта). Если будут палить промежуточные билды - придется промежуточные билды добавлять в виде сигнатур, что вызовет у агрессивной среды комбинаторный взрыв или фолсы на легитимные программы. Но, при этом, теоретически, если запуск прошел и организм не спалился - с чего бы ему спалиться вдруг? Эвристика и поведенческий анализ отдыхают по причинам временнОй пермутации частей алгоритма, а генотип (последний сохраненный) сохраняется для удобства воспроизводства. Ежели он не спалился, он и в базу не попал - а в базу не попал, значит и не спалился - то есть, реально перерождаться придется не каждые N часов.
Отстали от жизни. В основе современных крипторов - биороботы (!!!11), которые "принимаются за основу при генерации нового экземпляра" и при некачественной генерации успешно заменяются.