![]() |
eXeL@B —› Программирование —› Написание виртуальной машины |
<< . 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 25 июля 2006 12:46 · Личное сообщение · #1 |
|
Создано: 26 июля 2006 20:35 · Поправил: starix · Личное сообщение · #2 Какие case и swith?? Техническую документацию от Intel никто читать не пробовал? Все команды разбирабтся как минимум по маскам и флагам... Эх поделился бы эмулем, но проект закрытый! Эмулит все кроме MMX, SSE и прочего... А так если кому интересно, то втыкать до достижения результата в QEMU. Брать тут http://fabrice.bellard.free.fr/qemu/ ![]() |
|
Создано: 26 июля 2006 20:56 · Личное сообщение · #3 |
|
Создано: 26 июля 2006 21:05 · Личное сообщение · #4 starix какую траву курил? Эмуляция - эмуляции рознь! QEMU и другие можно приспособить для защиты не спорю, но то о чем ты говоришь это создание Вирт-машин для эмуляции выполнения на вирт. ЭВМ и предназначено для других целей. Эта же тема о том чтобы обсудить вирт.машины предназначенные для защиты кода ПО! ----- My love is very cool girl. ![]() |
|
Создано: 26 июля 2006 21:10 · Личное сообщение · #5 |
|
Создано: 26 июля 2006 21:15 · Личное сообщение · #6 theCollision Никто НИКОГДА не запрешал использовать принципы одного проекта в другом!!! А об эмуляции команд ничего нового кроме того что уже есть придумать сложно. И к тому же я не заставляю привязывать протектор к QEMU, а тем кому действительно нужна информация по написанию двигла эмулятора, на данный момент ничего лучше чем 3 тома от Intel и исходники QEMU не вижу!!! ![]() ![]() |
|
Создано: 26 июля 2006 21:23 · Личное сообщение · #7 |
|
Создано: 26 июля 2006 21:26 · Личное сообщение · #8 |
|
Создано: 27 июля 2006 04:50 · Личное сообщение · #9 |
|
Создано: 27 июля 2006 14:32 · Личное сообщение · #10 |
|
Создано: 28 июля 2006 12:50 · Личное сообщение · #11 |
|
Создано: 28 июля 2006 13:08 · Личное сообщение · #12 PE_Kill 1. У тебя есть крякмис, прога с защитой или че другое, где код интерпретара ВМ-машины исполняет многопоточный p-код? 2. по твоему мнению при разработке эмулятора, стоит ли задавать строгую логику вм-машины? (регистры, память, стек, контекст потока(если p-многопотчность) или лучше сделать своего рода обфусцированный код,но команды p-кода? ----- My love is very cool girl. ![]() |
|
Создано: 28 июля 2006 18:35 · Личное сообщение · #13 theCollision пишет: 2. по твоему мнению при разработке эмулятора, стоит ли задавать строгую логику вм-машины? (регистры, память, стек, контекст потока(если p-многопотчность) или лучше сделать своего рода обфусцированный код,но команды p-кода? Скажу по секрету - ВМ на то и ВМ, что у неё своя логика работы ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 29 июля 2006 12:04 · Личное сообщение · #14 theCollision я начинал писать крякмис, в котором прога работала в одном потоке, а ВМ в другом, но так и не дописал, а теперь и не буду. А что ты имеешь ввиду под "многопоточный p-код"? А по поводу пункта 2 - ХЗ. Если ты сделаешь обфускацию всех команд и вынесешь их за пределы своих адресов, то думаю этого уже будет достаточно. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 02 августа 2006 20:49 · Личное сообщение · #15 |
|
Создано: 04 августа 2006 09:51 · Поправил: s0larian · Личное сообщение · #16 эээ, народ, смотрите доки от valgrind - там полный эмулятор x86 кода. Причём не банальный интрерпритатор, а транслятор. То есть он переводит х86 code в свои micro ops, потом впердоливает в этот поток саой instrumentation, потом оптимизирует, и потом, вроде, переводит в x86 и исполняет. Ну а полный эмулятор/интрерпритатор это bochs. ![]() |
|
Создано: 04 августа 2006 10:46 · Личное сообщение · #17 PE_Kill Под много поточностью p-кода я имел ввиду следующее: В обычном понимании многопоточности понимается, что есть процесс и один - первичный поток, который имеет право создать сколь ему нужное кол-во других потоков! Но эти потоки, это всего лишь участки выполняющегося кода, при чем кода Intel`совместимого! А представим что есть некий псевдопроцессор(вирт.машина), так вот почему бы там не задать подобную логику? Т.е. организация нескольких участков p-кода, которые будут выполняться в разные моменты времени! ----- My love is very cool girl. ![]() |
|
Создано: 04 августа 2006 11:02 · Личное сообщение · #18 theCollision пишет: А представим что есть некий псевдопроцессор(вирт.машина), так вот почему бы там не задать подобную логику? Т.е. организация нескольких участков p-кода, которые будут выполняться в разные моменты времени! У тебя по-моему в голове такой винегрет, что ты все свалил в кучу - потоки, процессор, пи-код, виртуальную машину. ![]() |
|
Создано: 04 августа 2006 11:14 · Личное сообщение · #19 dermatolog А ты разве видел стандарт на создание виртуальных машин? Помоему только одно правило: "чем сложней анализировать тем лучше!", а как придет человек к этому через венегрет, пильмени, опилки или еще бог весть что, уже не важно, главное результат - А он УСЛОЖНИТЬ! ----- My love is very cool girl. ![]() |
|
Создано: 04 августа 2006 13:13 · Личное сообщение · #20 |
|
Создано: 05 августа 2006 10:31 · Личное сообщение · #21 s0larian В чем траблы то? Ты же пишешь сначала конвертор из нормального в гавно для крякера, а уж если конвертер нормален, то че тут отлаживать-то? Смотри как конвертер конвертит, потесть его, а уж его покусочкам не так уж и трудно! команда А, команда Б, команда ЭН и т.д. пока не убедишься что у тебя конвертится Ф ТЕМУ! А уж отлаживать, это ты сумеешь, если нет читай маны по Олли, SoftICE, если не помогло продай комп, это тебу уже ненужно! Сорри - но вправду и прямо! ----- My love is very cool girl. ![]() |
|
Создано: 05 августа 2006 15:37 · Личное сообщение · #22 |
|
Создано: 06 августа 2006 00:22 · Личное сообщение · #23 Мне вот что интересно: Обычно создают вирт. машину на основе Машины Тьюринга, Поста и говорят еще на Автоматах Маркова. Но вот кто нить пробовал задать логику вирт.машины на основе- вероятностных автоматах? Когда в потоке p-кода не возможно заметить закономерность и все стремится к равномерному распределению? ----- My love is very cool girl. ![]() |
|
Создано: 06 августа 2006 19:09 · Личное сообщение · #24 theCollision пишет: Мне вот что интересно: Обычно создают вирт. машину на основе Машины Тьюринга, Поста и говорят еще на Автоматах Маркова. Но вот кто нить пробовал задать логику вирт.машины на основе- вероятностных автоматах? теоретически можно. насколько я помню дискретную, вероятностные автоматы и нормальные марковские цепи практически эквивалентны. theCollision пишет: Когда в потоке p-кода не возможно заметить закономерность и все стремится к равномерному распределению? гораздо проще декодировать инструкции. генерить простейший криптер/декриптер а-ля вирус и все. при этом не надо сильно вероятности просчитывать, без чего не обойдешься в вероятностном автомате (имхо). Хотя если строить автомат по алгоритму, может и можно вероятностный построить. Но это изврат будет, исключительно под конкретный алгоритм. не универсал. ![]() |
|
Создано: 06 августа 2006 19:12 · Личное сообщение · #25 theCollision пишет: Под много поточностью p-кода я имел ввиду следующее: В обычном понимании многопоточности понимается, что есть процесс и один - первичный поток, который имеет право создать сколь ему нужное кол-во других потоков! Но эти потоки, это всего лишь участки выполняющегося кода, при чем кода Intel`совместимого! А представим что есть некий псевдопроцессор(вирт.машина), так вот почему бы там не задать подобную логику? Т.е. организация нескольких участков p-кода, которые будут выполняться в разные моменты времени! посмотри язык форт, не изобретай велосипед ![]() шитый код + интерпретация команд (довольно просто переделать в ВМ, имхо) + многопоточность шитого кода. Да и вобще говоря, любой алгоритм на основе switch параллелится без проблем. ![]() |
|
Создано: 06 августа 2006 19:36 · Личное сообщение · #26 |
|
Создано: 07 августа 2006 00:09 · Поправил: n1kto · Личное сообщение · #27 theCollision пишет: Логично рассуждаешь. Кинь ссылку по форту, которую уважаешь? сайт посвященный форту в россии [url=http://www.forth.org.ru/ ]http://www.forth.org.ru/ [/url] далее по ресурсам. текущий компилятор - spf. ссылки тамже, дом на sf.net. где-то видел баранова-ноздрунова, в виде djvu. Если вспомню где, скажу ![]() в виде просто текста - есть по ссылке. вдогон: когда-то начинал читать теорию компиляции с Креншоу. Он писал про паскаль. Есть аналог для форта, заставило улыбнуться: home.iae.nl/users/mhx/crenshaw/tiny.html ![]() |
|
Создано: 09 августа 2006 07:32 · Личное сообщение · #28 |
|
Создано: 09 августа 2006 10:35 · Личное сообщение · #29 |
|
Создано: 09 августа 2006 12:04 · Поправил: n1kto · Личное сообщение · #30 theCollision пишет: Очень мало: http://patpend.net/technical/misc/HOWTO.html http://patpend.net/technical/misc/HOWTO.html если нужна теория, берешь учебник по архитектуре например, на cit.ru или intuit.ru (на втором по-моему я сам читал, не помню ![]() вычислительных систем и читаешь про SISD машины, блоки из которых состоит процессор. реализуешь их программно, с разной степенью сложности (и если надо). в сети есть курсачи по теории вычсистем, нам давали тему "разработка процессора", и я такие тексты видел. есть также методички по этим курсачам, там все довольно понятно, правда в применении к железу. далее пишешь по аналогии, используя ту модель, которую выбрал. идея, имхо, ясна. ![]() |
|
Создано: 09 августа 2006 12:07 · Поправил: n1kto · Личное сообщение · #31 если надо варианты реализации программно, читаешь материалы по обсфукации, но не в плане "все переименовать", а в плане перевода в КА и другие схемы. у меня где-то валялась даже монография по этому делу. Английская. Тоже из сети, поищи. Там и схемы, и основные алгоритмы и принципы рассмотрены. Если найду - выложу. ![]() |
<< . 1 . 2 . 3 . >> |
![]() |
eXeL@B —› Программирование —› Написание виртуальной машины |