Обращение к строке как к dll

Тема в разделе "WASM.BEGINNERS", создана пользователем pzeclawski, 20 июн 2011.

  1. pzeclawski

    pzeclawski New Member

    Публикаций:
    0
    Регистрация:
    16 май 2010
    Сообщения:
    2
    Добрый день!

    В коде имеется dll, оформленая в виде строки.

    byte dll[1024] = "\x.....";

    Я хочу выполнить функцию из этой dll.

    Самый первый и дурацкий вариант, который приходит в голову такой:

    1. Создать файл на диске
    2. Записать в него эту строку
    3. Использовать LoadLibrary и GetProcAddress.

    Можно ли каким-то образом выполнить функцию из этой dll не сохраняя ее кода на диске? И каким образом можно это сделать?
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Можно, для этого нужно загрузить её вручную. Гуглите что-то вроде - load dll from memory.
     
  3. pzeclawski

    pzeclawski New Member

    Публикаций:
    0
    Регистрация:
    16 май 2010
    Сообщения:
    2
    Все сводится к созданию PE-загрузсчика, что довольно сильно утяжелит код. Выходит, вариант с LoadLibrary самый простой :) Спасибо.
     
  4. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    Зачем создавать загрузчик, если есть полноценный системный.. Нужно просто немного его изменить, чтобы читал данные не с диска, тоесть секции(обьект) эмулировать.
     
  5. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Отправить DLL в пайп, и сделать LoadLibrary из пайпа.
     
  6. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    _DEN_
    и есть успехи на этом пайповом поприще?
     
  7. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    LdrLoadDll + dr break на NtMapViewOfSection\NtOpenSection
     
  8. disasm

    disasm New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2011
    Сообщения:
    35
    код в студию
     
  9. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    disasm
    Легко. Сколько платите(ведь стимул нужен) ?
     
  10. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    klzlk
    вам там скоро интронеты поотключают, советую не торговаться и быстрее жать [ upload ]
     
  11. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    deLight
    Отключить сеть не возможно.

    А кричать "код в студию", беря на слабо в контексте данного форума просто глупо. Загрузка модуля через пайпы, секции и пр. примитивная задача. Могу загрузить длл из имени потока =)
     
  12. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    klzlk
    Легально через пайп без дополнительных плясок вроде контроля кода лоадера - не вижу.
    Покажите как, интересно. Это не "на слабо".

    Если так, то все эти эмуляции SEC_IMAGE, к чему они?
    CreateNamedPipe() / LdrLoadDll() / Profit
     
  13. disasm

    disasm New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2011
    Сообщения:
    35
    klzlk, А драйвер без файла на диске можешь загрузить? =)