Создание простого эмулятора сборки - PullRequest
2 голосов
/ 06 января 2010

Я работаю над проектом, который обнаруживает неизвестные вирусы , поэтому я собираюсь построить мой маленький эмулятор , который эмулирует код сборки исполняемого файла, чтобы я мог определить, является ли он вирус или нет, эмулируя его в виртуальные регистры, а затем наблюдая за тем, что происходит. поэтому мне нужна помощь в получении кода каждой инструкции по сборке в c .

Ответы [ 3 ]

1 голос
/ 06 января 2010

Вы ищете Bochs , эмулятор LGPL для ISA x86 и стандартного оборудования.

1 голос
/ 06 января 2010

Если вы хотите создать эмулятор x86, вы можете взглянуть на этот полный список кодов операций: x86 Справочник по набору инструкций . Но это не очень хороший способ обнаружения вирусов.

0 голосов
/ 07 января 2010

В значениях регистра нет ничего, что указывало бы на вредоносность. Тебе лучше отказаться от этого. Большинство песочниц, пытающихся обнаружить вредоносное поведение, перехватывают системные вызовы / вызовы библиотек.

вызов ftable + 1 с контекстом% eax = 1% ebx = 4000% ecx = 3F также может означать стрельбу по ядерным ракетам, как это может означать «Привет, мир» Теперь, если вы поместите свою собственную функцию между системой и исполняемым файлом, вы сможете узнать, что происходит (определить ее как вредоносную не так просто).

Это, конечно, не нуждается в эмуляторе, поэтому вам лучше пересмотреть это, так как написание точного эмулятора очень и очень сложно.

...