Делаю криптор. Есть загрузчик, состоящий только из секции кода. Эта секция расширяется, и в ее конец записывается зашифрованный PE-имидж. При запуске лоадера этот имидж копируется в буфер, расшифровывается и запускается при помощи PE-загрузчика. Запуск работает, но билд палится антивирусом.
Попытался прикрутить антиэмуляцию, но лоадер все равно высаживает на измену. WinMain лоадера:
кому это говно надо вообще в 2016 любой упакованный екзешник в том же процесс эксплорере цветом показывается запускаем его и любое подозрительное говно выпиливается на раз
Бамп. Хочу сделать интерфейс для криптора, писать буду на чистом winapi. Чтобы провести время с пользой, хочу использовать шаблон MVC для отделения интерфейса от логики. Можно ли это сделать в оболочке криптора и как?
>>875168 Тогда что должна делать программа, которая считается вирусом? Отковыривать драйвера всех устройств? Полиморфик-метаморф, выводящий на экран хуец и закрывающий браузер?
Загрузчик что из себя представляет? Если инжект и настройку контекста, то не нужно. Если полноценный РЕ лодырь, то сам писал или взял готовый из интернетов?
>>875666 >Если инжект и настройку контекста Это. RunPE перезапускает свой процесс с другой начинкой. Из-за этого у меня возникли проблемы с запуском кодеса, который создает неубиваемый процесс (спавнится два процесса, которые друг за другом следят).
>Если полноценный РЕ лодырь, то сам писал или взял готовый из интернетов? Сначала пытался использовать лоадер Грейта. http://winlock.ru/viewtopic.php?id=1540 Что это вообще за пиздец? Специально выложили такой код, чтобы его надо было переписывать? Потому что он даже не компилится, а после правки возвращаются нулевые хэндлы, и вообще там память сначала освобождается, а потом используется.
Еще вопрос. Как поддерживать криптор FUD простыми средствами? Хочу сделать макрос типа #define MUSOR WinAPiFunc() и вставлять его после каждой строчки. Меняю функцию - сбиваются сигнатуры. Кроме того, сделаю шифрование и расшифровку RunPE кода, потому что он сразу попадет в базы.
Хех, добавил зашифрование и расшифрование PE-имиджа и целый час искал баг, который заключался в том, что функции расшифрования передавалось огромное значение размера имиджа. Оказалось, что оптимизация по размеру я уменьшил стаб на си до 2-х кило выкинула переменную 0xDEADFADE, которая заменяется на реальный размер при билде. Помогло объявить ее volatile. Однако теперь касперский ругается. Надо проверить запуск без шифрования. Использовал алгоритм XTEA.
О, анон, поясни за крипторы. Хочу криптовать себе анус ратники и быть тру хакером. За деньги покупать дорого, хочу сам в это дело вкатиться. Что надо делать и какие подводные?
>>876092 > криптовать себе анус ратники "криптовать ратники" в 2016 году означает делать так называемый серверный полиморфизм как то там закрывают экзешники сейчас только мудаки
>>876188 ну дык есть спрос, дак делай, это же бизнес токо писали же выше - все упакованные экзешники палятся на раз, даже тупыми способами - в том же proccess exp руссиновича отдельным цветом выделяются
>>876200 >ну дык есть спрос, дак делай, это же бизнес спрос есть, но уже спадает >токо писали же выше - все упакованные экзешники палятся на раз палят поделки уровня ОП-хуя, которые через runpe работают. мне же платят деньги за то, чтобы ни один авер не вопил при запуске билда >ах, да, скорей всего это какой-то софт, связанный с играми, чит или бот, так ведь? ноуп
>>876361 >"серверный полиморфизм" в гугле лень набрать? причем тут серверный полиморфизм? это тот-же крипт, прост билд криптуется на серваке и выдается постоянно новым. в любом случае все эти техники придется осваивать. энивей, полиморфизм уже не так канает, а вот хороший антиэмуль написать, не каждый осилит
>>876374 Зависть. Надо мне переписать лойдер Грейта, надеюсь, с ним можно что-то сделать. А передача управления на шеллкод, который делает раскриптовку секций, не катит?
>>876383 Объясни. Понимаю работку криптора как расшифровка образа и запуск в памяти или передача управления на код, который расшифровывает все секции и передает управление на оригинальную точку входа.
>>876400 >Накидайте статей по написанию обфускаторов сишного или асм кода. Если ты знаешь цешечку и уж тем более асм, то этот вопрос, как минимум, глупый, ибо написать примитивный обфускатор исходнников дело пары вечеров.
>>876672 >написать примитивный обфускатор исходнников дело пары вечеров Это толстый траленг? Выглядит как задача, в которой требуется строить синтаксическое дерево. Я вообще думал начать писать морфер ассемблерного кода, который рандомно заменяет, например, call CreateFile на mov eax, CreateFile / call eax
>>876766 >Я вообще думал начать писать морфер ассемблерного кода бред. все делается макросами на том же фасме. >например, call CreateFile на mov eax, CreateFile / call eax нинужно. авер на оба варианта будет реагировать одинаково.
Тебе нужно понять, что глупо запутывать аверов, нужо быть максимально похожим на белый софт. В этом плане тебе поможет умный генератор треш кода.
>>877055 >В этом плане тебе поможет умный генератор треш кода. Вот это мне интересно. Сначала я хотел сделать генератор мусора через дефайны, но так редко кто делает. Каков алгоритм замусоривания кода? Дизассемблировать стаб, построить связный список инструкций, и, проходя по нему, выделять память, куда писать заранее заготовленный мусор случайным выбором?
Зашифрование своего RunPE-кода хочу сделать так: в функцию RunPE вставляю метки начала и конца при помощи __asm nop nop nop nop и во время билда шифрую RunPE тем же ключом, которым он расшифровывается.
Саму нагрузку я шифрую XTEA, который повышает энтропию. Имеет ли смысл зашифрованный XTEA код кодировать Base64 для снижения энтропии?
>>877089 >Сначала я хотел сделать генератор мусора через дефайны, но так редко кто делает. Каков алгоритм замусоривания кода? Дизассемблировать стаб, построить связный список инструкций, и, проходя по нему, выделять память, куда писать заранее заготовленный мусор случайным выбором? У меня все макросами на фасме оформлено. Поэтому я треш код генерирую при компилировании стаба.
>Зашифрование своего RunPE-кода хочу сделать так: в функцию RunPE вставляю метки начала и конца при помощи __asm nop nop nop nop и во время билда шифрую RunPE тем же ключом, которым он расшифровывается. Расшифровать не забудь.
>Саму нагрузку я шифрую XTEA, который повышает энтропию. Имеет ли смысл зашифрованный XTEA код кодировать Base64 для снижения энтропии? Ваще похуй.
>>876385 У меня была идея написать статью и выложить в свободный доступ, про современные тенденции криптописания. А то, что есть в интернете уже протухло блядь на стадии написания оных. Но мне лень, блять, так что спрашивай что-то конкретное.
>>877888 Пиши давай. Почему протухло? Я читал, что генерация мусора тоже слабо помогает, потому что ав-движки подсчитывают статистику вызовов и используют цепи Маркова для анализа. Как сейчас криптуют? Как это пишется с нуля? Что знать надо?
>>877888 Алсо, как криптовать неубиваемые приложения, которые запускают 2...12 процессов, следящих друг за другом, и запускают еще 1..12 процессов при завершении одного из них? RunPE для этого не подходит из-за принципа работы. Получается бесконечный перезапуск всех процессов.
Бамп. Лениво было заниматься криптором, зато протестил его на нескольких больших приложениях. Надо бы еще протестить на комете, но мне лень.
Можно ли продать беспалевную криптовку? Каким образом это сделать? Просто регаешься на сплоите, создаешь тему, и школьники платят тебе за криптовку ратников для своих подружек?
Впрочем, похуй, все равно надо переделывать очень много. Вот здесь делаю шифрование кода RunPE >>879062 Ключ для расшифрования буду вычислить каким-нибудь антиэмуляционным кодом, в котором апихи возвращают правильное значение только под виндой, типа такого:
Хочу сделать протект кода так, чтобы без шифрования из ассемблерной вставки происходил переход на вторую ассемблерную вставку (в конец функции) для обхода зашифрованного кода. При расшифровании надо как-то патчить дальность перехода.
>>882528 Не знаю, что спросить. 1. Как делаются крипторы в общем случае? Как сделать наименьший стаб для легкой чистки? 2. Как реализуется RunPE для x64, какие там изменения по сравнению с x86? 3. Какими средствами делается полный FUD? Используют ли шифрование/расшифрование в рантайме частей стаба для сбивания сигнатур на наиболее важные функции? 4. Как продавать крипт и не опозориться на весь эксплоит? Что нужно учесть в своем крипторе для работы с любым софтом? 5. Какие подводные камни с TSL и почему об этом пишут при продаже крипторов?
>>882611 >1. Как делаются крипторы в общем случае? Как сделать наименьший стаб для легкой чистки? Стаб, антиэмуль, загрузчик. Наименьший стаб элементарно, все что тебе для этого надо - базонезависимый код. >2. Как реализуется RunPE для x64, какие там изменения по сравнению с x86? Последний раз тебе говорю, RunPE для лохов, PE Loader для пацанов. Пишется лоадер для х86, а дальше добавляются нужные структуры для х64, импорт-хуимпорт и прочая дичь. >3. Какими средствами делается полный FUD? Используют ли шифрование/расшифрование в рантайме частей стаба для сбивания сигнатур на наиболее важные функции? Берешь нужный тебе авер и исследуешь, по каким именно критериям он палит твой билд, потом добавляешь этот способ обхода в загрузчик. Ну и писать регулярно апи-антиэмули, либо разработать более-менее универсальный(какой? а вот в этом сам разберись). >4. Как продавать крипт и не опозориться на весь эксплоит? Что нужно учесть в своем крипторе для работы с любым софтом? Не использовать RunPE. Криптор должен поддерживать все, что сейчас в моде, а также ФУД и постоянная поддержка. >5. Какие подводные камни с TSL и почему об этом пишут при продаже крипторов? TLS, а не TSL. Это такая штука, которая отвечает за память потоков, и без чего не обходится ни одна прога написанная на delphi. А подводные камни в том, что если твой криптор не будет поддерживать работу с tls, то и софт, который его использует, не будет работать.
И какой план изучения PE-лоадера можно придумать? Наверно, я напишу какой-нибудь виндовый хеллоуворлд без релоков, напишу загрузчик с базовым адресом повыше и буду пытаться правильно размещать заголовки по базовому адресу, копировать секции.
даже интересно тебе по треду уже написали и не раз, что рынок сужается, продать ты свое поделие врят ли сможешь качественный дроппер напиши ну или server-side полиморфизм осваивай, тоже полезно будешь "криптовать" свое поделие дома и по сети просто обновлять всю нагрузку и все, с какой-то периодичностью
>>883337 >тебе по треду уже написали и не раз, что рынок сужается, продать ты свое поделие врят ли сможешь Печально, я ради этого взялся задрачивать, ну и просто охуенное ощущение, когда твоя программа, наконец, стартует из памяти.
>качественный дроппер напиши Как сделать качественно? Тоже использовать антиэмуляцию, детект песочниц, замусоривание исходников api-вызовами перед компиляцией?
>>883337 опять же, нужны нехуевые знания, чтобы уметь сделать хотя бы просто более-менее работающий криптор, или там суметь сделать полиморфный вирус (сейчас и вообще никто это не делает), или сделать руткит и то что будет работать в kernel mode для этого нужно быть не только программистом, но и исследователем и реверсинженером, это очень сложно и затратно по времени и имея только навыки кодера, ты это не сделаешь, в то время как написать что-то просто аккуратно и относительно незаметно работающее в user mode, то что общается по сети через http через настройки дефолтного браузера - это да, ты сможешь сделать
>>883340 для начала напиши обычный дроппер (вообще без никакого скрытия в системе) который может забрать полезную нагрузку через http с фиксированного сервака и нормально проинсталлировать ее в систему даже это, если делать с нуля, займет у тебя пару месяцев а потом начинай потихоньку усовершенствовать его
>>883343 >даже это, если делать с нуля, займет у тебя пару месяцев Писал программу, которая копирует себя в папку Roaming и прописывается в Run. Это, видимо, уровень дно, а не "нормально проинсталлироваться в системе"?
Что такого можно два месяца делать в программе, которая просто скачивает файл и запускает его?
Во вторых это какой то нубский треш - функа которая аналог GPA, ну и что дальше, базонезависим - так GPA тоже. Автор есно не понимает что базонезависимость это большое зло, так как данные от кода не отличимы. А для такого кода современные технологии(автоматика) применяться не могут.
Похоже, настоящее программирование умерло. О чем-то низкоуровневом на форумах можно ждать ответа долго и все равно никто не ответит. Постинг низкий, людей мало. На форумах малварщиков сидят 3.5 топа, но там наиболее вероятно получить ответ на какой-либо вопрос.
>>883396 сейчас за блек в россии сажают причем сажают и кодеров положим написал ты относительно безобидный софт что на андроиде работает с смс но конечно же ты знал для чего его будут использьзовать тебя найдут, и пойдешь ты сразу по нескольким статьям, тк припишут группу, а группа за собой потянет и мошенничество в особо крупных и прочее и все, отправился лет на 8
>>883622 Двачую тебя. Мать, когда ещё следаком была, говорила, что все чаще в нагрузку дают подобные дела. Самое смешное, что кодеры писали за штуку-две баксов в месяц код, который большим дядям десятки миллионов долларов приносил. Угадай, кто потом попадает на сгущенку, а кто находится вне юрисдикции РФ.
В самом начале было 20 детектов. Когда я везде натыкал макросы MUSOR, детект снизился до 11. Потом я хотел улучшить энтропию кодовой секции и вместо шифрования XTEA использовал ксор с константой. Но это увеличило детекты на 7. Некоторые антивирусы, видимо, запускают мой криптор в песочнице, остальные обламываются на антиэмуляции и палят по сигнатурам.
Я прочитал, что сигнатуры сейчас делают на все, что угодно: на поля хедеров, таблицу импорта, и т.п., поэтому просто разбавлять код мусором помогает не сильно. Как уменьшить палево?
Выкинул весь код из стаба, загрузил пустой ПЕшник на вирустотал. Четыре детекта. Опять пустой стаб, состоящий только из секции кода. Расширил секцию кода и дописал в ее конец зашифрованный софт. Теперь 14 детектов несмотря на то, что стаб ничего не делает.
>>886014 >Откуда детекты? >Тебе нужно понять, что глупо запутывать аверов, нужо быть максимально похожим на белый софт Ресурсы, импорт, вызовы АПИ, все это должно быть реализовано так, как в простом софте. С авастом и его evo-gen ты конечно поебешься знатно.
>>886136 >Ресурсы В стабе ресурсов нет. >импорт Вызов системных апи сделал путем получения их адресов из кернеля. В таблице импорта остались безобидные функции вроде ZeroMemory и CreateFile. >вызовы АПИ Как в простом софте вызываются апи? Что не так у меня?
Еще в моем стабе плохо то, что секция кода записываемая. Если кинуть нагрузку в ресурсы, а не в секцию .text, количество детектов уменьшится? Какие подводные камни при таком подходе?
>>886481 >Еще в моем стабе плохо то, что секция кода записываемая А, нет, это я уже исправил. Но нагрузка дописывается в .text.
Почему высокая энтропия это плохо? Что она собой представляет? В теории информации энтропия - это математическое ожидание сообщений из источника. То есть нечто наиболее вероятное. Почему высокая вероятность чего-то это плохо при детекте?
>>886490 У меня почему-то после шифрования ксором с константой файл в олли начал определяться как упакованный. Когда шифровал XTEA, такого детекта не было несмотря на то, что в XTEA используется сеть Фейстеля, которая за 64 раунда делает из данных кашу.
>>886481 >В стабе ресурсов нет. А должны быть >Вызов системных апи сделал путем получения их адресов из кернеля. Это все надо делать в лодере >Как в простом софте вызываются апи? msg db 'text', 0 stdcall [MessageBoxA], 0, msg, 0, MB_OK >Что не так у меня? Прочитай мои комментарии еще раз. Если не дойдет читай стоя и вслух как мантру перед тем, как лечь спать. Я уже все тебе разжевал, осталось за тебя только код написать. >Еще в моем стабе плохо то, что секция кода записываемая. Зачем ты пишешь в кодовую секцию?ты что, ебанутый? Что тебе мешает скопировать ее в выделенную память и там расшифровать? >Если кинуть нагрузку в ресурсы Да хоть в задницу аллаха ее запихни. Главное скопируй ее в память и там расшифровывай ее.
>>886505 Обычный ксор легко снимается если в файле есть последовательности нулевых байт (а они есть). Для изучения энтропии сделай гистограмму следующего типа: int hist[256] Пробегайся по шифрованым данным и для каждого байта x делай hist[x]++. Потом сравни две гистограммы для кода обычного файла и криптованого. Примерно так делают АВ.
>>886831 >Это все надо делать в лодере В чем разница между стабом и лоадером? Посмотри мой код. У меня стаб - программа, состоящая только из секции кода. При запуске она читает то, что дописано в конец .text, копирует в память, расшифровывает и запускает. Запуск через RunPE. В процедуре RunPE адреса нужных API берутся из кернеля.
Попробую кидать нагрузку в ресуры и посмотрю на результат. Сейчас у меня палится даже пустой стаб, из которого оптимизатор выкинул все, кроме WinMain, в котором есть только ret.
Бампану, пожалуй. Я понял, что надо делать. Кроме того, узнал, что должны быть приблизительно выполнены некоторые соотношения между размерами секций, потому что при файловом анализе маленькая кодовая секция и большая секция ресурсов вызывает подозрение. Кодовую секцию надо забивать умным мусором, в котором есть логика. То есть, если где-то объявлена переменная, она должна быть использована. Если функция вернула значение, его надо использовать. Для крипта попробую кодирование Base85. Сейчас разбираюсь с апи UpdateResources.
>>894420 Изучал масм и смотрел исходник полиморфного криптора. Мне не совсем понятна идея. Там стаб дизассемблируется и строится какой-то связный список который, видимо, содержит инструкции. Затем для одного поля каждого узла выделяется память и что-то происходит. Используется ГСЧ для генерации мусора. Тот говнокод я плохо понял.
Между инструкциями в связном спике вставляется рандомный мусор? Как потом это все записывается в секцию кода? Как ее увеличить и не переусложнить построение заново структуры файла, чтобы секция кода не налезала на данные?
>>894400 >Уменьшил детект по импорту и энтропии. Ты же понимаешь, надеюсь, что как только твой зверь пойдет гулять в интернет и попадет в руки дятлов АВ индустрии, то будет детект, возможно и по импорту. Сможешь ли ты быстро перестроить его?
>Изучал масм Я про асм в принципе, а не синтаксис и компилятор
>Мне не совсем понятна идея В старые времена, когда были распространены вирусы, делалось это так. В зараженном файле была секция с кодом вируса, причем в каждом новой exe файле данный код был разный. Сейчас же идея полиморфа состоит в том, что каждый новый билд криптора должен иметь минимум повторений кодовой секции с прошлым билдом.
>Используется ГСЧ для генерации мусора Нахуй ГСЧ? Все делается на стадии компиляции билда, а не при его работе.
>Тот говнокод я плохо понял. Сюда кинь, я поясню
>Между инструкциями в связном спике вставляется рандомный мусор? Если хочешь использовать трешген, то да.
>Как потом это все записывается в секцию кода? На стадии компиляции макросами. Изучи наконец инструмент с которым ты работаешь.
> Как ее увеличить и не переусложнить построение заново структуры файла, чтобы секция кода не налезала на Не лезь, блядь, в исходный файл. Он должен оставаться девственно чистым, ты же, блядь, не протектор пишешь.
Секции правильно мапятся в участок памяти, выделенный по базовому адресу, но выполнить код в секции .text не получается, вылетает ошибка доступа несмотря на то, что я выделяю память с атрибутом EXECUTE. Почему так?
>>897896 >Надо что-то сделать с таблицей импорта, потому что адреса функций неправильные. Тебе нужно перестроить таблицу импорта. >Не совсем понимаю, как проставляются атрибуты секций. В каких сочетаниях они могут использоваться? Все их сочетания перебирать? IMAGE_SCN_MEM_EXECUTE == PAGE_EXECUTE IMAGE_SCN_MEM_READ == PAGE_READONLY IMAGE_SCN_MEM_WRITE == PAGE_WRITECOPY IMAGE_SCN_MEM_NOT_CACHED == PAGE_NOCACHE Что тут непонятного?
>>898254 >Тебе нужно перестроить таблицу импорта. Ладно, буду читать Криса о PE-формате. То есть просто разместить виртуальный имидж по адресу в поле BaseAddress недостаточно? Перестраивание таблицы импорта может оказаться таким сложным, что в результате патчинга потрутся соседние данные и придется перекраивать весь образ?
>>898282 >То есть просто разместить виртуальный имидж по адресу в поле BaseAddress недостаточно? нет >Перестраивание таблицы импорта может оказаться таким сложным, что в результате патчинга потрутся соседние данные и придется перекраивать весь образ? Там нет ничего сложного. Если ты не долбаеб, то ты не будешь лезть дальше IMAGE_DIRECTORY_ENTRY_IMPORT. >В кулхацкерских экзешниках бывают нестандартные сочетания флагов. Их игнорировать? Для начала сделай так, чтобы без проблем запускался хотя бы калькулятор. А дальше тестируй свой лодырь на всем, что тебе попадется, что не будет работать суй в отладчик и смотри где падает и исправляй.
>>898328 Что происходит при инициализации процесса? Почему при запуске имиджа методом RunPE импорт оказывается заполненным, если сама процедура этим не занимается? Единственное, что делает RunPE-код, это заменяет структуру CONTEXT в новом процессе, а в этой структуры хранятся только значения регистров процессора, в которых лежат BaseAddress, PEB и что-то еще.
>>898454 >CreateProcess полностью проецирует образ в память Это делает runpe-код, который копирует заголовки и размещает секции по заданному адресу. Точно так же, как в загрузчике, который я начал писать.
>>905875 Зато после того, как ко мне нагрянули ФСБшники, у меня появилась мотивация развиваться дальше. Жизнь за пределами моей квартиры полное дерьмо, и нужно развиваться, чтобы не быть среди всего этого скота.
Надеюсь, компы вернут, сгухи не будет, а я задрочусь всласть по этому ресёрчу. Алсо, для крипта надо будет написать перестановочный шифр, который не повышает энтропию, а не юзать неудобный ascii85.
>>907671 если доведут дело до суда, то административка, очень врят ли условка оправдательного приговора не будет, тк не в россии их не выносят почти ну и на карандаш ты уже поставлен, поэтому как-то монетизировать свои знания врят ли получится
Блять, какой же ущербный ноут, с которого сижу. Как неудобно кодить. Здесь еще и курсор иногда сам переходит на строчку выше. Административка может быть в виде обязательных работ или конфискации орудия преступления?
Я выкинул много функций из таблицы импорта и получаю их адреса про помощи GetProcAddress из кернеля, но это понизило детект только на 1. Как импрувнуть недетектируемость? Вызывать функции по хэшу при помощи парсинга PEB?
>>909546 Шифруй имена библиотек, и перед тем как получить через getprocadress расшифровывай. Примерно так: getprocadrr(k32, xor_dec("KenJeb&4,'*7", "12345")
Нахождение в библиотеке реализовано. Как сделать вызов функции с неизвестный числом аргументов по хэшу? Аргументы перечислить смог при помощи встроенных средства си, а как их пихать в стек перед вызовом? Как потом сделать вызов?
Оп, ты, это, какого хуя тут до сих пор сидишь? Может тебе неочевидно почему у тебя забрали пекарню? Или я даун сделал неверный вывод? Но если я сделал вывод верный то ты просто необучаемый же.
>>909904 >Может тебе неочевидно почему у тебя забрали пекарню? Один раз писал гадости одной тян, и меня слили. Это было полгода назад. Мне предъявили скрины переписки. Я не думаю, что это из-за сабжа треда, хотя приход товарищей-капитанчиков совпал с обсуждением в дурове дела, связанного с одной софтиной. На следующий день пришли.
>>909908 Ладно, я, пожалуй, съебу отсюда. Напоследок вопрос: как окончательно почистить таблицу импорта? Я убрал оттуда все вызов, относящиеся к RunPE, но там еще куча системных апи от всяких GetModulePath (как-то так), GetSystemInfoA, VirtualAlloc откуда-то (я ее пытался сделать ноимпорт), VirtualQuery.
>>909973 Тут на форуме разработчики говорят, что вообще не используют импорт в троянах. Тогда какие именно апи надо вычищать из импорта, а какие оставлять? И зачем писатели троянов возятся с импортом, если троян потом все равно криптуется? Каким должен быть импорт криптора? Смотреть на импорт легального ПО и делать похоже?
Какие еще функции должны быть в крипторе? Нужен ли антидебаг и антипесочницы для того, чтобы крипт жил дольше? Если да, то куда их втыкать? В начало каждой функции или только в начало точки входа?
Но добавились три детекта по коду антидебага: детект по получению PEB от какой-то говноконторы, динамический детект. Как правильно использовать антиэмуляцию? Авер ведь эмулирует все функции, которые видит, поэтому делать антиэмуляцию только в StubEntry() недостаточно? Надо в каждой функции сделать хотя бы противоэмуляционный цикл, тратящий время?
>>913241 >детект по получению PEB от какой-то говноконторы, динамический детект Частично решил проблему. Детект был по бесконечному циклу, в котором проверялось наличие отладчиков. Просто сделал динамический вызов процедур по хэшу, и 3 детекта отвалились.
Wait, oh shi- Только что стаб закончил анализироваться на зискане, и детектов нет ВООБЩЕ.
Но все же интересно: авер эмулирует все функции друг за другом? Надо делать в каждой функции антиэмуляцию?
Сап, добрые анончики, дайте напутствие и благославление коллеге. Что нужно подучить, в какую сторону посмотреть, чтобы добротно криптовать малварь под виндус? Основное я - это вэб макакинг, ибо кушать хочется... а вот хобби и душой плаваю я на просторах низкого уровня и всяких там регистров, битиков и байтиков. Для этого дела имеется следущее: Асм(фасм, насм)х86-64 ещё не все команды выучил и понимаю как правильно их пользоввать, но в процессе каждый день по 4 часа выделяю оч хо познать это дело, С++ более менее ООПчик тоже имеется ну при нужде буду доку дрочить, вообщем я из тех кто считает называтся кодером без низкоуровневых знаний и матана нини. Так вот, что я тогда PE формат учить? гугал и школьники на хацкерских форумах советуют.
Надеюсь ОПа посадят лет на 5 в тюрячку. Такой скам должен сидеть под шконкой и питаться баландой. Белые люди двигают человечество вперед. Руснявый гной, вроде ОПа, срет людям жесткие диски и вымогает шекели.
Попытался прикрутить антиэмуляцию, но лоадер все равно высаживает на измену. WinMain лоадера:
http://ideone.com/ueefFh
Как сделать без палева?