Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2017, 16:54   #1
SandersSh
Новичок
Джуниор
 
Регистрация: 16.11.2017
Сообщений: 1
Вопрос Как преобразовать байт-код (в шестнадцатеричной системе счисления) в команды assembler? - Assembler

Как преобразовать байт-код (в шестнадцатеричной системе счисления) в команды assembler? Предположим есть строка, состоящая из байтов, и нужно считать из неё команды assembler. Как это сделать подскажите, пожалуйста.
SandersSh вне форума Ответить с цитированием
Старый 16.11.2017, 17:02   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,772
По умолчанию

Берете талмуд на архитектуру, на которой построен процессор, для которого этот код, и разбираете. Типа такого https://www.intel.com/content/dam/ww...ual-325383.pdf
p51x вне форума Ответить с цитированием
Старый 16.11.2017, 22:01   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Качаешь FASM и вбиваешь в него свои байт-коды приблизительно в таком виде..
Код:
; после директивы(DB) идут твои коды..
org   100h
db    0B8h,50h,7Fh,31h,0D2h,83h,0C8h,08h,31h,0C0h,0CDh,16h,0C3h
Теперь жмёшь в FASM'е [F9] и получаешь программу из твоих кодов..
Открываешь эту программу в любом отладчике (например GRDB, или виндовый DEBUG) и получаешь исходник:
Код:
GRDB version 1.7 Copyright (c) LADsoft
History enabled

->L test.com
Size: 0000000D

->u
1004:0100   B8 50 7F       mov    ax, 7F50
1004:0103   31 D2          xor    dx, dx
1004:0105   83 C3 08       add    bx, 0008
1004:0108   31 C0          xor    ax, ax
1004:010A   CD 16          int    16
1004:010C   C3             ret
->
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 17.11.2017, 17:31   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Тимур,
мне кажется, что ТС не очень понимает то, о чём спрашивает
Mikl___ вне форума Ответить с цитированием
Старый 17.11.2017, 18:04   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Mikl___ эт точно.. хотя вопрос вроде поставлен корректно.
просто если в байт-коде будут присутствовать константы или адреса, то восстановить исходник по таблице опкодов - дело не простое.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу, которая печатает таблицу умножения и сложения натуральных чисел в шестнадцатеричной системе счисления ss1112 Помощь студентам 2 18.12.2016 11:37
Калькулятов в шестнадцатеричной системе счисления Sinasta Помощь студентам 13 22.10.2013 15:16
Калькулятов в шестнадцатеричной системе счисления Choppa Общие вопросы Delphi 2 22.05.2013 17:36
Ввести число типа unsigned long. Распечатать в десятичной, двоичной и шестнадцатеричной системе счисления gas777 Общие вопросы C/C++ 5 03.06.2011 09:19
преобразовать Delphi код в assembler rip Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 12.05.2008 15:46