|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2017, 13:05 | #1 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
Не переходит в защищённый режим
НЕ могу перейти в защищённый режим. Запускаю на qemu.
Файловая система NTFS Файл программы bootmgr При jmp fword 08h:PM_StartUp32 перезагружается qemu Прошёлся отладчиком, строка "jmp fword 08h:PM_StartUp32" прыгает в текущий 0x0,0x63(по этому адресу расположена PM_StartUp32), но всё улетает в другой сегмент и по другому смещению. А далее перезагрузка. В чём проблема? Код:
|
09.12.2017, 14:10 | #2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Чему равен источник кода? Почему нет команды org?
Куда грузится код, по какому смещению?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
09.12.2017, 14:16 | #3 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
|
09.12.2017, 15:50 | #4 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
0x2002f: ljmpw $0x0,$0x3000
В отладчике jmp fword 08h:PM_StartUp32 прыгает по адресу 0x0,0x3000 если после use32 поставить org 3000h. Но на самом деле прыжок осуществляется в адрес 000Fh:E05Bh. И qemu уходит в reboot. Но по адресу 2000h:3000h нет программы Но если org убрать то: 0x2002f: ljmpw $0x0,$0x5d должен прыгать на адрес 2000h:005Dh и как раз там уже загружена программа. Но этого не происходит и всё уходит на адрес 000Fh:E05Bh и reboot. Последний раз редактировалось Nikolay2015; 09.12.2017 в 15:56. |
09.12.2017, 16:34 | #5 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Ну так всё правильно прыгает он по абсолютному адресу, а вы ждёте относительно 2000h это не верно. Вы должны прибавить 2000h*16
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 09.12.2017 в 16:41. Причина: была ошибка 16, должно 4 |
09.12.2017, 16:52 | #6 | |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
Цитата:
Я ещё вчера пытался корректировать адрес тоже без успешно. Всё что вне прыжка он выполняет, но как только прыжок то в reboot. Код:
|
|
09.12.2017, 17:22 | #7 |
Пользователь
Регистрация: 23.08.2017
Сообщений: 59
|
ljmpw $0x2,$0x6e
Вот что пишет отладчик при изменениях Pavia, но всё равно уходит в 0xE05Bh |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Защищённый просмотр | KApSuL | Microsoft Office Excel | 0 | 10.04.2012 14:46 |
Защищённый режим процессора | BVOG | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 18 | 21.03.2012 17:42 |
Защищённый процесс | Terran | Win Api | 2 | 08.12.2007 13:31 |