Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodychka-lab_OS.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать

11. Список використаної літератури

    1. Help по функціях API - www.nan32asm.cjb.net

    2. Microsoft Windows Help - Win32 Programmers Reference

    3. Технічна документація Microsoft - MSDN

Додаток 1

Текст програми виводу імен запущених процесів в системі.

.386

.model flat,stdcall

include c:\masm32\include\windows.inc

include c:\masm32\include\kernel32.inc

include c:\masm32\include\user32.inc

include c:\masm32\include\masm32.inc

includelib c:\masm32\lib\kernel32.lib

includelib c:\masm32\lib\user32.lib

includelib c:\masm32\lib\masm32.lib

.data

Caption_s db "Process",0

Snapshot dword ?

Text_s db 1024 dup (?)

PID_s db 25 dup (?)

PID_f db "%u ",0

CRLF_s db 13,10,0

lstPTR dword offset Text_s

ProcEntry PROCESSENTRY32 <sizeof(PROCESSENTRY32)>

.code

wrtdown_str proc

mov ebp, [lstPTR] ; Remember the last position

@@c: mov al, [edx] ; Take a letter from [edx]

mov [ebp], al ; write the letter to [ebp]

or al, al ; compare the letter with zero

jz @@end ; if it is zero then it is end of line

inc ebp ; else increase ebp and edx

inc edx

jmp @@c ; loops to @@c

@@end: mov [lstPTR], ebp ; Store the last position

ret

wrtdown_str endp

start:

invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS, NULL

; now eax contains the snapshot handle

mov [Snapshot], eax

invoke Process32First, eax, addr ProcEntry

; now the ProcEntry contains information about the first process

@@a: invoke wsprintf, addr PID_s, addr PID_f, ProcEntry.th32ProcessID

mov edx, offset PID_s

call wrtdown_str

mov edx, offset ProcEntry.szExeFile

call wrtdown_str

mov edx, offset CRLF_s

call wrtdown_str

mov eax, [Snapshot]

invoke Process32Next, eax, addr ProcEntry

cmp eax, FALSE

jne @@a

mov eax, [Snapshot]

invoke CloseHandle, eax ; closes the snapshot handle

; invoke MessageBox, 0, addr Text_s, addr Caption_s, MB_OK

invoke StdOut, addr Text_s

; prints the process list in message box

invoke ExitProcess, 0 ; exits the program

end start

Результат

0 [System Process]

8 System

140 SMSS.EXE

168 CSRSS.EXE

188 WINLOGON.EXE

216 SERVICES.EXE

228 LSASS.EXE

416 svchost.exe

448 spoolsv.exe

496 svchost.exe

512 kavsvc.exe

552 sqlservr.exe

624 regsvc.exe

644 mstask.exe

688 WinMgmt.exe

764 svchost.exe

1012 explorer.exe

1184 UMSD.EXE

704 kav.exe

968 internat.exe

480 acrotray.exe

1072 sqlmangr.exe

520 CMD.EXE

116 CMD.EXE

308 notepad.exe

588 ps.exe

  1. Лабораторна робота №5

Тема: Робота з реєстром ОС Windows засобами Win32 API.

Мета: Навчитись переглядати і редагувати реєстр ОС Windows в програмному режимі засобами пакету MASM32.

          1. Основні теоретичні відомості

1.1 Основні поняття

П'яте видання словника Microsoft Computer Dictionary визначає реєстр так:

Реєстр – ієрархічно побудована, централізована база даних в складі операційних систем Microsoft Windows 9x, Windows CE, Windows NT і Windows 2000, яка містить дані, що використовуються для конфігурації операційної системи для роботи з користувачами, програмними продуктами та пристроями.

http://support.microsoft.com/?scid=kb%3Bru%3B256986&x=0&y=3

Реєстр Windows зберігає дані в ієрархічно структурованому дереві. Кожен вузол у цьому дереві називається ключем (key). Кожен ключ може містити значення (value) та інші ключі. Зазвичай один ключ в реєстрі містить всі дані, необхідні одній програмі. Програма відкриває потрібний ключ і використовує значення асоційовані з ним. Ключ може містити довільну кількість значень в будь-якому форматі.

Кожен ключ має ім’я, яке складається з одного або більше ANSI символів — тобто символи з кодами від 32 до 127. Імена ключів не можуть містити пробілів, зворотних слешів (\) або групових символів (* і ?). Імена ключів, які починаються з крапки (.) є зарезервованими. Ім’я кожного підключа є унікальним. Імена ключів не перекладаються в локалізованих версіях операційної системи, однак значення можуть бути перекладеними на інші мови.

Для того, щоб добавити нові дані до реєстру програма повинна відкрити ключ. Щоб відкрити ключ, необхідно застосувати дескриптор іншого ключа реєстру, який вже відкритий. Система оголошує стандартні дескриптори ключів, які завжди відкриті. Кожна програма може використовувати ці відкриті ключі в якості вхідних точок до реєстру.

Система забезпечує два відкриті ключі в корені реєстру: HKEY_LOCAL_MACHINE та HKEY_USERS. Додатково, система надає доступ до HKEY_CLASSES_ROOT (підключ HKEY_LOCAL_MACHINE) і HKEY_CURRENT_USER (підключ HKEY_USERS). Дані дескриптори є дійсними для всіх реалізацій реєстру Win32. Також деякі додаткові відкриті дескриптори появилися для певних платформ.

Стандартні відкриті ключі допомагають програмі взаємодіяти з реєстром і дозволяють розробляти спеціалізовані програми для адміністрування реєстру. Програми, які добавляють дані в реєстр повинні завжди працювати в базисі стандартних відкритих ключів, що дає змогу адміністративним засобам знаходити і використовувати ці дані.

Наступні стандартні відкриті ключі використовуються як точки входу в реєстр.

    1. Точка входу

      1. Використання

HKEY_CLASSES_ROOT

Частини реєстру які входять до цього ключа оголошують типи (або класи) документів і властивості асоційовані з цими типами. Інформація, яка зберігається під цим ключем використовується програмами-оболонками (shell applications) і програмами, які працюють із зв’язуваними і вбудовуваними об’єктами (OLE).

HKEY_CURRENT_USER

Частини реєстру за цим ключем оголошують настройки поточного користувача. Ці настройки включають змінні середовища, дані про групи програм, кольори, прінтери, мережеві з’єднання, автозавантажувані програми і користувацькі настройки програм.

HKEY_DYN_DATA

Для Windows 95 і Windows 98: розділи реєстру за цим ключем дозволяють нагромаджувати дані про роботу системи.

HKEY_LOCAL_MACHINE

Розділи реєстру під цим ключем описують технічні характеристики комп’ютера, включаючи інформацію про тип шин, системну пам’ять, встановлене апаратне і програмне забезпечення.

HKEY_PERFORMANCE_DATA

Для Windows NT: розділи реєстру цього ключа дозволяють звертатися до інформації про швидкодію системи. Насправді ця інформація безпосередньо не зберігається в реєстрі; виклик певних функцій реєстру призводить до збору запитуваної інформації.

HKEY_USERS

Частини реєстру за цим ключем оголошують користувацьку конфігурацію по замовчуванню для нових користувачів комп’ютера і користувацьку конфігурацію для поточного користувача.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]