+ Reply to Thread
Results 1 to 3 of 3

Thread: SEH based VM Engine by Yattering

  1. #1

    Bug SEH based VM Engine by Yattering

    Простейший движок ВМ для виртуализации x86 кода, который позволяет заменять некоторые машинные инструкции собсвенными подобными инструкциями, поэтому защищенный код не может выполняться без внешнего движка ВМ.




    Список команд ВМ:
    • RET_C8
    • PUSH_R32
    • PUSH_C32
    • POP_R32
    • JMP_REL_C32
    • CALL_REL_C32
    • NOP
    Все команды ВМ начинаються с INT3 инструкции х86 процессора, благодаря чему управление передаеться на SEH обработчик, который и являеться движком ВМ. Движок написан на чистых сях.







  2. 4 пользователя(ей) сказали cпасибо:
    Darwin (16-11-2016) Shizoid (18-11-2016) mikserok (21-02-2017) vient (18-11-2016)
  3. #2
    JKornev's Avatar

    Default Re: SEH based VM Engine by Yattering

    Если чесно то как-то слабовато, код PoC'a написан максимально непонятно. Плюсом наномитов было то, что инструкция int 3 заменявшая условный\безусловный переход имела размер 1 байт, все данные для декодирования были ассоциативно привязанны по адресу инструкции. Т.е. втиснуть оригинальную инструкцию в 1 байт не сломав код было бы сложновато без плясок с VEH\SEH. В вашем случае эта фитча увы не сохранена
    High tech, low life

  4. 2 пользователя(ей) сказали cпасибо:
    Yattering (23-11-2016) mikserok (21-02-2017)
  5. #3
    JKornev's Avatar

    Default Re: SEH based VM Engine by Yattering

    Хотя судя по инфе из инета не все реализации наномитов сдвигают код вокруг вырезанной инструкции до 1 байта, что весьма странно)
    High tech, low life

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:22
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org