Новичок
Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.8.2007
Репутация: нет Всего: нет
|
народ есть файл(ы) которые нужно изменить там есть 16битная контрольная сумма (в файле 36 7С) 7С 36 пример файла http://www.cheremkhovo.ru/files/3k2_2411.zlib в китайской проге нарыл совпадение в одном из вариантов это строка SUM NEG. SUPPL. WORD C984H 367BH 367CH а в описании WORD - sum by words to "word". CY flag is ignored. Column marked as NEG. is a negation of checksum so, that SUM + NEG. = FFFFH. Column marked as SUPPL. is complement of checksum so, that SUM + SUPPL. = 0 (+ carry). пожалуйста поясните что это за процедура и где бы нарыть исходник на асме вычисления выглядят так | Код | .text:0040290A loc_40290A: ; CODE XREF: sub_402480:loc_4029F3j .text:0040290A mov ecx, [ebp+var_14] .text:0040290D add ecx, 2 .text:00402910 mov [ebp+var_14], ecx .text:00402913 .text:00402913 loc_402913: ; CODE XREF: sub_402480+488j .text:00402913 mov edx, [ebp+var_14] .text:00402916 cmp edx, [ebp+var_E0] .text:0040291C jg loc_4029F8 .text:00402922 mov eax, lpBaseAddress .text:00402927 add eax, [ebp+var_8] .text:0040292A mov ecx, [ebp+var_14] .text:0040292D xor edx, edx .text:0040292F mov dl, [eax+ecx] .text:00402932 and edx, 0FFh .text:00402938 mov [ebp+var_D8], dl .text:0040293E mov eax, lpBaseAddress .text:00402943 add eax, [ebp+var_8] .text:00402946 mov ecx, [ebp+var_14] .text:00402949 xor edx, edx .text:0040294B mov dl, [eax+ecx+1] .text:0040294F and edx, 0FFh .text:00402955 mov [ebp+var_E4], dl .text:0040295B movsx eax, [ebp+var_D8] .text:00402962 and eax, 0FFh .text:00402967 movsx ecx, [ebp+var_E4] .text:0040296E and ecx, 0FFh .text:00402974 shl ecx, 8 .text:00402977 add eax, ecx .text:00402979 mov [ebp+var_DC], eax .text:0040297F mov edx, [ebp+var_DC] .text:00402985 add edx, [ebp+var_B0] .text:0040298B mov [ebp+var_B0], edx .text:00402991 cmp [ebp+var_B0], 10000h .text:0040299B jl short loc_4029DB .text:0040299D mov eax, [ebp+var_B0] .text:004029A3 sub eax, 10000h .text:004029A8 mov [ebp+var_B0], eax .text:004029AE mov ecx, [ebp+var_C8] .text:004029B4 add ecx, 1 .text:004029B7 mov [ebp+var_C8], ecx .text:004029BD cmp [ebp+var_C8], 10000h .text:004029C7 jl short loc_4029DB .text:004029C9 mov edx, [ebp+var_C8] .text:004029CF sub edx, 0FFFFh .text:004029D5 mov [ebp+var_C8], edx .text:004029DB .text:004029DB loc_4029DB: ; CODE XREF: sub_402480+51Bj .text:004029DB ; sub_402480+547j .text:004029DB mov eax, [ebp+var_E0] .text:004029E1 cdq .text:004029E2 sub eax, edx .text:004029E4 sar eax, 1 .text:004029E6 cmp [ebp+var_14], eax .text:004029E9 jnz short loc_4029F3 .text:004029EB mov ecx, [ebp+var_4] .text:004029EE call sub_401109 .text:004029F3 .text:004029F3 loc_4029F3: ; CODE XREF: sub_402480+569j .text:004029F3 jmp loc_40290A .text:004029F8 ; --------------------------------------------------------------------------- .text:004029F8 .text:004029F8 loc_4029F8: ; CODE XREF: sub_402480+49Cj .text:004029F8 mov eax, 0FFFFh .text:004029FD sub eax, [ebp+var_B0] .text:00402A03 mov [ebp+var_AC], eax .text:00402A09 mov ecx, 10000h .text:00402A0E sub ecx, [ebp+var_B0] .text:00402A14 mov [ebp+var_A8], ecx .text:00402A1A cmp [ebp+var_A8], 10000h .text:00402A24 jnz short loc_402A30 .text:00402A26 mov [ebp+var_A8], 0 .text:00402A30 .text:00402A30 loc_402A30: ; CODE XREF: sub_402480+5A4j .text:00402A30 mov esi, esp .text:00402A32 mov edx, [ebp+var_B0] .text:00402A38 push edx .text:00402A39 push offset Format ; " %04XH " .text:00402A3E lea eax, [ebp+Source] .text:00402A41 push eax ; Dest .text:00402A42 call ds:sprintf .text:00402A48 add esp, 0Ch .text:00402A4B cmp esi, esp .text:00402A4D call _chkesp .text:00402A52 mov esi, esp .text:00402A54 mov ecx, [ebp+var_AC] .text:00402A5A push ecx .text:00402A5B push offset Format ; " %04XH " .text:00402A60 lea edx, [ebp+var_40] .text:00402A63 push edx ; Dest .text:00402A64 call ds:sprintf .text:00402A6A add esp, 0Ch .text:00402A6D cmp esi, esp .text:00402A6F call _chkesp .text:00402A74 mov esi, esp .text:00402A76 mov eax, [ebp+var_A8] .text:00402A7C push eax .text:00402A7D push offset a04xh_0 ; " %04XH" .text:00402A82 lea ecx, [ebp+var_54] .text:00402A85 push ecx ; Dest .text:00402A86 call ds:sprintf .text:00402A8C add esp, 0Ch .text:00402A8F cmp esi, esp .text:00402A91 call _chkesp .text:00402A96 lea edx, [ebp+Source] .text:00402A99 push edx ; Source .text:00402A9A lea eax, [ebp+Dest] .text:00402AA0 push eax ; Dest .text:00402AA1 call strcpy .text:00402AA6 add esp, 8 .text:00402AA9 lea ecx, [ebp+var_40] .text:00402AAC push ecx ; Source .text:00402AAD lea edx, [ebp+Dest] .text:00402AB3 push edx ; Dest .text:00402AB4 call strcat .text:00402AB9 add esp, 8 .text:00402ABC lea eax, [ebp+var_54] .text:00402ABF push eax ; Source .text:00402AC0 lea ecx, [ebp+Dest] .text:00402AC6 push ecx ; Dest .text:00402AC7 call strcat .text:00402ACC add esp, 8 .text:00402ACF lea edx, [ebp+Dest] .text:00402AD5 push edx .text:00402AD6 mov ecx, [ebp+var_4] .text:00402AD9 add ecx, 160h .text:00402ADF call MFC42D_4934 .text:00402AE4 mov eax, [ebp+var_C8] .text:00402AEA add eax, [ebp+var_B0] .text:00402AF0 mov [ebp+var_C8], eax .text:00402AF6 cmp [ebp+var_C8], 10000h .text:00402B00 jl short loc_402B14 .text:00402B02 mov ecx, [ebp+var_C8] .text:00402B08 sub ecx, 0FFFFh .text:00402B0E mov [ebp+var_C8], ecx
|
|