Показать сообщение отдельно

  #12  
Старый 07.09.2008, 16:12
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

Код:
.text:00418EA4 mov     edi, 0ADF89ED0h ; init
.text:00418EA9 mov     eax, 0F158FDEAh
.text:00418EAE mov     edx, 589485FCh
.text:00418EB3 mov     ecx, 15898FCEh
.text:00418EB8 mov     [esi+0DCh], edi
.text:00418EBE mov     [esi+0ECh], edi
.text:00418EC4 mov     [esi+0FCh], edi
.text:00418ECA mov     [esi+0E8h], eax
.text:00418ED0 mov     [esi+0F8h], eax
.text:00418ED6 mov     [esi+108h], eax
.text:00418EDC pop     edi
.text:00418EDD mov     [esi+0E0h], edx
.text:00418EE3 mov     [esi+0E4h], ecx
.text:00418EE9 mov     [esi+0F0h], edx
.text:00418EEF mov     [esi+0F4h], ecx
.text:00418EF5 mov     [esi+100h], edx
.text:00418EFB mov     [esi+104h], ecx
.text:00418F01 mov     dword ptr [esi+10Ch], 0F53h
.text:00418F0B mov     dword ptr [esi+110h], 0F52h
==================================================
.text:004188C6 mov     dword ptr [esi], 0FC148ABh ; init
.text:004188CC mov     dword ptr [edi], 1C1F87B0h ; init
==================================================
.text:0041CD4C mov     edx, [eax+0E8h] ; edx=0A889F8A5h
.text:0041CD52 cmp     edx, [eax+0E0h] ; [eax+0E0h]=0A889F8A5h
.text:0041CD58 jz      short loc_41CD84
==================================================
.text:0040BA4A mov     ecx, [eax+104h] ; ecx=1AEA103Bh
.text:0040BA50 cmp     ecx, [eax+0FCh] ; [eax+0FCh]=1AEA103Bh
.text:0040BA56 jz      short loc_40BA65
==================================================
.text:00406255 mov     edx, [eax+0ECh] ; edx=162063EFh
.text:0040625B mov     ecx, [eax+0F4h] ; ecx=162063EFh
.text:00406261 cmp     ecx, edx
.text:00406263 setz    dl
==================================================
.text:00405094 mov     ecx, [eax+0F4h] ; ecx=162063EFh
.text:0040509A cmp     ecx, [eax+0ECh] ; [eax+0ECh]=162063EFh
.text:004050A0 jz      short loc_4050A4
==================================================
.text:00406305 mov     edx, [eax+0E0h] ; edx=0A889F8A5h
.text:0040630B mov     ecx, [eax+0E8h] ; ecx=0A889F8A5h
.text:00406311 cmp     ecx, edx
.text:00406313 setz    dl
Беглого осмотра достаточно чтобы понять что команды читающие значения crc - одинаковые. Поэтому можно их все найти поиском с помощью Olly.
Код:
.text:0041EB10 ; [0000000A BYTES: COLLAPSED FUNCTION SetCRCFlag01. PRESS KEYPAD "+" TO EXPAND]
.text:0041EB1A                 align 10h
.text:0041EB20 ; [0000000A BYTES: COLLAPSED FUNCTION SetCRCFlag04. PRESS KEYPAD "+" TO EXPAND]
.text:0041EB2A                 align 10h
.text:0041EB30 ; [0000000A BYTES: COLLAPSED FUNCTION SetCRCFlag03. PRESS KEYPAD "+" TO EXPAND]
Ну а тут все функции переименованы для наглядности. Каждая ставит флаг Bool: IsCrcValid; Далее флаги проверяются там сям при работе.
Ну вот как-то так.
 
Ответить с цитированием