Хакерский софт и услуги. Программирование. Взлом. Форум сайта - SoftXaker.Ru
Старый 14.01.2013, 22:55   #1
XRoad
Модератор
 
Регистрация: 25.09.2011
Сообщений: 236
XRoad скоро придёт к известностиXRoad скоро придёт к известности
По умолчанию Теория эмуляции процессора.

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

Для начала обучения можно взять за основу простой бытовой компьютер из прошлого: БК, Спектрум, Commodore или любой другой. Мы рассмотрим работу на БК-0010.01, так как имели с ним опыт работы. Этот компьютер являлся упрощенной модификацией платы LSI-11/03 от корпорации DEC: 16-разрядный процессор К1801ВМ1, оперативная память 32 Кб, системное ПЗУ с монитором на 8 Кб, зашитый интерпретатор Бейсика и Фокала. Для этого компьютера есть много эмуляторов, так что сравнивать работу собственного эмулятора есть с чем.

Видимо, разработку эмулятора нужно начинать с эмуляции работы процессора. Для этого нужно знать все его команды, которые кодируются весьма просто (проще чем в Intel). Память можно эмулировать как в памяти, так и во внешнем файле, задав ее размер в 64 Кб. Смещения и адреса в этом массиве должен имитировать программный процессор, поэтому варианты могут быть разными. Основная трудность реализации процессора: умение обрабатывать обращения к портам ввода-вывода, исполнение каждой команды нужно подгонять под паспортные данные, обслуживая системный таймер и т.д. После того, как виртуальный процессор научится исполнять все команды, правильно используя адресацию и выставляя флаги регистра состояния, можно пробовать его в деле. Это просто: на «память» накладывается скопированная копия ПЗУ и Бейсика по выделенным для них адресам, а затем команда передается на адрес, который используется при включении компьютера. Чтобы программа не могла менять «ПЗУ», на память накладывает маска доступа (только для чтения, только для записи или комбинированная). В итоге «компьютер» должен запуститься, причем ПЗУ не должно «догадаться», что работает не в родной среде. Далее останется только найти программы и использовать в эмуляторе уже готовыми. А можно написать и новые, поддержав какое-либо сообщество любителей старой техники.

Еще более интересная задача – создание эмулятора, к примеру, i286 или Pentium, где можно эмулировать работу обычного ПК. Всего-то нужно: та же реализация процессора и копия BIOS старого компьютера, а логика работы та же самая. Для чего это может пригодиться? К примеру, для исследования защищенных программ, работающих с портами; для перехвата состояния компьютера в процессе его работы и т.д. На таком эмуляторе можно делать что угодно, и даже подсаживать туда вирусы и ловить их – внешняя защищенная среда будет в этом случае исследовательской лабораторией и испытательным стендом для программы-эмулятора.
XRoad вне форума  
 

Метки
программирование, процессор, эмуляция

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход




Powered by SoftXaker® Version 3.5.1
, Форум хакеров и программистов: Forum.SoftXaker.ru
Софт для взлома и защиты. Хакерский софт.
Лаборатория Хакера |