Показать полную графическую версию : [решено] Дизасемблирование
BlackEric
01-04-2010, 14:07
DillerInc, я все это понимаю. Просто я сходу предложил автору пришедший мне в голову вариант автоматизированного решения:
1. скомпилировать имеющююся программу на ассемблере, что бы получить требуемый двоичный код
2. найти нужное место в полученном exe файле и забрать оттуда бинарные команды.
Насколько я понимаю, мое решение шаблон моего решения полностью соответствует задаче автра темы.
DillerInc
01-04-2010, 14:50
В отрыве от контекста ничего мы не сможем понять »
...причём здесь в данном случае контекст?
Например, команда - mov esi, dword ptr [00A8681C] - скопирует DWORD по адресу 00A8681Ch в регистр ESI.Это нам и необходимо узнать.Какое значение она скопирует и какое значение будет находится в ESI в текущий момент времени - это уже совсем другая история.
В 16-ричной среде эта последовательность совсем по другому смотрится »
...не понял. О чём вы?
CyberDaemon
01-04-2010, 15:20
DillerInc, пардон, 16-разрядной (16-битной). Вот та-же самая последовательность:
8B35 MOV SI,[DI]
1C68 SBB AL,68
A800 TEST AL,00
Snake750
01-04-2010, 15:22
Или же Snake750, сам не знает, что ему нужно. В приведенной выдержке из »
Я знаю что мне нужно. Со слов преподавателя лабораторная работа называется "дизасемблирование".
Есть ассемблерные команды из них необходимо получить машинный код. Лабу сегодня сдал, нашел норм методичку у другого препода с человеческим описанием. Вам спасибо за помошь
CyberDaemon
01-04-2010, 15:38
Со слов преподавателя лабораторная работа называется "дизасемблирование".
Есть ассемблерные команды из них необходимо получить машинный код. »
Значит, тебя дезинформировали :)
Дизассе́мблер — транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера
Т.е. из "B8 1D 00" получить ассемблерную команду "mov ax,1d" - это дизассемблировать.
Snake750
01-04-2010, 15:48
CyberDaemon, да я догадовался что она сама мало понимает о чем говорит. нашел сегодня методичку, в которой есть таблицы и примеры нормальные. на все ушло минут 25-30.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.