|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.02.2009, 15:06 | #1 |
Пользователь
Регистрация: 09.06.2008
Сообщений: 60
|
BIOS
Такое ощущение,что человек весьма туманно представляет о программировании на аппаратном уровне..получил от этого человека задание дизассемблировать функцию прерывания(BIOS). Подскажите ребята, такое ваще возможно??Если да,то как это сделать(примерно хотя бы),направьте на путь истины!)
|
16.02.2009, 15:12 | #2 |
Пользователь
Регистрация: 23.10.2008
Сообщений: 48
|
берёшь адрес вектора прерывания из таблицы её адрес 0x0000:0000 в Real mode, ну и копируешь код из памяти и дизассеблируешь.
|
16.02.2009, 15:19 | #3 |
Пользователь
Регистрация: 09.06.2008
Сообщений: 60
|
не понял.. допустим, получил адрес вектора, а как получить код??
Последний раз редактировалось smileman; 16.02.2009 в 15:28. |
16.02.2009, 16:04 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну этот адрес на начало кода, а заканчивается код инструкцией RETN
Вот и копируй начиная с этого адреса пока опкод RETN'а не попадется.
I'm learning to live...
|
16.02.2009, 16:13 | #5 |
Пользователь
Регистрация: 09.06.2008
Сообщений: 60
|
Весьма туманно проявляется образ кода в моем моске...я должен BIN получить в итоге?
|
16.02.2009, 16:29 | #6 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
.WHILE ecx<vAddr
mov al,byte ptr[vAddr+ecx] .BREAK .IF al=IRET ;оппкода не знаю mov byte ptr[szBuff+ecx],al .ENDW Это так - просто интерпретация. Судя по всем программу вам запускать придется из реального режима, потому придется еще функцию записи тоже приделать, но я думаю это ведь вам не сложно будет?) А то что вы получите это и вправду бинарник, дизассемблировать вы его потом сможете любым дизассмеблером, например IDA. PS: А как альтернатива - дизассемблировать БИОС и искать там эту функцию.
"Тяжело в учении, легко в бою" - А.В. Суворов
Последний раз редактировалось Ivan_32; 16.02.2009 в 16:32. |
16.02.2009, 16:49 | #7 |
Пользователь
Регистрация: 09.06.2008
Сообщений: 60
|
|
16.02.2009, 17:04 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Тем паче что винда врядли позволит писать куда попадя.
I'm learning to live...
|
|
16.02.2009, 17:07 | #9 | |
Пользователь
Регистрация: 09.06.2008
Сообщений: 60
|
Stilet
Цитата:
|
|
21.05.2009, 22:17 | #10 |
Пользователь
Регистрация: 09.06.2008
Сообщений: 60
|
собственно,реализовал программу,однако программа работает как-то не так,или я с адресами запарился..файл создается,однако размер его 1 байт,в чем же ошибка,подскажите
Код:
Последний раз редактировалось smileman; 21.05.2009 в 22:20. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как к BIOS обращаться. Нужно чтение/запись BIOS. | Dethon_ASM_Scarel | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 26.10.2011 11:40 |
BIOS | smileman | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 16 | 16.07.2008 14:54 |
Запись в BIOS | Zer0 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 13.12.2007 13:35 |
Bios | vitalik007 | Общие вопросы Delphi | 4 | 20.08.2007 11:05 |