как исполняются файлы?

Discussion in 'Болталка' started by DooD, 19 Nov 2012.

  1. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    видимо я сегодня переработался,что то туплю:
    вот как именно исполняются файлы pe в windows?
    то есть понятно что процессором:)
    ну,а конкретно,какой именно компонент венды выполняет экзэшник?
     
  2. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    :D тут в две строки не ответиш :( тебе на масм форум асм - крякеры где :(

    _ttp://www.burlakovmb.narod.ru/Articles/FileFormats/PE/header.htm
     
    #2 Adio, 19 Nov 2012
    Last edited: 19 Nov 2012
  3. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    ты не понел,структуру я и так знаю.само исполнение,то есть служба какая или что...
     
  4. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,694
    Likes Received:
    3,149
    Reputations:
    236
    напомнил былинную стори.
    сидит парень в трёх шагах у компа и начинает мрачнеть.
    не слышно его дроби по клавиатуре над прогой чертёжников eplan.
    спрашивает, "у тебя прога запускается?"
    "да" - отвечаю ему. а у него - нет.
    в чём была трабла?
    в том, что в регистре было вирусом переписан загрузчик .exe .com .bat на другое.

    решилось быстро.
    тот ключ регистра переписали с незаражённой машины, загрузившись с дискетты.
     
  5. begin_end

    begin_end Green member

    Joined:
    4 Jan 2007
    Messages:
    265
    Likes Received:
    638
    Reputations:
    476
    В ближайшем рассмотрении exe запускает та программа, из под которой по нему кликнули / нажали на кнопку / сработал таймер и т.д. Запуск происходит вызовом WinAPI функции CreateProcess в kernel32.dll родительской программой (другие API запуска, такие как ShellExecute, WinExec банально упрощенно используют CreateProcess). Но на самом деле в kernel32 значительная часть экспортируемых функций реимпортируются из других модулей, более "ядерных", такие функции это т.н. Native API, и там, глубже скрыт истинный механизм запуска.

    Далее реверсеры и зерорингеры в помощь :).
     
    _________________________
  6. C00LPack

    C00LPack Elder - Старейшина

    Joined:
    7 Oct 2010
    Messages:
    425
    Likes Received:
    72
    Reputations:
    19
    а разве не Nt/ZwCreateProcess в ntdll? :confused:
     
  7. begin_end

    begin_end Green member

    Joined:
    4 Jan 2007
    Messages:
    265
    Likes Received:
    638
    Reputations:
    476
    - Далее я предложил рассказать другим, кто до самых глубин доскажет...
     
    _________________________
  8. Dyxxx

    Dyxxx Elder - Старейшина

    Joined:
    16 Feb 2009
    Messages:
    107
    Likes Received:
    155
    Reputations:
    24
    это как спросить - какое море заставляет корабль плыть?
    конечно, есть ветер, волны, приливы, отливы, но таки странный вопрос.
     
  9. Billar

    Billar Banned

    Joined:
    9 Jul 2012
    Messages:
    15
    Likes Received:
    5
    Reputations:
    5
    Подается команда в ядро, а дальше уже исполнение на булевых по процессору
     
  10. DooD

    DooD Elder - Старейшина

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    вот примерно на такой ответ я и рассчитывал.то есть по сути проводник является лаунчером?
     
  11. begin_end

    begin_end Green member

    Joined:
    4 Jan 2007
    Messages:
    265
    Likes Received:
    638
    Reputations:
    476
    Да, проводник, Total CMD,.. любой файловый менеджер обычно так и делает.
     
    _________________________
  12. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    Лаунчером является API-функция CreateProcess, в kernel32.dll, она в свою очередь использует NtCreateProcess из ntdll.dll, он в свой очередь ZwCreateProcess из ntoskrnl.exe:)
    А проводник только вызывает эту API функцию, передавая ей параметры и путь к ехе файлу.. вместо него может быть любая программа.
     
  13. Ptr

    Ptr New Member

    Joined:
    1 Oct 2011
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Ты понимаешь, что ты поехавший? Ты не понимаешь сути ЛОНЧЕРОВ.
     
  14. ChymeNik

    ChymeNik Member

    Joined:
    31 Aug 2010
    Messages:
    29
    Likes Received:
    7
    Reputations:
    9
    Во-первых, что значит "поехавший"?, во-вторых: мы не знакомы, чтобы говорить на "ты". Соблюдайте правила приличия.
    А все это я пишу к тому, что сама программа, которая вызывает API-функцию ничем не интересна. Это только промежуточное действие.