Прицепить кусок кода к exe.

Тема в разделе "WASM.RESEARCH", создана пользователем CoolCmd, 21 май 2011.

  1. CoolCmd

    CoolCmd New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2007
    Сообщения:
    21
    Адрес:
    Moscow
    Не знаю в каком форуме задать вопрос и по каким словам искать...
    Есть чужой exe, обычный native. Нужно, что бы его выполнение начиналось с моего маленького куска кода (5-6 функций win32). Ну то есть нужно вставить мой кусок в начало кода. Это не вирус, т.е. никаких защит не нужно. Мой код есть в виде asm или c. Как это сделать? Может есть спец. утиль?
     
  2. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    А почему не ...
    1. *.bat
    2. WinRar и т.п.
    3. поискать какой-то joiner
     
  3. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    Через эту штуку http://www.wasm.ru/baixado.php?mode=src&id=358
    скомпиль свой asm код в bin, да пихай этот bin в прогу куда хош.
     
  4. CoolCmd

    CoolCmd New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2007
    Сообщения:
    21
    Адрес:
    Moscow
    9Demon
    Спасибо. А чем проще запихнуть bin в exe?
     
  5. 9Demon

    9Demon New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2011
    Сообщения:
    33
    В winhex'е ctrl-a, ctrl-shift-c.
    Прогу в ollydbg и в конце code секции выделяешь все нули до конца, Binary - Binary paste.
     
  6. CoolCmd

    CoolCmd New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2007
    Сообщения:
    21
    Адрес:
    Moscow
    9Demon
    В win7 x64 sp1 не пашет NoImport_engine. Запускаю из архива hello.exe и ничего не происходит, хотя должен появится messagebox. hello.exe висит в памяти и грузит ядро на 100%. Вот такие дела.
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    если он у вас такой маленький и вставить именно в начало, то сам бог велел вписать его в заголовочную функцию (ту из которой мэйн-винмэйн вызываются). а если не влезет, то обратить внимание на выравнивание кодовой секции
     
  8. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    CoolCmd
    Что вы имеете ввиду под native? Если native-подсистему, то как собираетесь вызывать win32-функции?

    Чтобы ваш кусок кода выполнялся в самом начале, нужно:
    - Найти место для своего кода и вписать его туда. Я предпочитаю конец секции кода, там обычно есть пустое место, заполненное нулями.
    - Переписать EntryPoint так, чтобы он указывал на ваш код. Это самый простой способ, но он может не понравиться антивирям. Тогда придется искать другие методы.
    - Убедиться, что вызываемые вами апи есть в таблице импорта (noimport, как я понимаю, избавляет от этой необходимости, тогда ищите способ его завести)
    - Убедиться, что ваш код передает управление исходной программе

    В общем, не так это просто

    Как выглядит ваш код?
     
  9. CoolCmd

    CoolCmd New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2007
    Сообщения:
    21
    Адрес:
    Moscow
    ormoulu
    Это ясно, точку входа можно в hiew подправить. Но вот "ищите способ его завести" мне не удалось, поэтому пока оставил затею с изменением exe.