Понедельник
16.06.2025
04:32
Форма входа
Категории раздела
Макроинструкции [1]
Управленние данными [9]
Макросы [0]
ПК и железо [3]
Осиписание :) [3]
Разное [491]
Поиск
Календарь
«  Июнь 2025  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    OPEN SOURCE PROJECT

    Урок 1 - Давайте всех напугаем


    Урок 1 - Давайте всех напугаем


    Сразу поставим перед собой задачу, ведь надо начинать с самого простого, так что я предлагаю вам вывести сообщение на экран с текстом
    Fatal system error! Cannot continue.
    formatting system partition... 100%

    можно конечно использовать старый добрый "Hello World", но это уже вам выбирать.
    Программа native1.asm:
    format PE native 5.02 at 10000h
    entry start

    include '%fasminc%\win32a.inc'

    section '.text' code readable executable

    start:
        push UNICODE_STRING
        call dword [NtDisplayString]

        xor eax,eax
    delay_loop:
        dec eax
        jnz delay_loop

        push 0
        push -1
        call dword [NtTerminateProcess]

        align 16
        UNICODE_STRING   dw MsgW_0_size
                                        dw MsgW_0_size + 2
                                        dd MsgW_0

        align 16
        MsgW_0 du 'Fatal system error! Cannot continue.',0Ah
                       du 'formatting system partition... 100%', 0Ah
        MsgW_0_size = $ - MsgW_0

    section '.rdata' import readable notpageable

    library ntdll,'ntdll.dll'

    import ntdll,\
               NtDisplayString,'NtDisplayString',\
               NtTerminateProcess,'NtTerminateProcess'

    section '.reloc' data fixups readable discardable


    Назад