Внедрение длл из ресурсов

Тема в разделе "WASM.WIN32", создана пользователем sanny, 3 апр 2019.

  1. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    2.354
    f13nd,

    Может быть и это по твоему бред https://wasm.in/threads/pe-loader-i-tls.32411/ ?

    Каждый кто каким то образом относится к системному коденгу малварей/защит/виксов/етц начинает именно с реализации загрузчика из памяти. Это первое знакомство вплотную с пе форматом и системным загрузчиком(фактически первая самостоятельная своя работа, но в таком случае не бегут на форумы не ясно зачем), так как нужно отлаживать :)
     
  2. f13nd

    f13nd Active Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    559
    Ты будто специально берешь одно слово из поста и докапываешься до него, не разбираясь к чему это относилось.

    Длл хороша тем, что винда ее инициализирует сама. Написать базонезависимый код, который сам возьмет базу kernel32.dll/kernelbase.dll и размотает импорт, чуть хлопотней, чем сделать длл, импорт которой заполнит сама винда. Если эта возможность не используется, длл это больший геморрой и у нее нет ни одного преимущества.
     
  3. sn0w

    sn0w Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    597
    не ссорьтесь, в двух словах - после датадиректорий, которых 16, идут заголовки секций, которых NumberOfSections из FileHeader, они то и грузятся/создаются. а вот оверлей потому и не грузится,- его просто надо в размер секции последней добавить и sizeofimage поправить.
    а насчёт длл может и да, я по другому пилил - запускался, мапил себя в себя и в цель, и относительно удалённой базы просто на своём вьюве релоки пересчитывал, вот тащемта и всё. единственно ещё есть нюансы с инитом ртл и ++ - там пришлось руками допилить, какаято хрень со статическими конструкторами была (это всё в сорцах ртл студийных есмь), не помню но и никаких длл не надо.
     
  4. f13nd

    f13nd Active Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    559
    sn0w, там "целевой процесс сам разворачивает функционал дллки как только она окажется в адресном пространстве". То, что ты сейчас сказал, для него эльфийский язык. Так что либо большая красная кнопка "сделать хорошо" нужна, либо "не очень-то и хотелось". Для чего можно захотеть загружать длл из памяти? Либо из эстетических соображений, либо в попытке ее защитить от безумных копирователей. Инсталляторы даже очень приличных программ выгружают все что надо на диск и никакой эстетикой не заморачиваются, защита от копирования таким способом заставит крякера разве что ржать до икоты.