0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 4
|
|
1 | |
Что за адрес в MOV EAX,DWORD PTR DS:[10008234]27.01.2016, 07:29. Показов 8347. Ответов 5
Метки нет (Все метки)
Занимаюсь дизассемблированием одной софтинки в ollydbg.
Встретилась такая команда MOV EAX,DWORD PTR DS:[10008234] Что это за адрес 0х10008234? Не могу найти адекватную карту памяти для х86. Если смотреть здесь http://wiki.osdev.org/Memory_Map_(x86) то похоже адрес попадает на RAM. Зачем читать по фиксированному адресу?
0
|
27.01.2016, 07:29 | |
Ответы с готовыми решениями:
5
Что означает cmp dword ptr ds:[eax+10h],0300h? Что означает mov byte ptr ds:[1], 'b'? mov eax,ss: [word ptr bp] [di+4] Инструкции mov ss:[esp], eax и push eax - одно и тоже? |
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,934
|
|
27.01.2016, 09:07 | 2 |
Это может быть все что угодно. Скорей всего какая-то переменная в какой-то dllке, поскольку в этот диапазон обычно загружаются dll.
0
|
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 4
|
|
27.01.2016, 09:37 [ТС] | 3 |
Я плохо знаком с архитектурой х86, но уже десяток лет программирую микроконтроллеры.
Я всегда считал что в х86 память под программы и все что она подтягивает выделяется динамически. При каждом следующем запуске программы будут новые адреса в RAM для этой программы. А тут жестко фиксированный адрес. А что если этот участок памяти уже был занят кем-то другим?
0
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,934
|
|
27.01.2016, 09:50 | 4 |
Я не видел программы. Могу только предположить. В загружаемом модуле могут присутствовать релокейшены. И при загрузке в память все адреса перенастраиваются. Еще может быть что сама программа изменила адрес в сегменте кода, когда когда узнала адрес загрузки библиотеки, в которой эта переменная используется, если это кросс-модульный переход. Очень тяжело гадать на кофейной гуще...
Добавлено через 3 минуты Ссылка в посте неприменима к данной задаче. По ссылке карта памяти для реального режима процессора. В Windows для каждого процесса выделяется свое виртуальное адресное пространство.
0
|
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
27.01.2016, 10:16 | 5 |
0
|
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 4
|
|
28.01.2016, 08:46 [ТС] | 6 |
Разрбираюсь с olly. Да действительно вы были правы на адреса 0х10008000...0x10008FFF попадает секция .data одной из dll. Спасибо, вы многое для меня прояснили. Эта область инициализируется сразу после открытия exe файла. Часть этих данных не изменна, а часть отличается при каждом запуске. Экспериментировал с настройками olly в разделе Events. Не удалось сделать так чтобы эта область была не иницализирована. Явную запись по нужному мне адресу нашел только в одном месте кода, но программа туда не попадает. Также ставил бряк по доступу на запись к этим адресам, тоже бряк не срабатывает.
0
|
28.01.2016, 08:46 | |
28.01.2016, 08:46 | |
Помогаю со студенческими работами здесь
6
Что может означать в cheat engine строчка mov [rbx - 000b744], eax Подскажите, пожалуйста, что означает эта строка в ассемблере: 00b00DE0 add byte ptr [eax], al, как её прочитать? > mov eax, [eax+$68] Mov es:[si], word ptr 8e00h на FASM Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |