Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите высчитать смещение, Найти точный адресс 
:(
    Опции темы
Alkash
Дата 14.1.2012, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Доброго времени суток господа. Есть некоторое приложение, допустим игра. В ней имеется строка по определенному динамическому адресу. Статический адрес известен, в себе он хранит указатель на динамический. Исследование показывает, что:
Код



    724650EC - 89 44 8F EC  - mov [edi+ecx*4-14],eax
    724650F0 - 8B 44 8E F0  - mov eax,[esi+ecx*4-10]
    724650F4 - 89 44 8F F0  - mov [edi+ecx*4-10],eax <<
    724650F8 - 8B 44 8E F4  - mov eax,[esi+ecx*4-0C]
    724650FC - 89 44 8F F4  - mov [edi+ecx*4-0C],eax

    EAX=006F0076
    EBX=00000000
    ECX=00000004
    EDX=00000000
    ESI=04293D1C
    EDI=14381EB8
    ESP=0018FCEC
    EBP=0018FCF4
    EIP=724650F8


    724650F4 - 89 44 8F F0  - mov [edi+ecx*4-10],eax
    724650F8 - 8B 44 8E F4  - mov eax,[esi+ecx*4-0C]
    724650FC - 89 44 8F F4  - mov [edi+ecx*4-0C],eax <<
    72465100 - 8B 44 8E F8  - mov eax,[esi+ecx*4-08]
    72465104 - 89 44 8F F8  - mov [edi+ecx*4-08],eax

    EAX=0043006E
    EBX=00000000
    ECX=00000004
    EDX=00000000
    ESI=04293D1C
    EDI=14381EB8
    ESP=0018FCEC
    EBP=0018FCF4
    EIP=72465100


    724650FC - 89 44 8F F4  - mov [edi+ecx*4-0C],eax
    72465100 - 8B 44 8E F8  - mov eax,[esi+ecx*4-08]
    72465104 - 89 44 8F F8  - mov [edi+ecx*4-08],eax <<
    72465108 - 8B 44 8E FC  - mov eax,[esi+ecx*4-04]
    7246510C - 89 44 8F FC  - mov [edi+ecx*4-04],eax

    EAX=006E0079
    EBX=00000000
    ECX=00000004
    EDX=00000000
    ESI=04293D1C
    EDI=14381EB8
    ESP=0018FCEC
    EBP=0018FCF4
    EIP=72465108


    72465104 - 89 44 8F F8  - mov [edi+ecx*4-08],eax
    72465108 - 8B 44 8E FC  - mov eax,[esi+ecx*4-04]
    7246510C - 89 44 8F FC  - mov [edi+ecx*4-04],eax <<
    72465110 - 8D 04 8D 00000000  - lea eax,[ecx*4+00000000]
    72465117 - 03 F0  - add esi,eax

    EAX=00630069
    EBX=00000000
    ECX=00000004
    EDX=00000000
    ESI=04293D1C
    EDI=14381EB8
    ESP=0018FCEC
    EBP=0018FCF4
    EIP=72465110


    72465147 - 90 - nop
    72465148 - 8A 06  - mov al,[esi]
    7246514A - 88 07  - mov [edi],al <<
    7246514C - 8A 46 01  - mov al,[esi+01]
    7246514F - 88 47 01  - mov [edi+01],al

    EAX=00000063
    EBX=00000000
    ECX=00000002
    EDX=00000002
    ESI=04293C70
    EDI=14381EC0
    ESP=0018FCEC
    EBP=0018FCF4
    EIP=7246514C


    7246514A - 88 07  - mov [edi],al
    7246514C - 8A 46 01  - mov al,[esi+01]
    7246514F - 88 47 01  - mov [edi+01],al <<
    72465152 - 8B 45 08  - mov eax,[ebp+08]
    72465155 - 5E - pop esi

    EAX=00000000
    EBX=00000000
    ECX=00000002
    EDX=00000002
    ESI=04293C70
    EDI=14381EC0
    ESP=0018FCEC
    EBP=0018FCF4
    EIP=72465152

    7234A6DE - EB 03 - jmp std::basic_string<unsigned short,std::char_traits<unsigned short>,std::allocator<unsigned short> >::_Eos+15
    7234A6E0 - 83 C1 04 - add ecx,04
    7234A6E3 - 66 83 24 41  00 - and word ptr [ecx+eax*2],00 <<
    7234A6E8 - C2 0400 - ret 0004
    7234A6EB - 33 C0  - xor eax,eax

    EAX=00000005
    EBX=00000000
    ECX=14381EB8
    EDX=00000002
    ESI=00A7869C
    EDI=04293C68
    ESP=0018FD4C
    EBP=0018FD5C
    EIP=7234A6E8

14381Eb8 - тот самый динамический адрес. Никак не могу разобраться со смещением от него, до необходимой инфы. Кому не сложно - подскажите пожалуйста. Заранее благодарен за помощь.

PS: все мои попытки воспроизвести механизм доступа - пока фэйл-(



--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.