Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для alex-rudenkiy
5 / 5 / 0
Регистрация: 02.01.2013
Сообщений: 438

Где прочитать про инциализированные данные

06.09.2017, 23:44. Показов 896. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, такой вопрос, в какой книге описывается весь процесс загрузки exe файла (желательно >= XP) в память и до тех пор, чтобы даже узнать что хранится в регистрах и стеке на точке EP, очень просто интересно и узнать как вообще процесс существует в системе, в каких структурах windows хранится, на протяжении работы.
Миниатюры
Где прочитать про инциализированные данные  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.09.2017, 23:44
Ответы с готовыми решениями:

Прочитать информацию из файла и рассортировать как структуру, где хранятся данные про каждую книгу
в файле записываю информация про книги: автор, название, год издания, кол-во страниц. нужно с читать её из файла и рассортировать как...

Где можно прочитать про мультитриггеры
Подскажите, где можно прочитать про мультитриггеры. В особенности интересует их реализация в Expression Blend

Где можно про это прочитать?
Вообще, есть несколько проблем: 1. Как убрать контур у фигуры на определённом участке? 2. Как сменить ВСЕ цвета у элементов управление?...

5
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,301
Записей в блоге: 12
07.09.2017, 11:49
Про регистры не скажу (но подразумеваю, что несмотря на то, что какие-то из регистров будут совпадать на разных системах, это всё недокументировано). А про структуры см. в сторону структур PEB, TEB.

Посмотреть регистры:
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
.686P
.MODEL Flat,StdCall
OPTION CASEMAP:NONE
 
INCLUDE         \MASM32\INCLUDE\WINDOWS.INC
INCLUDE         \MASM32\INCLUDE\KERNEL32.INC
INCLUDE         \MASM32\INCLUDE\MSVCRT.INC
 
INCLUDELIB      \MASM32\LIB\KERNEL32.LIB
INCLUDELIB      \MASM32\LIB\MSVCRT.LIB
 
.DATA?
 
InputRec INPUT_RECORD <>
ReallyRead dd ?
 
.CODE
 
Fmt             db      'Flags=%08X',13,10
                db      'CS=%08X',13,10,'DS=%08X',13,10,'ES=%08X',13,10,'SS=%08X',13,10,'FS=%08X',13,10,'GS=%08X',13,10
                db      'EDI=%08X',13,10,'ESI=%08X',13,10,'EBP=%08X',13,10,'ESP=%08X',13,10,'EBX=%08X',13,10,'EDX=%08X',13,10,'ECX=%08X',13,10,'EAX=%08X',13,10,0
 
Start:
 
                pushad
                push    gs
                push    fs
                push    ss
                push    es
                push    ds
                push    cs
                pushfd
                invoke  crt_printf, addr Fmt
                add     esp,(8+7)*4
 
                ; Wait for keypress
                invoke  GetStdHandle, STD_INPUT_HANDLE
                xchg    ebx,eax
        @@LoopInput:
                invoke  ReadConsoleInput, ebx, offset InputRec, 1, offset ReallyRead
                or      eax,eax
                jz      @@Error
                cmp     InputRec.EventType, KEY_EVENT
                jne     @@LoopInput
                cmp     InputRec.KeyEvent.bKeyDown, 0
                je      @@LoopInput
        @@Error:
                invoke  ExitProcess, NULL
 
END             Start
Добавлено через 3 минуты
http://msdn.moonsols.com/
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
07.09.2017, 12:32
Цитата Сообщение от alex-rudenkiy Посмотреть сообщение
в какой книге описывается весь процесс загрузки exe файла (желательно >= XP) в память
См. Windows Internals (6-е издание), там есть большая глава, посвященная запуску процесса.

Цитата Сообщение от alex-rudenkiy Посмотреть сообщение
и до тех пор, чтобы даже узнать что хранится в регистрах и стеке на точке EP
Это нигде не документировано и закладываться на то, что в entry point у некоторых
регистров будут определенные значения, нельзя. Жизнь потока (и процесса) начинается в ntdll,
но до перехода на entry point выполняется много кода, который различается на разных версиях
Windows и может дополняться всякими сторонними приложениями, которые перехватывают
запуск процесса и внедряют свой код.

Если очень интересно - ищи исходники NT4/Win2K/WRK, там можно найти ответы на твои вопросы.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,301
Записей в блоге: 12
07.09.2017, 20:21
Цитата Сообщение от Убежденный Посмотреть сообщение
Если очень интересно - ищи исходники NT4/Win2K/WRK, там можно найти ответы на твои вопросы.
В исходниках ReactOS можно посмотреть, как вариант...
CreateProcess находится в файле \dll\win32\kernel32\client\proc.c
2
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6208 / 2442 / 403
Регистрация: 29.07.2014
Сообщений: 3,174
Записей в блоге: 4
08.09.2017, 03:48
Файлы ntdll\kernel32\user32.dll и прочии без проблем копируются из виндовой директории. Остаётся открыть их в дизассемблере и можно просмотреть все детали. Например 'kernel32.dll' экспортирует 953-функции, в том числе и CreateProcess:

Code
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
Disassembly of File: kernel32.dll
Code Offset = 00000400, Code Size = 00083200
Data Offset = 00083600, Data Size = 00002600
 
Number of Objects = 0004 (dec), Imagebase = 7C800000h
 
+++++++++++++++++++ IMPORTED FUNCTIONS ++++++++++++++++++
Number of Imported Modules =    1 (decimal)
 
   Import Module 001: ntdll.dll
 
+++++++++++++++++++ EXPORTED FUNCTIONS ++++++++++++++++++
Number of Exported Functions = 0953 (decimal)
 
 Addr:7C80236B Ord:  99 (0063h) Name: CreateProcessA
 Addr:7C81D536 Ord: 100 (0064h) Name: CreateProcessInternalA
 Addr:7C81979C Ord: 101 (0065h) Name: CreateProcessInternalW
 Addr:7C8806F8 Ord: 102 (0066h) Name: CreateProcessInternalWSecure
 Addr:7C833602 Ord: 103 (0067h) Name: CreateProcessW
 
------------
Exported fn(): CreateProcessA - Ord:0063h
:7C80236B 8BFF                    mov edi, edi
:7C80236D 55                      push ebp
:7C80236E 8BEC                    mov ebp, esp
:7C802370 6A00                    push 00000000
:7C802372 FF752C                  push [ebp+2C]
:7C802375 FF7528                  push [ebp+28]
:7C802378 FF7524                  push [ebp+24]
:7C80237B FF7520                  push [ebp+20]
:7C80237E FF751C                  push [ebp+1C]
:7C802381 FF7518                  push [ebp+18]
:7C802384 FF7514                  push [ebp+14]
:7C802387 FF7510                  push [ebp+10]
:7C80238A FF750C                  push [ebp+0C]
:7C80238D FF7508                  push [ebp+08]
:7C802390 6A00                    push 00000000
* Reference To: KERNEL32.CreateProcessInternalA
                                  |
:7C802392 E89FB10100              call 7C81D536
:7C802397 5D                      pop ebp
:7C802398 C22800                  ret 0028
.......
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6812 / 2052 / 238
Регистрация: 14.12.2014
Сообщений: 4,301
Записей в блоге: 12
08.09.2017, 14:59
R71MT, можно, конечно, но с нормальными исходниками всё же понятнее будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.09.2017, 14:59
Помогаю со студенческими работами здесь

Где прочитать про Ws2_32.lib
Не могу найти ничего про Ws2_32.lib. Ткните носом пожалуйста где есть документация по Ws2_32.lib или хотя бы написано что да как. Надо...

Где прочитать про использование GraphicsPath с примерами
Собственно, еслть несколько вопросов: 1 - глобальный. Посоветуйие, где прочитать про использование GraphicsPath с примерами, потому...

Где можно прочитать про работу с bmp
где можно прочитать про работу с bmp ? Гуглил и толком ничего не нашел. Интересует следующее считывание исходного RGB-изображения ,...

Где могу прочитать про основы ООП?
Где могу прочитать про основы ООП?

Где можно прочитать про свойство offsetParent?
подскажите, где можно прочитать про свойство offsetParent? MDN не предлагать, так как там некорректное описание


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru