Форум программистов, компьютерный форум, киберфорум
ОС на Assembler
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29

Как войти в pm

07.04.2018, 13:31. Показов 4616. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вообщем нужно войти в protect mode.
Для этого использую флэшку, 0 сектор содержит прогу для загрузки с 1 сектора int 13, 42h
в первом секторе прога. все вроде хорошо но дойдя до сюда перезагружается комп. я понимаю что что-то не так но уже все перепробовал. прога взята из книги аблязова с маленькими изменениями. Помогите мне очень хочется подружится с pm.
(ветки уже разные просматривал на форуме и не только но увы что такое не пойму!)(до операции hlt не доходит, а reset случается)
работаю с фасм
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
mov     cr0,eax
        db      66h
        db      0EAh            
ENTRY_OFF   dd      PROTECTED_MODE_ENTRY_POINT            
        dw      CODE_SELEKTOR
 
 
 
 
     CODE_SELEKTOR  db 8h
     DATA_SELEKTOR  equ 10h
     VIDEO_SELEKTOR equ 18h
 
 
 
start:
sti
        mov     ax,3
        int     10h
         cli
        in      al,92h
        or      al,2
        out     92h,al
 
        xor     eax,eax
        mov     ax, cs
        shl     eax,4
        add     eax, PROTECTED_MODE_ENTRY_POINT
        mov     [ENTRY_OFF],eax
 
        xor     eax,eax
        mov     ax,cs
        shl     eax,4
        add     ax, GDT
 
        mov     dword [GDTR+2],eax
        lgdt        fword [GDTR]
 
        
        in      al,70h
        or      al,80h
        out     70h,al
 
        mov     eax,cr0
        or      al,1
        mov     cr0,eax
 
 
        db      66h
        db      0EAh            
ENTRY_OFF   dd      PROTECTED_MODE_ENTRY_POINT            
        dw      CODE_SELEKTOR
 
 
align 8
GDT:
    NULL_descr  db      8 dup(0)
    CODE_descr  db      0FFh,0FFh,00h,00h,00h,10011010b,01000000b,00h
    DATA_descr  db      0FFh,0FFh,00h,00h,00h,10010010b,01000000b,00h
    VIDEO_descr db      0FFh,0FFh,00h,80h,0Bh,10010010b,01000000b,00h
    GDT_size    equ     $-GDT
 
label GDTR fword
        dw      GDT_size-1      
        dd      ?       
 
use32
 
PROTECTED_MODE_ENTRY_POINT:
 
hlt
 
 STACK_BASE_ADDRESS      equ 0f0000h
     USER_PM_CODE_BASE_ADDRESS   equ 0d0000h
     USER_PM_CODE_SIZE equ USER_PM_CODE_END - USER_PM_CODE_BASE_ADDRESS
        
mov        ax, DATA_SELEKTOR
        mov        ds, ax
        mov        es, ax
        mov        ss, ax
        mov        esp, STACK_BASE_ADDRESS
 
        call delta
     delta:
        pop ebx
        add ebx, USER_PM_CODE_START-delta
 
        mov        esi, ebx
        mov        edi, USER_PM_CODE_BASE_ADDRESS
        mov        ecx, USER_PM_CODE_SIZE
        rep        movsb
 
 
        mov        eax,USER_PM_CODE_BASE_ADDRESS
        jmp        eax
 
USER_PM_CODE_START:
ORG USER_PM_CODE_BASE_ADDRESS
 
        mov        ESI, message
    mov        EDI, 0B8000h        
    mov        ECX,18       
 
    rep        movsb            
    jmp        $        
 
message: db "152535455565758595"
 
 
USER_PM_CODE_END:
Вложения
Тип файла: rar pm.rar (747 байт, 4 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2018, 13:31
Ответы с готовыми решениями:

СМА Bosch Logixx 8 WAS 28740 OE/05 FD8709200437, Как войти в тест ?, Как войти в тест ?
Собственно, как войти в тест ? Спасибо.

не могу войти войти в "World of Tanks
вот логи

Как войти в BIOS?
Матплаты GygaByte предлагают в BIOS опцию FastBoot и ULTRA FastBoot. Так вот после включения Ультры в биос можно войти только посредством...

26
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
01.05.2018, 19:13  [ТС]
Студворк — интернет-сервис помощи студентам
частично помогло с кодом риал мода окей неизвестные строки пропали. а вот с момента перехода в пм ничего не изменилось вот фото листинга и тамже бощ. в борще видно что меняются всеравно. загрузку однообразная в файле.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
org 600h
use16
jmp start
start:
xor ax,ax
xor ax,ax
xor ax,ax
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
sti
mov        ax,3
int        10h
cli
in      al,92h
or      al,2
out     92h,al
 
xor ax,ax
mov ax, cs
shl ax,4
add ax, PROTECTED_MODE_ENTRY_POINT
mov [ENTRY_OFF],eax
 
xor ax,ax
mov ax,cs
shl ax,4
add ax, GDT
 
mov dword [GDTR+2],eax
lgdt fword [GDTR]
in al,70h
or al,80h
out 70h,al
 
mov eax,cr0
or al,1
mov cr0,eax
 
 
db 66h
db 0EAh     
ENTRY_OFF dd PROTECTED_MODE_ENTRY_POINT       
dw 8h ;CODE_SELEKTOR
 
nop
nop
nop
align 8
use32
PROTECTED_MODE_ENTRY_POINT:
xor ax,ax
xor ax,ax
xor ax,ax
xor ax,ax
xor ax,ax
xor ax,ax
xor ax,ax
xor ax,ax 
xor ax,ax       
xor ecx,ecx
xor eax,eax
 
 
mov eax,10h; DATA_SELEKTOR
 
mov ds, ax
 
;mov ax, VIDEO_SELEKTOR
 
mov es, ax
 
xor esi,esi
xor eax,eax
xor edi,edi
xor ebx,ebx
xor ecx,ecx
cli
mov ESI, message
mov EDI, 0B8000h           
mov ECX, 0ah    
 
rep movsb
 
xor eax,eax         
jmp bu      
 
 
 
 
 
bu: 
mov edi,mess ;указание куда сохранять
xor eax,eax
mov eax,0
cpuid         ;цп ид
mov di,hodi
mov ebx,eax
scasd
mov edx,eax
scasd
mov ecx,eax
scasd
sub di,hodi
mov ax,di
mov [kol],di
 
xor eax,eax
mov ah,5
mov al,bl
stosw
mov ax,bx
xor al,al
mov al,ah
mov ah,5
stosw
 
shr ebx, 10h
 
mov ah,5
mov al,bl
stosw
mov ax,bx
xor al,al
mov al,ah
mov ah,5
stosw
 
mov ah,5
mov al,dl
stosw
mov ax,dx
xor al,al
mov al,ah
mov ah,5
stosw
 
shr edx, 10h
 
mov ah,5
mov al,dl
stosw
mov ax,dx
xor al,al
mov al,ah
mov ah,5
stosw
 
mov ah,5
mov al,cl
stosw
mov ax,cx
xor al,al
mov al,ah
mov ah,5
stosw
 
shr ecx, 10h
 
mov ah,5
mov al,cl
stosw
mov ax,cx
xor al,al
mov al,ah
mov ah,5
stosw
 
 
xor ecx,ecx
mov        ESI, mess
mov        EDI, 0B8010h        
mov        ECX,18h
 
rep        movsb    
    
 
            ;ds:si lodsb
 
 
mov si,hodi
xor eax,eax
xor dx,dx
xor cx,cx
xor bx,bx
metkau:
mov bl,1
meta:
lodsb
 
mov bl,1
 
mov dl,al
 
dec [kol]
muta:
 
mov cl,7
 
metka1:
;btr al,cl
btr ax,cx
dec cl      ;уменьшаем позицию бита до 4
cmp cl,3 ;
jne metka1   ;прыгнуть если не равно
 
cmp al,09h  ;сравнение первых 9хекс символов
ja l        ;если выше то прыжок на л
add al,30h
inc [pak]
mov ah,5
mov edi, messaga
stosw
cmp bl,1
dec bl
mov al,dl
shr al,4
je muta
cmp [kol],0
 
lodsb
jne meta
 
jmp exit
 
 
 
l:
add al,37h
inc [pak]
mov ah,5
mov edi, messaga
stosw
 
cmp bl,1
dec bl
mov al,dl
shr al,4
je muta
cmp [kol],0
 
lodsb
jne meta
 
 
 
exit:
 
 
mov  ESI, messaga
mov  EDI, 0B8000h
mov  ECX,pak
 
rep  movsb
jmp  $
 
align 8
CODE_SELEKTOR equ 8h
DATA_SELEKTOR equ 10h
VIDEO_SELEKTOR equ 18h
message : db "1525354555"
 
align 8
GDT:
NULL_descr db 8 dup(0)
CODE_descr db 0FFh,0FFh,00h,00h,00h,10011010b,11001111b,00h
DATA_descr db 0FFh,0FFh,00h,00h,00h,10010010b,11001111b,00h
VIDEO_descr db 0FFh,0FFh,00h,80h,0Bh,10010010b,01000000b,00h
GDT_size equ $-GDT
 
label GDTR fword
dw GDT_size-1       
dd ?    
align 8
 
align 8
sme db 0
kol dw 0
pak db 0
 
mess: dw 18h  dup  (?)
mess1: dw 040h dup (?)
messaga db 0
hodi db 0
Миниатюры
Как войти в pm  
Вложения
Тип файла: txt usb flash - копия.txt (1.1 Кб, 2 просмотров)
0
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
01.05.2018, 19:14  [ТС]
рагрузчик в нолевом секторе в первом програма занимает уже 2 сектора.
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6215 / 2449 / 403
Регистрация: 29.07.2014
Сообщений: 3,181
Записей в блоге: 4
01.05.2018, 19:27
Лучший ответ Сообщение было отмечено krazkras как решение

Решение

так видно-же в чём проблема - поставь у себя в коде в стр(67):
Assembler
1
2
3
 mov  ax,10h      ; без EAX !!!!
 mov  ds,ax
 mov  es,ax
..и вообще, отладчик должен перепрыгивать такой мусор, а не выполнять его

Добавлено через 1 минуту
ты в реал-моде, соблюдай его правила
1
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
01.05.2018, 19:38  [ТС]
ну а я что говорю. я не против записать ax,10 но отладчик указывает что у меня в старшей части eax находится мусор, мусор вносится.

Добавлено через 52 секунды
кстати приведенный пример уже после перехода в проттект мод

Добавлено через 29 секунд
он уже должен есть eax
0
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6215 / 2449 / 403
Регистрация: 29.07.2014
Сообщений: 3,181
Записей в блоге: 4
01.05.2018, 19:43
Цитата Сообщение от krazkras Посмотреть сообщение
кстати приведенный пример уже после перехода в проттект мод
поэтому внизу написано Real mode

Добавлено через 1 минуту
и бит в CR0 сброшен
0
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
01.05.2018, 19:43  [ТС]
ну дак и не хрена смотри что в борще там не 10h а мусор и все регистры всеравно поменяли разрядность
Миниатюры
Как войти в pm  
0
0 / 0 / 0
Регистрация: 07.04.2018
Сообщений: 29
01.05.2018, 19:47  [ТС]
не все понял я борщ не довел до перехода в протект а просто пролистывал код. все сам ступил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.05.2018, 19:47

wifi как войти
кто знает как можно подключиться к чужому wifi без знания пароля

Как войти в IBExpert
запускаю утилиту isql.exe и выполняю запросы под учётной записью user ‘SYSDBA’ password ‘masterkey’ Скачал IBExpert с официального сайта...

Как войти в фейсбук
Админ заблокировал доступ к соц сетям, как обойти ограничение и зайти на фейсбук? Видел как заходили в контакт через сторонний сайт, есть...

Как войти в профессию?
Здравствуйте! Есть желание стать программистом 1С. Хочу получить новую востребованную профессию. Предыдущий опыт с программированием никак...

Как войти по FTP?
Здравствуйте. В корень сайта загрузила папку consultant (чат). Проблемы с кодировкой в открывающемся окне-форме. Разработчики системы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru