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