Знаю есть такая штука ассемблер, но хотелось бы узнать если программа которая открывает чистый машинный код, например у меня есть картинка хочу ее открыть и посмотреть на нее как она выглядит из машинного кода.
- Вопрос задан более трёх лет назад
- 9620 просмотров
Комментировать
Решения вопроса 3
Любой хексовый редактор поможет вам увидеть изображение так, как оно представлено в памяти компьютера.
хочу по программировать на машинном коде
Никто не программирует «на машинном коде». Максимум — патчи. Машинный код разделяют на данные и, непосредственно код, который дизассемблируют (переводят на более высокий уровень абстракции).
Ответ написан более трёх лет назад
Нравится 2 28 комментариев
Вы можете на нем написать что угодно. Хоть сайт. Но вот усилия, потраченные на это, мягко говоря, велики.
Это вопрос? Можно. Только и компилятор/интерпретатор на нем писать вряд ли кто будет.
Насчет сайта — можно, проекты были. Но зачем писать на низкоуровневом языке, который во-первых, платформо-зависимый, во-вторых, весьма объемен и лапшевиден, а в-третьих имеет разные несовместимые между собой имплементации синтаксиса.
Hello World на Ассемблере (x86)
Простой вопрос: а зачем?
А, понятно, толстый тролль. А я-то думал.
Ну, ассемблер как-бы тоже. Гуглите(пожалуйста, гуглите, а не бегите сразу сюда) в сторону Лиспа.
ололололо, он изучил php и js toster.ru/user/I_I/questions
JavaScript Developer
открой картинку через блокнот)
Ответ написан более трёх лет назад
Нравится 1 5 комментариев
хочу по программировать на машинном коде
а ты вопросы так, от балды задаешь?)
если хочешь покодить, учи ассемблер
ru.wikipedia.org/wiki/%D0%90%D1%81%D1%81%D0%B5%D0%.
BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
Не хочешь учить ассемблер? Ок, не учи. Найди справочник кодов команд ассемблера и пиши с применением этих кодов. Это и есть твой желанный машинный код.
Enjoy =)
Ответ написан более трёх лет назад
Нравится 1 3 комментария
Есть способы, но только для этого нужно познать дзен и спросить разрешения в астрале. Когда разрешение будет получено, необходимо покамлать духам биоса и PC архитектуры. Жертва должна быть обильной (3 айфона подойдет). Для правильного принесения жертвы необходимо соединить 3 айфона последовательно и пустить ток. По окончанию ритуала тебе откроется тайное знание которое и позволит вам запускать блокнот в биосе, а так же играть в марио в ядре системы и прочие супервозможности.
ЯЗЫК АССЕМБЛЕРА за 3 МИНУТЫ
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Программирование
Какие есть подходы к реализации подключения различных модулей для приложения?
- 1 подписчик
- 8 часов назад
- 48 просмотров
Источник: qna.habr.com
Как посмотреть код программы на ассемблере?
Можно воспользоваться дизассемблером, например, таким как IDA. Если вас интересует, во что именно компилируется ваш собственный код (а иначе зачем бы вы ставили метку C++? :)), то многие компиляторы (если не все :)) генерируют ассемблерный листинг наряду с объектными файлами. В Visual C++ для этого служит ключик /Fa, в GCC, насколько я знаю, ключик -S.
Самое простое — добавить в опции компиляции (Compiler options -> Add the following commands when calling the compiler) опцию -save-temps . Тогда ассемблерный код будет в файлах с расширением .s. Другой вариант — использовать опцию -Wa,-adhln=test.s — тогда ассемблерный код будет в файле test.s.
Источник: husl.ru
Как посмотреть код программы на ассемблере
Ассемблер от компилятора
Результат трансляции в код ассемблера можно увидеть с помощью ключа -S. Пример:
Но такой код хоть и является результатом трансляции исходного кода, но он плохочитаем.
Ассемблер от objdump
Гораздо лучший ассемблерный листинг можно получить с помощью программы objdump. Для этого ее надо натравить на сгенерированный объектник вот с такими опциями:
objdump -d -S a.out
В полученном листинге больше всего обычно интересует секция .text, которая начинается так:
Disassembly of section .text:
А внутри этой секции, для стартового cpp файла, будет ассемлерный листинг функции main:
int main(int argc, char** argv)
4007d7: 55 push %rbp
И каждая строка там будет видна в исходном виде, и будет видно как она скомпилировалась в машинный код вместе с литеральной записью команд ассемблера.
- Книга «Использование GNU Compiler Collection» (на примере gcc v.10.2.0)
- Как убрать неиспользуемый код, вариант 1
- Как убрать неиспользуемый код, вариант 2
- Как увидеть результат работы препроцессора в GCC
- Как увидеть результат трансляции в код ассемблера в GCC
- Онлайновый компилятор и дизассемблер для C/C++ кода
- Ускорение в GCC 4.4
- Как скомпилировать программу из нескольких файлов
- Как приложить к программе свои динамические либы конкретных версий
- Как скомпилировать программу статически или с определенным путем к библиотекам
- Что использовать для статической сборки программ
- Установка GNU C (gcc) для Windows (MinGW)
- Кросс-компиляция под ARM — Midnight Commander
- Инструменты кросскомпиляции для ARM
- Флаги компилятора gcc для отображения всех предупреждений
- Поиск ошибок работы с памятью в C/C++ при помощи Valgrind
- Основные принципы работы Valgrind. Отладка и поиск некорректных обращений к памяти
- Утилиты для профилирования кода на C/C++ в Linux и FreeBSD
Источник: webhamster.ru