Что нового

Чтение чата игры из памяти (проблемы с memcpy)

fanat2007

Новичок
Сообщения
3
Репутация
0
Пишу бота с пикселями и вытаскиванием значений персонажа и прочего из памяти сложностей нет но вот столкнулся с проблемой. В игре довольно много полезного пишется в чат да и вобще чат из игры читать хочется но в частности начал заморачиваться когда решил прикрутить нормальную функцию рыбалки с чтением памяти вместо пиксельного.

И вот собственно в чем проблема, адреса чата динамические и заключены в memcpy функцию и из нее я не представляю как вытянуть хоть какойто более менее стабильный адрес не говоря уж о БА или офсете.

Буду весьма благодарен за советы и возможные какието решения
 

teges

Знающий
Сообщения
18
Репутация
16
если чат хранится в памяти игры, то он обычно хранится с какими-нибудь тегами, например
Код:
<font color='00FF00'>Тут мое сообщение</font>
по идее надо найти место, где начинается сохранение сообщений, после искать такие теги и вытягивать из них значения
Код:
If Not ($sChar = "<") Then $iOffset +=1 ;и так по битам до нужного символа

ну это на мой взгляд самое примитивное решение :whistle:
введи текст в игре и попробуй найти его в памяти, открой редактором памяти найденную ячейку и посмотри как оно там устроено
ФТопкуСообщение:
сам недавно задумался над этой темой, есть пара мыслей, которые скоро проверю :scratch:


ты всех отпугнул memcpy :blink: Может Гуру что нибудь подскажут :-[
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Статья в целом объясняющая алгоритм поиска БА и офсетов. Ну еще можно поискать в сторону Pointer scanner (CE).
 
Автор
F

fanat2007

Новичок
Сообщения
3
Репутация
0
проблема именно с memcpy, статьи думаю полезны для тех кто не знает их содержания в моемже случае они без полезны так как я уже писал выше что адреса динамические и заключены в функцию memcpy эта функция распределят информацию внутри блока памяти который постоянно меняется.

Для тех кто не знает что такое memcpy http://ru.wikipedia.org/wiki/Memcpy

2teges такого плана решение было реализовано во время тестов но немного в другом виде результат разочаровал вопервых не точно считывает инфу во вторых довольно медленно а как я уже писал выше основная причина была сделать нормальную функцию рыбалки а инфа по рыбалке выдается в чат вот собственно и начал заморачиваться :smile:
 

Foli

Знающий
Сообщения
39
Репутация
5
адреса меняются, а вот инструкции которые с ними работают нет, в СЕ есть возможность смотреть с какими адресами работает инструкция данный момент(и так можно выловить нужные тебе адреса), хз как реализовать это же на автоит
 
Автор
F

fanat2007

Новичок
Сообщения
3
Репутация
0
Инструкции из дебагера
741CAE78 - 72 2A - jb memcpy+84
01B9698D - 8A 00 - mov al,[eax]
01B969B3 - 80 38 2D - cmp byte ptr [eax],2D
01B96D61 - 8A 00 - mov al,[eax]
01B96DAA - 8A 00 - mov al,[eax]
01B96DF3 - 8A 00 - mov al,[eax]
01B96E3C - 8A 00 - mov al,[eax]
01B96E85 - 8A 00 - mov al,[eax]
01B96ECE - 8A 00 - mov al,[eax]
01B96F14 - 8A 00 - mov al,[eax]
01B96F63 - 8A 00 - mov al,[eax]
01B96FAD - 8A 00 - mov al,[eax]
01B96FF7 - 8A 00 - mov al,[eax]
01B97043 - 8A 00 - mov al,[eax]
01B97092 - 8A 00 - mov al,[eax]
741CB9F0 - 8B 01 - mov eax,[ecx]
740C84AE - 0FB6 00 - movzx eax,byte ptr [eax]
741CAF4C - 89 44 8F E4 - mov [edi+ecx*4-1C],eax
741CAF54 - 89 44 8F E8 - mov [edi+ecx*4-18],eax
741CAF5C - 89 44 8F EC - mov [edi+ecx*4-14],eax
741CAF64 - 89 44 8F F0 - mov [edi+ecx*4-10],eax
01B46255 - F6 00 80 - test byte ptr [eax],80
01B4629E - 66 0FBE 03 - movsx ax,byte ptr [ebx]
0040D146 - 8A 08 - mov cl,[eax]
7547A334 - 8A 08 - mov cl,[eax]
7549FEB8 - 0FB6 0F - movzx ecx,byte ptr [edi]
01B9CBE3 - 8A 1C 13 - mov bl,[ebx+edx]
741CAEC4 - 8A 46 02 - mov al,[esi+02]
741CAED6 - 72 CC - jb memcpy+84
740B0B37 - 66 89 14 41 - mov [ecx+eax*2],dx
740B0AEA - 66 89 14 41 - mov [ecx+eax*2],dx
004094F0 - 66 8B 08 - mov cx,[eax]
741CAF60 - 8B 44 8E F0 - mov eax,[esi+ecx*4-10]
741CAF68 - 8B 44 8E F4 - mov eax,[esi+ecx*4-0C]
741CAF70 - 8B 44 8E F8 - mov eax,[esi+ecx*4-08]
741CAF78 - 8B 44 8E FC - mov eax,[esi+ecx*4-04]
014A2DF9 - 88 11 - mov [ecx],dl
741E31FB - 88 02 - mov [edx],al

Развернтая инфа по инструкциям
741CAE72 - 83 E2 03 - and edx,03
741CAE75 - 83 F9 08 - cmp ecx,08
741CAE78 - 72 2A - jb memcpy+84 <<
741CAE7A - F3 A5 - repe movsd
741CAE7C - FF 24 95 94AF1C74 - jmp dword ptr [edx*4+memcpy+174]

EAX=050ADD57
EBX=03FCEC30
ECX=0000000A
EDX=00000003
ESI=050ADD2C
EDI=050ADDD4
ESP=03FCEAAC
EBP=03FCEAB4
EIP=741CAE7A


01B96985 - 8B CF - mov ecx,edi
01B96987 - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B9698D - 8A 00 - mov al,[eax] <<
01B9698F - 3C 30 - cmp al,30
01B96991 - 7C 04 - jnge PIBGetInterface+10A387

EAX=050ADD64
EBX=00000004
ECX=03FCEC24
EDX=050E2CF4
ESI=00000002
EDI=03FCEC24
ESP=03FCEBA8
EBP=03FCEC00
EIP=01B9698F


01B969AB - 8B CF - mov ecx,edi
01B969AD - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B969B3 - 80 38 2D - cmp byte ptr [eax],2D <<
01B969B6 - 75 ED - jne PIBGetInterface+10A395
01B969B8 - 46 - inc esi

EAX=050ADDD8
EBX=00000004
ECX=03FCEC24
EDX=050E2CF4
ESI=00000008
EDI=03FCEC24
ESP=03FCEBA8
EBP=03FCEC00
EIP=01B969B6


01B96D59 - 0B D8 - or ebx,eax
01B96D5B - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96D61 - 8A 00 - mov al,[eax] <<
01B96D63 - 8A C8 - mov cl,al
01B96D65 - 80 E9 30 - sub cl,30

EAX=050ADD64
EBX=AD000000
ECX=03FCEC24
EDX=00000034
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96D63


01B96DA2 - 0B D8 - or ebx,eax
01B96DA4 - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96DAA - 8A 00 - mov al,[eax] <<
01B96DAC - 8A D0 - mov dl,al
01B96DAE - 80 EA 30 - sub dl,30

EAX=050ADD31
EBX=ADD00000
ECX=03FCEC24
EDX=00000003
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96DAC


01B96DEB - 0B D8 - or ebx,eax
01B96DED - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96DF3 - 8A 00 - mov al,[eax] <<
01B96DF5 - 8A C8 - mov cl,al
01B96DF7 - 80 E9 30 - sub cl,30

EAX=050ADD65
EBX=ADD10000
ECX=03FCEC24
EDX=00000001
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96DF5


01B96E34 - 0B D8 - or ebx,eax
01B96E36 - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96E3C - 8A 00 - mov al,[eax] <<
01B96E3E - 8A D0 - mov dl,al
01B96E40 - 80 EA 30 - sub dl,30

EAX=050ADD66
EBX=ADD1E000
ECX=03FCEC24
EDX=00000004
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96E3E


01B96E7D - 0B D8 - or ebx,eax
01B96E7F - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96E85 - 8A 00 - mov al,[eax] <<
01B96E87 - 8A C8 - mov cl,al
01B96E89 - 80 E9 30 - sub cl,30

EAX=050ADD66
EBX=ADD1EF00
ECX=03FCEC24
EDX=00000036
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96E87


01B96EC6 - 0B D8 - or ebx,eax
01B96EC8 - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96ECE - 8A 00 - mov al,[eax] <<
01B96ED0 - 8A D0 - mov dl,al
01B96ED2 - 80 EA 30 - sub dl,30

EAX=050ADD31
EBX=ADD1EFF0
ECX=03FCEC24
EDX=00000005
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96ED0


01B96F0C - 0B D8 - or ebx,eax
01B96F0E - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96F14 - 8A 00 - mov al,[eax] <<
01B96F16 - 8A C8 - mov cl,al
01B96F18 - 80 E9 30 - sub cl,30

EAX=050ADD62
EBX=ADD1EFF1
ECX=03FCEC24
EDX=00000001
ESI=00000000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96F16


01B96F5A - 66 0B F0 - or si,ax
01B96F5D - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96F63 - 8A 00 - mov al,[eax] <<
01B96F65 - 8A D0 - mov dl,al
01B96F67 - 80 EA 30 - sub dl,30

EAX=050ADD30
EBX=ADD1EFF1
ECX=03FCEC24
EDX=00000001
ESI=0000B000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96F65


01B96FA4 - 66 0B F0 - or si,ax
01B96FA7 - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96FAD - 8A 00 - mov al,[eax] <<
01B96FAF - 8A C8 - mov cl,al
01B96FB1 - 80 E9 30 - sub cl,30

EAX=050ADD35
EBX=ADD1EFF1
ECX=03FCEC24
EDX=00000000
ESI=0000B000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96FAF


01B96FEE - 66 0B F0 - or si,ax
01B96FF1 - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B96FF7 - 8A 00 - mov al,[eax] <<
01B96FF9 - 8A D0 - mov dl,al
01B96FFB - 80 EA 30 - sub dl,30

EAX=050ADD65
EBX=ADD1EFF1
ECX=03FCEC24
EDX=00000000
ESI=0000B050
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B96FF9


01B97038 - 66 89 74 24 18 - mov [esp+18],si
01B9703D - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B97043 - 8A 00 - mov al,[eax] <<
01B97045 - 8A C8 - mov cl,al
01B97047 - 80 E9 30 - sub cl,30

EAX=050ADD34
EBX=ADD1EFF1
ECX=03FCEC24
EDX=00000035
ESI=0000B05E
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B97045


01B97089 - 66 0B F0 - or si,ax
01B9708C - FF 15 B0F59002 - call dword ptr [GColor::Format+680B30]
01B97092 - 8A 00 - mov al,[eax] <<
01B97094 - 8A D0 - mov dl,al
01B97096 - 80 EA 30 - sub dl,30

EAX=050ADD62
EBX=ADD1EFF1
ECX=03FCEC24
EDX=00000035
ESI=00004000
EDI=03FCEC24
ESP=03FCEBB4
EBP=03FCEC00
EIP=01B97094


741CB9E2 - 8D A4 24 00000000 - lea esp,[esp+00000000]
741CB9E9 - 8D A4 24 00000000 - lea esp,[esp+00000000]
741CB9F0 - 8B 01 - mov eax,[ecx] <<
741CB9F2 - BA FFFEFE7E - mov edx,7EFEFEFF
741CB9F7 - 03 D0 - add edx,eax

EAX=33302030
EBX=00000000
ECX=050ADDD0
EDX=00000000
ESI=03FCE0C4
EDI=03FCE198
ESP=03FCE084
EBP=03FCE090
EIP=741CB9F2


740C84A8 - 53 - push ebx
740C84A9 - E8 97CEFDFF - call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::shok:perator[]
740C84AE - 0FB6 00 - movzx eax,byte ptr [eax] <<
740C84B1 - 50 - push eax
740C84B2 - 8B CF - mov ecx,edi

EAX=00000069
EBX=00000002
ECX=03FCED08
EDX=0FB5D827
ESI=03FCEC68
EDI=03FCEC6C
ESP=03FCEB94
EBP=03FCEBCC
EIP=740C84B1


741CAF46 - 1C 74 - sbb al,74
741CAF48 - 8B 44 8E E4 - mov eax,[esi+ecx*4-1C]
741CAF4C - 89 44 8F E4 - mov [edi+ecx*4-1C],eax <<
741CAF50 - 8B 44 8E E8 - mov eax,[esi+ecx*4-18]
741CAF54 - 89 44 8F E8 - mov [edi+ecx*4-18],eax

EAX=3A373231
EBX=050ADDD0
ECX=00000007
EDX=00000003
ESI=0FB5D818
EDI=050ADDD0
ESP=03FCEA94
EBP=03FCEA9C
EIP=741CAF50


741CAF4C - 89 44 8F E4 - mov [edi+ecx*4-1C],eax
741CAF50 - 8B 44 8E E8 - mov eax,[esi+ecx*4-18]
741CAF54 - 89 44 8F E8 - mov [edi+ecx*4-18],eax <<
741CAF58 - 8B 44 8E EC - mov eax,[esi+ecx*4-14]
741CAF5C - 89 44 8F EC - mov [edi+ecx*4-14],eax

EAX=31646461
EBX=050ADDD0
ECX=00000007
EDX=00000003
ESI=0FB5D818
EDI=050ADDD0
ESP=03FCEA94
EBP=03FCEA9C
EIP=741CAF58


741CAF54 - 89 44 8F E8 - mov [edi+ecx*4-18],eax
741CAF58 - 8B 44 8E EC - mov eax,[esi+ecx*4-14]
741CAF5C - 89 44 8F EC - mov [edi+ecx*4-14],eax <<
741CAF60 - 8B 44 8E F0 - mov eax,[esi+ecx*4-10]
741CAF64 - 89 44 8F F0 - mov [edi+ecx*4-10],eax

EAX=31666665
EBX=050ADDD0
ECX=00000007
EDX=00000003
ESI=0FB5D818
EDI=050ADDD0
ESP=03FCEA94
EBP=03FCEA9C
EIP=741CAF60


741CAF5C - 89 44 8F EC - mov [edi+ecx*4-14],eax
741CAF60 - 8B 44 8E F0 - mov eax,[esi+ecx*4-10]
741CAF64 - 89 44 8F F0 - mov [edi+ecx*4-10],eax <<
741CAF68 - 8B 44 8E F4 - mov eax,[esi+ecx*4-0C]
741CAF6C - 89 44 8F F4 - mov [edi+ecx*4-0C],eax

EAX=3530622D
EBX=050ADDD0
ECX=00000007
EDX=00000003
ESI=0FB5D818
EDI=050ADDD0
ESP=03FCEA94
EBP=03FCEA9C
EIP=741CAF68


01B46250 - FF D5 - call ebp
01B46252 - 8B 46 04 - mov eax,[esi+04]
01B46255 - F6 00 80 - test byte ptr [eax],80 <<
01B46258 - 75 4D - jne PIBGetInterface+B9C97
01B4625A - 8B 3E - mov edi,[esi]

EAX=050ADDD2
EBX=03FCE090
ECX=03FCE0C4
EDX=0FB05B6A
ESI=03FCE070
EDI=03FCE0C4
ESP=03FCDFE8
EBP=741FCCC9
EIP=01B46258


01B4629A - 72 02 - jb PIBGetInterface+B9C8E
01B4629C - FF D5 - call ebp
01B4629E - 66 0FBE 03 - movsx ax,byte ptr [ebx] <<
01B462A2 - E9 0B010000 - jmp PIBGetInterface+B9DA2
01B462A7 - 8B 06 - mov eax,[esi]

EAX=050A0030
EBX=050ADDD2
ECX=03FCE0C4
EDX=03FCE0C4
ESI=03FCE070
EDI=03FCE0C4
ESP=03FCDFE8
EBP=741FCCC9
EIP=01B462A2


0040D141 - 8B C7 - mov eax,edi
0040D143 - 8D 50 01 - lea edx,[eax+01]
0040D146 - 8A 08 - mov cl,[eax] <<
0040D148 - 40 - inc eax
0040D149 - 84 C9 - test cl,cl

EAX=050ADDD2
EBX=00000001
ECX=03FCEA31
EDX=050ADDD1
ESI=03FCEA08
EDI=050ADDD0
ESP=03FCE8B4
EBP=462A56E0
EIP=0040D148


7547A32D - 83 65 FC 00 - and dword ptr [ebp-04],00
7547A331 - 8D 50 01 - lea edx,[eax+01]
7547A334 - 8A 08 - mov cl,[eax] <<
7547A336 - 40 - inc eax
7547A337 - 84 C9 - test cl,cl

EAX=050ADDD2
EBX=03FCE8C4
ECX=03FCE831
EDX=050ADDD1
ESI=03FCEA08
EDI=03FCE8C4
ESP=03FCE868
EBP=03FCE890
EIP=7547A336


7549FEB3 - 89 4D EC - mov [ebp-14],ecx
7549FEB6 - EB 11 - jmp MultiByteToWideChar+509
7549FEB8 - 0FB6 0F - movzx ecx,byte ptr [edi] <<
7549FEBB - 8B 55 E0 - mov edx,[ebp-20]
7549FEBE - 66 8B 0C 4A - mov cx,[edx+ecx*2]

EAX=00000027
EBX=041C30C0
ECX=00000031
EDX=FFFB001C
ESI=03FCE8C8
EDI=050ADDD2
ESP=03FCE84C
EBP=03FCE87C
EIP=7549FEBB


01B9CBDB - 8B 54 24 54 - mov edx,[esp+54]
01B9CBDF - 8B 5C 24 18 - mov ebx,[esp+18]
01B9CBE3 - 8A 1C 13 - mov bl,[ebx+edx] <<
01B9CBE6 - 84 DB - test bl,bl
01B9CBE8 - 0F85 B1FCFFFF - jne PIBGetInterface+11028F

EAX=0FB39DD8
EBX=00000031
ECX=0FB3A1D8
EDX=050ADDD0
ESI=00000002
EDI=03FCEF38
ESP=03FCEECC
EBP=741FCCC9
EIP=01B9CBE6


741CAEBE - 8A 46 01 - mov al,[esi+01]
741CAEC1 - 88 47 01 - mov [edi+01],al
741CAEC4 - 8A 46 02 - mov al,[esi+02] <<
741CAEC7 - C1 E9 02 - shr ecx,02
741CAECA - 88 47 02 - mov [edi+02],al

EAX=00000063
EBX=00000000
ECX=00000021
EDX=00000001
ESI=050ADDD0
EDI=0FB2F5C5
ESP=03FCE7E0
EBP=03FCE7E8
EIP=741CAEC7


741CAED0 - 83 C7 03 - add edi,03
741CAED3 - 83 F9 08 - cmp ecx,08
741CAED6 - 72 CC - jb memcpy+84 <<
741CAED8 - F3 A5 - repe movsd
741CAEDA - FF 24 95 94AF1C74 - jmp dword ptr [edx*4+memcpy+174]

EAX=00000063
EBX=00000000
ECX=00000007
EDX=00000001
ESI=050ADDD7
EDI=0FB2F5CC
ESP=03FCE7E0
EBP=03FCE7E8
EIP=741CAED8


740B0B32 - 83 C1 04 - add ecx,04
740B0B35 - 33 D2 - xor edx,edx
740B0B37 - 66 89 14 41 - mov [ecx+eax*2],dx <<
740B0B3B - 5D - pop ebp
740B0B3C - C2 0400 - ret 0004

EAX=00000001
EBX=00000001
ECX=050ADDD0
EDX=00000000
ESI=03FCEB48
EDI=00000000
ESP=03FCEA34
EBP=03FCEA34
EIP=740B0B3B


740B0AE3 - 8B 45 08 - mov eax,[ebp+08]
740B0AE6 - 66 8B 55 10 - mov dx,[ebp+10]
740B0AEA - 66 89 14 41 - mov [ecx+eax*2],dx <<
740B0AEE - EB 23 - jmp std::basic_string<unsigned short,std::char_traits<unsigned short>,std::allocator<unsigned short> >::_Chassign+49
740B0AF0 - 83 79 18 08 - cmp dword ptr [ecx+18],08

EAX=00000001
EBX=00000002
ECX=050ADDD0
EDX=0000006F
ESI=03FCEB48
EDI=00000001
ESP=03FCEA2C
EBP=03FCEA2C
EIP=740B0AEE


004094E7 - 8D 50 02 - lea edx,[eax+02]
004094EA - 8D 9B 00000000 - lea ebx,[ebx+00000000]
004094F0 - 66 8B 08 - mov cx,[eax] <<
004094F3 - 83 C0 02 - add eax,02
004094F6 - 66 85 C9 - test cx,cx

EAX=050ADDD2
EBX=050ADDD0
ECX=03FC006F
EDX=050ADDD2
ESI=03FCEB9C
EDI=00000000
ESP=03FCEB24
EBP=741FCCC9
EIP=004094F3


741CAF58 - 8B 44 8E EC - mov eax,[esi+ecx*4-14]
741CAF5C - 89 44 8F EC - mov [edi+ecx*4-14],eax
741CAF60 - 8B 44 8E F0 - mov eax,[esi+ecx*4-10] <<
741CAF64 - 89 44 8F F0 - mov [edi+ecx*4-10],eax
741CAF68 - 8B 44 8E F4 - mov eax,[esi+ecx*4-0C]

EAX=006F0052
EBX=050ADDD0
ECX=00000004
EDX=00000002
ESI=050ADDD0
EDI=10EDAF60
ESP=03FCEB08
EBP=03FCEB10
EIP=741CAF64


741CAF60 - 8B 44 8E F0 - mov eax,[esi+ecx*4-10]
741CAF64 - 89 44 8F F0 - mov [edi+ecx*4-10],eax
741CAF68 - 8B 44 8E F4 - mov eax,[esi+ecx*4-0C] <<
741CAF6C - 89 44 8F F4 - mov [edi+ecx*4-0C],eax
741CAF70 - 8B 44 8E F8 - mov eax,[esi+ecx*4-08]

EAX=00610074
EBX=050ADDD0
ECX=00000004
EDX=00000002
ESI=050ADDD0
EDI=10EDAF60
ESP=03FCEB08
EBP=03FCEB10
EIP=741CAF6C


741CAF68 - 8B 44 8E F4 - mov eax,[esi+ecx*4-0C]
741CAF6C - 89 44 8F F4 - mov [edi+ecx*4-0C],eax
741CAF70 - 8B 44 8E F8 - mov eax,[esi+ecx*4-08] <<
741CAF74 - 89 44 8F F8 - mov [edi+ecx*4-08],eax
741CAF78 - 8B 44 8E FC - mov eax,[esi+ecx*4-04]

EAX=00690074
EBX=050ADDD0
ECX=00000004
EDX=00000002
ESI=050ADDD0
EDI=10EDAF60
ESP=03FCEB08
EBP=03FCEB10
EIP=741CAF74


741CAF70 - 8B 44 8E F8 - mov eax,[esi+ecx*4-08]
741CAF74 - 89 44 8F F8 - mov [edi+ecx*4-08],eax
741CAF78 - 8B 44 8E FC - mov eax,[esi+ecx*4-04] <<
741CAF7C - 89 44 8F FC - mov [edi+ecx*4-04],eax
741CAF80 - 8D 04 8D 00000000 - lea eax,[ecx*4+00000000]

EAX=006E006F
EBX=050ADDD0
ECX=00000004
EDX=00000002
ESI=050ADDD0
EDI=10EDAF60
ESP=03FCEB08
EBP=03FCEB10
EIP=741CAF7C


014A2DF3 - 8B 74 24 18 - mov esi,[esp+18]
014A2DF7 - 8A 16 - mov dl,[esi]
014A2DF9 - 88 11 - mov [ecx],dl <<
014A2DFB - 48 - dec eax
014A2DFC - 41 - inc ecx

EAX=00000027
EBX=10A7B770
ECX=050ADDD2
EDX=05040000
ESI=03FCE8C7
EDI=00000029
ESP=03FCE86C
EBP=050ADDD0
EIP=014A2DFB


741E31F7 - 78 0B - js vcwprintf_s+411F
741E31F9 - 8B 11 - mov edx,[ecx]
741E31FB - 88 02 - mov [edx],al <<
741E31FD - FF 01 - inc [ecx]
741E31FF - 0FB6 C0 - movzx eax,al

EAX=00000034
EBX=03FCE622
ECX=03FCE850
EDX=050ADDD2
ESI=03FCE604
EDI=03FCE850
ESP=03FCE590
EBP=03FCE59C
EIP=741E31FD

При этом чат выводиться в 4 адреса и периодический скачет по ним [box title=Адреса]050ADDD2
050B2AD2
050AE18A
050B2A9A
[/box]

Есть подозрение что решение заключается в jmp dword ptr [edx*4+memcpy+174] но чему равно memcpy в данной инструкции и как узнать?
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Думаю, если мы узнаем, с чем работаем, станет проще...
 
Верх