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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2018, 11:36   #1
ВладимирКруг
 
Регистрация: 29.11.2018
Сообщений: 5
По умолчанию процессор

Допустим написали программку на ассемблере. Как сделать так, чтобы каждая исполненная процессором команда сбрасывалась в текстовый файл в двоичном формате?
ВладимирКруг вне форума Ответить с цитированием
Старый 29.11.2018, 12:07   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Странная затея. Думаю, для этого надо изобрести новый процессор: одно его ядро выполняет команды, другое - ведет логи. А остальные (если их много) пусть от нечего делать криптовалюту майнят
digitalis вне форума Ответить с цитированием
Старый 29.11.2018, 14:56   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от ВладимирКруг Посмотреть сообщение
чтобы каждая исполненная процессором команда..
взвести TraceFlag (TF) и перехватив int-1h (Step),
в его обработчике записывать следующие от CS:IP инструкции.
Цитата:
Сообщение от ВладимирКруг Посмотреть сообщение
..в текстовый файл в двоичном формате?
если txt-файл будет содержать бинарные данные, он перестанет быть текстовым.

А вообще непонятно, зачем сбрасывать в файл то, что и так уже лежит в файле? Процессор-же читает инструкции из файла (система делает образ программы на диске, и помещает этот образ в память).
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 29.11.2018, 16:57   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Думаю, желается реинжиниринг кода в каком-нибудь МК: он работает - и сообщает что делает. Без вскрытия пациента, потому что тот залочен и содержимое программной памяти не отдает. А файл прошивки - в Сан-Хосе, штат Калифорния.
Вот интересно, комп выполняет порядка 10^9 оп./c - если он все это вывалит в файл хотя бы за одну секунду своей работы... "Ну и что вы с этой четверкой будете делать?" как сказал Г.А.Агасандян одной нашей девушке, выпрашивавшей у него оценку.
R71MT - отнюдь. Текстовый файл может быть и таким: '001010001' - а затем переводить его в истинно бинарный.
"Нормальные герои всегда идут в обход" ©
Вот и в серьезном форуме встречается немало смешного.

Последний раз редактировалось digitalis; 29.11.2018 в 17:08.
digitalis вне форума Ответить с цитированием
Старый 29.11.2018, 20:21   #5
ВладимирКруг
 
Регистрация: 29.11.2018
Сообщений: 5
По умолчанию

Ну пусть с учетом циклов пока на тысячу команд. В текстовый файл нулики и единички. Как конкретно сделать, и возможно ли? Хотя отладчики-то работают.
ВладимирКруг вне форума Ответить с цитированием
Старый 30.11.2018, 10:50   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Я отладчик не дизассемблировал, но думаю, что работает он как-то так (в пошаговом режиме): запоминает очередную команду, выполняет ее (с сохранением флагов), выдает на экран информацию о состоянии процессора после выполненной команды, позволяя модифицировать в нем флаги, регистры и память, и переходит к следующей команде.
Проще, имея исполняемый файл, дизассемблировать его. Но его-то и нет ??
Взлом чужой программы нужен? У хакеров для этого достаточно много средств, но свои секреты они, пожалуй, не станут сливать. Так что это - не для чайника начинающего.
Большой секрет - что взламываем ? Прогу для ПК или (пост #4) - для МК ? Я никому не скажу !

Последний раз редактировалось digitalis; 30.11.2018 в 10:59.
digitalis вне форума Ответить с цитированием
Старый 01.12.2018, 16:03   #7
ВладимирКруг
 
Регистрация: 29.11.2018
Сообщений: 5
По умолчанию

Здесь чисто научный интерес. Надо собственные процессоры создавать. Тогда на такие вопросы легче было бы отвечать.
ВладимирКруг вне форума Ответить с цитированием
Старый 02.12.2018, 00:03   #8
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от ВладимирКруг Посмотреть сообщение
Надо собственные процессоры создавать.
Берёте FPGA достаточно большую - и вперёд
Black Fregat вне форума Ответить с цитированием
Старый 02.12.2018, 10:38   #9
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Эх, давненько у нас не было Нобелевских лауреатов...
digitalis вне форума Ответить с цитированием
Старый 05.01.2019, 17:12   #10
ВладимирКруг
 
Регистрация: 29.11.2018
Сообщений: 5
По умолчанию

Ну да, только надо бы ответить на вопрос "Зачем это надо за мозгами подсматривать?". И Нобелевские лауреаты появятся. Для разработчиков процессоров не думаю, что сложно достройку сделать!
ВладимирКруг вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
32 процессор NinjaNoob Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 30.10.2013 14:38
Процессор Gms Компьютерное железо 2 11.12.2011 15:38
Процессор ЖенёкСупер Общие вопросы Delphi 2 12.08.2010 20:26
Процессор subsonic Общие вопросы Delphi 10 19.06.2008 11:37