Перейти к содержанию

Black_Dog

Пользователь
  • Публикаций

    7
  • Зарегистрирован

  • Посещение

Репутация

96 Excellent

Информация о Black_Dog

  • Звание
    Rank №1
  1. Нужны ли PE оверлеи?

    по нормальному высчитывается так... последняя секция: raw data offs raw data size = адрес оверлея. так что ничего никому переписывать не нужно Я понял. Спасибо большое за ответ. Особенность эту я тогда отложу в долгий ящик. Если наткнусь на клиента, который будет явно в такой функции нуждаться, дописать несоставит особого труда.
  2. Нужны ли PE оверлеи?

    Доброго всем времени суток. Занимаюсь сейчас написанием криптора для Windows PE файлов (*.exe) и столкнулся по мере изучения формата с таким явлением, как Overlay. Насколько я понял, это особый способ добавить в *exe файл дополнительную секцию с информацией, которая при запуске процесса не будет извлекаться в ОЗУ (т.е. игнорируется), что в свою очередь позволяет создавать PE-файлы до нескольких гигабайт размером. И вот мы подошли к самому главному вопросу: "А нужна ли поддержка оверлеев для криптора?" Мне в принципе несоставит труда просто добавить копирование оверлея в конечный *exe файл результата крипта, но вот с этого момента возникает ряд вопросов: -Как с оверлеем работает оригинальный код упаковываемого PE-файла -Будет ли он корректно находить в конечном результате крипта эту секцию -Не придётся ли потом клиенту переписывать весь код своего PE-файла для совместимости с криптом или наоборот, не придётся ли мне переписывать свой крипт для корректной работы с PE-файлом клиента Как мне лично кажется, мало кто нынче пользуется такой вещью, как оверлеи, в своих проектах. Поэтому и создаю эту тему, чтобы спросить у работающих в этой области людей о целесообразности потраченного времени на такую технологию, или же проще просто обойти это явление стороной. С уважением, Black_Dog :ph34r:
  3. Avira и как её успокоить

    Такой ещё вопрос. Взял на крипт файл побольше (150кб) и Avira стала называть меня TR/Dropper.Gen Пока сижу целый день мучаюсь, подумал может здесь советом быстрее помогут. Поэтому если кто-то сталкивался, дайте намёк, куда копать. Пока что помогает только "Внесение случайности в базовый адрес", но это ломает весь код и стаб на выходе нерабочий. Заранее благодарю за внимание :ph34r:
  4. Avira и как её успокоить

    от эмуляции я вроде неплохо прячусь, хотя даже когда я её выключаю ругаться начинает 1 - 2 хомячка. Хранить криптоконтейнер в .data - тоже самое что стрелять себе в ногу, храни в ресурсах по частям дабы не создавать лишнюю энтропию, если шифруешь контейнер RC4 - убирай MZ заголовки(4d5a), поскольку АВ пробрутит очень быстро, и при нахождении данных заголовков выдаст детект. Я нашел способ эффективно снижать энтропию, но за совет с ресурсами спасибо. Когда буду дорабатывать, добавлю и такую возможность. Вполне имеет место быть. достань адрес kernel32 из структуры ProcessEnvironmentBlock(Ldr->InMemoryOrderModuleList->Flink) и вытащи адреса нужных функций из экспорта, дабы избежать детектов на директивных вызовах API. Попробуй трешгенить функциями из графических библиотек, те же битмапы из gdi/gdiplus, полезная нагрузка забьет импорт, на выходе меньше подозрительности. С самого начала я так и брал ntdll и kernel32. А в качестве треша я накидал создание окон, кнопок и прочего интерфейсного мусора. А ты точно отключаешь отладочную инфу? :) отладочной информации у меня точно нет. Ещё раз всем огромное спасибо за помощь. :friends:
  5. Avira и как её успокоить

    Дело и правда оказалось в Энтропии раздела data Как только добился энтропии 5,56 получил ФУД Осталось только отладить этот момент. Огромное спасибо всем за помощь :rolleyes:
  6. Avira и как её успокоить

    Энтропия секций: API Мусорного кода берется из импорта. API Стаба - с помощью кастомного GetProcAddress. Он в свою очередь из импорта юзает GetModuleHandle и LoadLibrary. Названия функций пошифрованы. В список импортируемых стабом функций входят CreateProcessIntervalW, GetModuleFileNameW, RtlDecompressBuffer и куча Nt-шных и Zw-шных функций работы с памятью. PE в памяти разбит на куски, так что к RtlDecompressBuffer претензий не должно быть, так как целиком клиентский PE в памяти никогда не существует, только уже в теле приемника.
  7. Avira и как её успокоить

    Доброго времени суток :ph34r: Такое дело: Занимаюсь написанием криптора и к данному моменту уже имею %99.99 всего необходимого функционала. Однако вот уже 2 недели терплю крики в свой адрес от Avira мол что я Vundo и иногда XPACK Сначала думал дело в структуре тела - перестроил, раскидал код в разные уголки галактики, вернул .rdata потом думал на компилятор, мол старый - обновил потом думал на заголовок PE в памяти - спрятал потом думал на участки кода, мол подозрительные - отсекал, чекал, безрезультатно потом думал на импорты - отладил думал на ресурсы - заменял, даже сертификаты вшивал думал на песочницы - чекал и умирал если есть и наконец думал что сам антивирус наркоман, но на DemoTest собранный с теми же параметрами и криптованным телом внутри не ругается Avira всё равно, будто в лицо меня знает, ругает меня. :unsure: Как-то неловко задавать вопрос, но от безвыходности, так как в я в глухом тупике, всё же задам: "А как вы боритесь с Антивирусом, который даже устанавливаться корректно отказывается" Компилятор: Visual Studio 2010 и Visual Studio 2012 Платформа: x86, XP,Vista,7,8,8.1,10,Server 2003,2008,2012,2016 TLS: Есть Кодировка: ANSI Импорты: ntdll, KERNEL32.dll, USER32.dll, COMCTL32.dll, POWRPROF.dll Секции: .text(EntryPoint), .rdata(импорты и строки), .data(криптованное тело), .tls, .rsrc Размер стаба: от 25кб Скан: https://dyncheck.com/scan/id/a65bda2f5f9f8d...4a2efb63792e371
×