С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 39
1

Программа дизассемблирования

25.02.2018, 12:56. Показов 1689. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нам дали такое задание: "симулировать" дизассемблер, то есть пользователь вводит двоичный код, а на выходе мы должны получить команду, например, add ax, bx. Можете помочь с идеями, как это можно реализовать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2018, 12:56
Ответы с готовыми решениями:

Защита от дизассемблирования
Привет, Какие меры можно предпринять по защите от дизассемблирования программы на c++ ? пишу под...

Программная реализация дизассемблирования арифметических команд intel 8086
Здравствуйте,вот такая тема для курсовой работы - программная реализация дизассемблирования...

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

Код после дизассемблирования..
Попалась в руки игрушка одна, сделана на AVR, управляет 4-мя моторчиками. Вытащил из МК прошивку...

9
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.02.2018, 13:11 2
Например, if/else, switch для самой команды.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 39
25.02.2018, 16:10  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Например, if/else, switch для самой команды.
А в каком виде представлять данные о командах, регистрах и т.д? в виде массива?
0
Evg
Эксперт CАвтор FAQ
21280 / 8304 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.02.2018, 16:18 4
Их не надо представлять. Берёшь опкод, декодируешь, печатаешь. Хранить всю эту информацию незачем
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 39
25.02.2018, 16:25  [ТС] 5
Цитата Сообщение от Evg Посмотреть сообщение
Хранить всю эту информацию незачем
Ну у меня же должны быть данные о командах, чтобы было из чего выбирать
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.02.2018, 16:27 6
Они будут в условии.
Ты сначала определи конкретный перечень команд, посмотри их коды, и дальше будет ясно.
0
Evg
Эксперт CАвтор FAQ
21280 / 8304 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.02.2018, 16:58 7
Цитата Сообщение от katyatsyganova Посмотреть сообщение
Ну у меня же должны быть данные о командах, чтобы было из чего выбирать
Если я правильно понял твой вопрос, то это сводится к тому, чтобы распотрошить простое соответствие типа того, что: код 0 - команда add, код 1 - команда sub и т.д. Это можно хранить либо в простом массиве, либо не хранить вообще и прямо в switch'е всё печатать
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 39
25.02.2018, 17:03  [ТС] 8
Цитата Сообщение от Evg Посмотреть сообщение
switch'е всё печатать
просто у команды add несколько вариантов и от этого меняются данные
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.02.2018, 17:27 9
Ну значит несколько case'ов будет.
0
Evg
Эксперт CАвтор FAQ
21280 / 8304 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.02.2018, 18:08 10
Цитата Сообщение от katyatsyganova Посмотреть сообщение
просто у команды add несколько вариантов и от этого меняются данные
Тебе это должно быть пофиг. Ты в обратную сторону разгребаешь. Смотришь код, декодируешь его, печатаешь. Если в разных местах дизассемблера будет печататься "add" - тебе должно быть пофиг
0
25.02.2018, 18:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2018, 18:08
Помогаю со студенческими работами здесь

Возможности дизассемблирования .NET приложений
Доброго времени суток! Насколько мне известно, существует такой тип программ как "обфускаторы",...

Программы для дизассемблирования AVR
Интересуют бесплатные или дешёвые программы для дисассемблирования прошивок микроконтроллеров avr.

Как защитить программу от дизассемблирования?
Можете подсказать, как можно реализовать хоть какуб-нибудь более-менее простую защиту от...

Как получить строки после дизассемблирования?
При дизассемблировании Delphi в Dede в методе TForm20.Button1Click * Possible String Reference...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru