user32.dll;Запуск файла из памяти;Ресурсы отображаються неправильно.

Тема в разделе "WASM.BEGINNERS", создана пользователем dead_body, 2 авг 2007.

  1. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    К примеру, есть на сайте статья "Запуск файла из памяти."
    Если в коде, используеться где то функция из юзер32.длл то тогда ресурсы запускаемого файла немного корявые становяться. Проверял на 7 зипе. Запускал sfx архив из памяти, есть различия небольшие в отображении диалога. Если не использовать юзер32.длл(в статье не используеться), то тогда нормально всё. В чём засада, подскажите....
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    я статью не читал, там точно фиксится Process Environment Block ?
     
  3. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    Great
    ImageBase? нет, но он одинаковый. У моей прогаммы 4хххх(ну типо стандарт) и у той также.
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Эээ а как это ты поверх себя ее грузишь чтоли? А где тогда код лоадера исполняется?
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Нужно еще добавлять запись в PEB->LdrData->In...OrderModuleList, чтобы GetModuleHandle работала по имени.
     
  6. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    Great
    в выделенной памяти, как в статье.

    использовал память за ImageBase+ImageSize файла Б

    Короче, получаеться так. Убрал у себя юзер вообще из импортов. Всё хорошо. Но если гружу юзер(хотя бы той же ЛоалЛибрари, вначале свой проги), то тогда Б программа немного косячит. Размеры диалога у неё тогда чуть-чуть другие и шрифта.
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Я както интересовался этим делом, калькулятор виндовый и блокнот запускались, а более сложные проги - нет. Подумал, что скорее всего нужно добавлять модулдь в список модулей процесса
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Кстати, дай-ка тестовую прогу свою, посмотрю на своем лоадере)
     
  9. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    разве лоадлиб этого не делоет?

    п.с. замечал подобную фегню с юзер.длл в импортах. она грузит какойто прикол важный какраз за образом проги. посмотри в олли
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Делает, а собственный его загрузчик судя по всему нет:)
     
  11. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    Great
    посмотри статью. Там ЛоадЛиб вызываеться. У меня пример статьи.

    для тесты сожми 7 зипом в сфкс что угодно и присоединяй.
     
  12. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    P.S. статью кстати бы доделать до конца... что бы с ТЛС нормально работала.
    Ато получаеться, не работает на приложениях, в которых ТЛС используеться. А в статье про это ничего не сказано. (
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Посмотрел статью. Где там вызов LoadLibrary? Кроме подгрузки библиотек в импорте?
    И про какой нафиг вы вообще лоадлиб, я говорю про добавление модуля самой проги в In..OrderModuleList
     
  14. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    сказанно, что статья затрагивает основы, без тлс и даже релоков.

    в In..Order... надо включать, если имаджбейс отличен от имаджбейса загрузчика. столкнулсо с этим когда стартовал длл, тогда же столкнулся и с релокоми. но вот тлс еще особо не разбирал.
     
  15. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    было бы не плохо, если бы разобрал. :) Думаю многие были бы признательны.
     
  16. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    вообщем если, кто знает что с юзер.длл такое - прошу поделиться.


    P.S. http://www.allpotential.info/arxiv/test/IQtest.rar - Тлс не используеться, программа работает, но косо. Тестил, опять же файлом из статьи.
     
  17. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    У меня собственным лоадером вышло так: http://img216.imageshack.us/img216/7213/iqtestloadedir9.jpg
    Куда-то съело флеш-ресурс)) Хотя диалог бокс показывается нормально.
    Ща попробую SFX