Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - [решено] Дизасемблирование

Ответить
Настройки темы
Assm - [решено] Дизасемблирование

Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток. Интересует дизасемблирование. Подскажите пожалуйста какую нибудь понятную литературку( лучше чтобы это была небольшая статья на каком нить сайте) по дизасемблированию. В википедии вычитал что оно бывает автоматическое. Это значит что есть программы которые сами производят процесс дизасемблирования? Интересует дизасемблирование не огромных программ а простеньких состоящих в основном из арифметических команд, и команд пересылки( лабораторные работы). Код программ не более 12 строк. Программирование происходит в среде Турбо Делфи (asm.... end Спасибо

Отправлено: 16:49, 31-03-2010

 

Аватара для CyberDaemon

DOOMer


Сообщения: 3254
Благодарности: 438

Профиль | Отправить PM | Цитировать


Ты хочешь исполняемый файл дизассемблировать и получить на выходе код на языке высокого уровня (Turbo Delphi)?

-------
"640 K ought to be enough for anybody" Bill Gates, 1981


Отправлено: 17:28, 31-03-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


у меня есть открытый код, его необходимо перевести в двоичную Сс

Отправлено: 22:21, 31-03-2010 | #3


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Цитата Snake750:
у меня есть открытый код, его необходимо перевести в двоичную Сс »
Это как? Скомпилировать?

Ассемблер и дизассемблирование [Пирогов] Посмотрите эту книгу, для начала.

-------
black-eric.livejournal.com


Отправлено: 22:57, 31-03-2010 | #4


Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


BlackEric, если бы я сам понимал. Преподаватель выдал лабораторную работу, надо сделать. процитирую небольшой отрывок из описания к данной работе
Цитата:
mov ax, 29;
КОП данной команды = 1011(2)
Ее формат :КОПregB1B2, где В1, В2- младший и возможный старшый биты пересылаемого кода. В рассматриваемом случае код числа 29=11101(10)=1D(16) нужно записать в двухбайтовый регистр ax, следовательно параметр W должен быть равен 1. Это влечет за собой включение в команду кода непосредственного данного, занимающего два дополнительных байта 00 1D(16). По табл 3 находим код регистра ах. Таким образом искомая машинная команда должна иметь вид
КОП=1011W=1reg=000
B1 =00011101
B2=00000000.
Исключаяя пояснительные обозначения, получим окончательный вид команды: 1011 000 00011101 00000000 (2)= B8 1D 00(16)
Вот как то так.мне необходимо таким образом перевести небольшую программу. вот и интересуюсь если ли программы которые делают это автоматически, или нормальная простенькая литературка.

Отправлено: 23:26, 31-03-2010 | #5


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Если я правильно понял задание, то вам нужно не дизассемблировать программу, а наоборот _вручную_ перегнать имеющийся текст программы (на ассемблере?) в машинные коды.
Когда то на лабе под какой-то контроллер такое делали. Там были какие-то таблицы и по ним транслировали ассемблерные команды в машинный код. Т.е. берите таблицы и по описанию из методы.
А автоматически это делает компилятор

-------
black-eric.livejournal.com


Отправлено: 23:39, 31-03-2010 | #6


Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


BlackEric, вы правильно поняли. есть команды ассемблера а из них необходимо получить , как я понял, либо двоинчные коды или шестнадцатиричные. Есть ли какая нибудь программа которая это делает? Где можно взять эти таблицы, потому что в своей методе я не наблюдаю

Отправлено: 23:44, 31-03-2010 | #7


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Таблицы кодов операций? Спросите у препода. Или если под Intel то возможно у них

Эта программа - компилятор. Он перегонит в бинарный вид исходник вашей процедуры. Но вам это не поможет. Мы делали вручную там не так сложно как кажется.

-------
black-eric.livejournal.com

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:50, 31-03-2010 | #8


Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


BlackEric, хорошо, по гуглю эти таблицы. у препода их нет.Мне вообще кажется что она не совсем адекватна.

Отправлено: 23:53, 31-03-2010 | #9


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


По идее, но я не пробовал.

Если у вас как я понял есть ассемблерный кусок кода в делфе в процедуре вида
asm
....
end;
то если его скомпилить выключив всевозможную оптимизацию и потом открыть в WinHex получившийся exeшник то в каком-то месте будет то что нужно в машинных кодах.

Но это только идея!

-------
black-eric.livejournal.com


Отправлено: 23:58, 31-03-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - [решено] Дизасемблирование

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Дизасемблирование Steyer Программирование и базы данных 2 12-02-2004 22:29




 
Переход