Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2018, 13:27   #11
Michail235
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 10
По умолчанию

Большое всем спасибо. Не вполне в тему: может кто-нибудь знает где можно получить информацию о подробном порядке работы операционной системы при получении команды на выполнение программы, т.е. какие утилиты (может быть низкоуровневые подпрограммы) высчитывают размер запускаемой программы, определяют сегменты в памяти, переводят все это в физические адреса и т.д.
Michail235 вне форума Ответить с цитированием
Старый 11.11.2018, 16:24   #12
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Michail235 Посмотреть сообщение
где можно получить информацию
Д.Рихтер: "Windows для профессионалов"
Цитата:
Сообщение от Michail235 Посмотреть сообщение
высчитывают размер запускаемой программы
любой дизассемблер показывает размеры секций из РЕ-заголовка файла, причём размеры сразу двух типов: в виртуальной памяти (с выравниванием секций), и на диске (без выравнивания).
Код:
File: Dbgview.exe
Path: D:\Install\DEBUG\DTree\SYS\
Size: 468*056
Type: PE
Base Of Code: 00001000, Code Size: 00032800
Base Of Data: 00034000, Data Size: 0003DE00
Image Base: 00400000
Entry Point: 00415757

Sections:

   Name   | VirtAddr | VirtSize |  Offset  | PhysSize |  Flags   | Code
----------+----------+----------+----------+----------+----------+------
 .text    | 00401000 | 00032758 | 00000400 | 00032800 | 60000020 |  Yes
 .rdata   | 00434000 | 00008E8E | 00032C00 | 00009000 | 40000040 |  
 .data    | 0043D000 | 000178AC | 0003BC00 | 00001A00 | C0000040 |  
 .rsrc    | 00455000 | 0003324C | 0003D600 | 00033400 | 40000040 |
Если нужно тестить прогу по шагам, то отладчик OllyDbg.
Он покажет виртуальный адрес, куда система загрузила прогу
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 11.11.2018, 16:33   #13
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Кстати, нужно было сразу в отладчике и смотреть содержимое фрема в стеке:
Изображения
Тип файла: png stack.png (24.8 Кб, 118 просмотров)
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 11.11.2018, 20:49   #14
Michail235
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 10
По умолчанию

Спасибо, а что-то подобное для файлов ELF?
Michail235 вне форума Ответить с цитированием
Старый 12.11.2018, 08:11   #15
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

gdb
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура стека Daryan Visual C++ 0 12.05.2016 15:59
Длина кадра сети XemyL Помощь студентам 0 05.11.2013 11:17
Вставка кадра... Кулибаба Петро Microsoft Office Word 1 31.12.2012 18:03
Эффект 25 кадра ZvEr_HaCkEr Свободное общение 16 05.08.2010 18:56
Формирование кадра IzhAtomic Помощь студентам 0 26.04.2009 18:44