Это раздутый вопрос, если я когда-либо видел его.
НО, я сделаю все возможное, чтобы дать обзор.
В двоичном исполняемом файле эти вещи называются «байтовыми кодами», байтовые коды - это просто шестнадцатеричное представление инструкции. Обычно вы можете «искать» байтовые коды и преобразовывать их в инструкции по сборке. Например:
Инструкция:
mov ax, 2h
Имеет представление байтового кода:
B8 02 00
Байт-коды загружаются в ОЗУ и исполняются процессором, поскольку это его «язык». Ни один здравомыслящий, что я знаю программы в байт-коде, это было бы просто сложно. Сборка достаточно забавная, как она есть. Всякий раз, когда вы компилируете программу на языке более высокого уровня, она должна взять ваш код и превратить его в инструкции по сборке, вы просто представляете, как искаженный ваш код будет выглядеть после его компиляции. Не поймите меня неправильно, компиляторы великолепны, но разберите C ++ программу с помощью бесплатной IDA Pro, и вы поймете, о чем я говорю.
То есть исполняемые файлы в двух словах, безусловно, есть книги, написанные на эту тему.
Я не эксперт по Windows API, но кто-то еще может показать вам, как будет выглядеть инструкция для вызова Windows API «MessageBox». Должно быть только несколько строк сборки.