Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с рассчётом контрольной суммы 
:(
    Опции темы
okulski
  Дата 18.11.2009, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

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

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


 




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


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

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