exe

Тема в разделе "WASM.BEGINNERS", создана пользователем sato, 5 окт 2017.

  1. sato

    sato Забанен

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    может ли процесс без драйвера редактировать свой exe файл?
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.252
    без драйвера наверное никак... это ж не юникс вам... процесс может переименовать/переместить свой файл, но только в пределах одного логического диска... так можно например переименовать из .exe в .old, зачитать, модифицировать и записать в .exe и потом перезапуститься например...
     
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.710
    _edge нравится это.
  4. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.427
    Адрес:
    Россия, Нижний Новгород
    Но здесь не файл удаляет сам себя, а мы крутим цикл в стороннем процессе, который ждёт, пока наш процесс завершится, а потом удаляет скриптовый файлик, который сам по себе не исполняемый. Где-то на просторах видел пример самоудаления на NativeAPI, но было это лет 6 назад. Несколько раз интересовался, пытался найти (для автообновления) - не нашёл.
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.710
    HoShiMin,
    bat-ник запускает процесс, процесс в тот же bat-ник пишет информацию для коррекции ехе, процесс завершается, bat корректирует ехе и самоликвидируется. Как результат -- откорректированный ехе и никаких явных следов и драйверов... IMHO это то, что требовалось ТС, только он молчит...
     
  6. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.427
    Адрес:
    Россия, Нижний Новгород
    Хм, ну да, только если таким способом :)
     
  7. PaperMoon

    PaperMoon New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2017
    Сообщения:
    16
    Ещё как вариант запуск калькулятора например со скрытм окном, инжект туда кода в ep который бы ждал завершения PID'а родителя, и потом бы редактировал его и перезапускал. Только наверное батник беспалевнее
     
  8. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    861
    https://wasm.in/threads/instrumenty-gotovye-moduli-poleznye-kody.31733/#post-383276
     
  9. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
  10. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Код (C++):
    1. #include <windows.h>
    2. #pragma comment(linker, "-export:CleanupA=_CleanupA@16")
    3. extern "C" void CALLBACK CleanupA(HWND, HINSTANCE, PSTR, int)
    4. {
    5.     static MEMORY_BASIC_INFORMATION mbi;
    6.     VirtualQuery(&mbi, &mbi, sizeof mbi);
    7.  
    8.     PVOID module = mbi.AllocationBase;
    9.     CHAR buf[MAX_PATH];
    10.     GetModuleFileName(HMODULE(module), buf, sizeof buf);
    11.      __asm
    12.     {
    13.         lea     eax, buf
    14.         push    0
    15.         push    0
    16.         push    eax
    17.         push    ExitProcess
    18.         push    module
    19.         push    DeleteFile
    20.         push    FreeLibrary
    21.         ret
    22.     }
    23. }
    Код (C++):
    1. #include <windows.h>
    2. int main(int argc, char *argv[])
    3. {
    4.     char    buf[MAX_PATH];
    5.     HMODULE module;
    6.     module = GetModuleHandle(0);
    7.     GetModuleFileName(module, buf, MAX_PATH);
    8.     CloseHandle((HANDLE)4);
    9.     __asm
    10.     {
    11.       lea     eax, buf
    12.       push    0
    13.       push    0
    14.       push    eax
    15.       push    ExitProcess
    16.       push    module
    17.       push    DeleteFile
    18.       push    UnmapViewOfFile
    19.       ret
    20.     }
    21.     return 0;
    22. }
    http://blogorama.nerdworks.in/selfdeletingexecutables/
     
  11. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia