> как он в буфер идет читает как угодно sub eax,eax; lodsw; jmp [offset vm_table+eax*4] к примеру как придумаешь так и будет
да нет !!!! Это наоборот понятно =) Если не трудно покажи код , который отвечает за исполнение опкодов ! .. где само выполнение происходит
calidus А в чем проблема? Думаю, процессор можно, в каком-то смысле, назвать конечным автоматом, а инструкции меняют его состояние. Поддерживаешь в памяти структуру, которая описывает твой виртуальный процессор, разбираешь инструкцию, меняешь состояние виртуального процессора. Опкод можно интерпретировать к номер функции, которая отвечает за его реализацию. Простейшую реализацию VM можно посмотреть по этой ссылке. Пароль к исходникам вышлю личкой, т.к., думаю, не очень этично по отношению к автору выкладывать его открыто.
какой там пароль? А все прочитал =) Спасибо гляну Я видел подобные коды, я просто написал выше что не вижу связи исполнения , вижу как выборка команд идет , все вижу , а не вижу где код исполняется то =) Исходник отсюда http://indetails.info , на примере него он ни на одной системе на запустился у меня =) всегда падает.
делай memory-based регистры, свой стек выделишь под интерпретатор и можешь сделать копию x86, вот и будет простейшая вм...
Mika0x65 Код (Text): Простейшую реализацию VM можно посмотреть по этой ссылке. Пароль к исходникам вышлю личкой, т.к., думаю, не очень этично по отношению к автору выкладывать его открыто. Вышли и мне пожалуйста на anima.pics@gmail.com
TbI_TyT Отправлено. Мне тут книга перепала по созданию VM. Скажу честно, сам еще не прочитал, т.к. просто нет времени. Но поделиться всегда готов. Кому-нибудь нужно? Только не знаю, защищена ли книга авторскими правами. Если да -- придется опять из под полы раздавать .
Небольшое дополнение: книга сейчас физически на другом компьютере, завтра примерно с часу по Москве я там буду и смогу раздать.
Mika0x65 Ты писал в 2:08 про час по Москве и толи для тебя наступало уже "завтра" или еще нет ?! Когда вобщем кинешь линк , к примеру в личку ? )
TbI_TyT Нет, по графам и декомпиляции у меня ничего нет. Думаю, стоит поискать диссертацию какой-то девушки (кажется, австралийка). Вроде бы, у нее неплохая основа описана.