Хорошо, если виртуальный процессор прост. А если он сложен и нестандартен? Тут месяцами же можно провозиться.
Вид для печати
вот наш комрад (Александр Дëмин aka begoon) свою простую VM сделал, и предолжил сломать ;)
http://demin.ws/blog/russian/2011/02...-me-challenge/
NORCPU hackme challenge или взлом программы для однокомандного процессора
Цитата:
Итак, имеется модель некоторого виртуального процессора, выполняющего только одну логическую операцию - Стрелку Пирса.
На этом процессоре написана программа, на вход которой подается некоторый пароль. Если пароль неверный, то в ответ выдается строка “Wrong password!”. Если верный, то выдается определенное волшебное сообщение.
Задача: любым образом выяснить это волшебное сообщение. Как вариант, можно, например, угадать пароль, и программа сама выдаст секрет.
ну это не ответ. все изобретают же свои архитектуры, свои подходы. да и в жизни встречается много разных нестандартных приколов (которые в нашей тутошней терминологии - стандартные) в процах. где-то стека нет, где-то особо высокоуровневые команды-макросы, микро(милли)код и т.п.
что-то мне кажется, когда ты выкурил 3-5 разных ассемблеров/архитектур, то уже как-то все НАМНОГО проще воспринимается, что бы кто бы не намутил. байткоды джавы, питона и прочих штук тоже иногда и вручную разбирают, а там своя специфика. главное - способность вычленять суть (алгоритм), а из каких он кирпичей - пофиг.
Все равно все базируется на определенных стереотипах. И 'выкуренные' архитектуры могут быть все же из одной песочницы.
А вот если процессор выбивается из стереотипов, ну совсем. Тогда придется подходить почти с нуля, хотя и с хорошим опытом логико-программистического мышления и реверс-инжениринга.
Пришли к тому, что сайты с народа надо перевозить на самописный сервер, физически расположенный под подушкой или матрасом, в строго индусской реализации желательно на хаскеле или лиспе. :):):)....