Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

CRC ????   Найти похожие ветки 

 
el_bandito   (2005-10-15 15:50) [0]

Многие знают что такое контрольная сумма,
и многие умеют ее получать.
Но у меня появился вопрос:
каким образом можно получить CRC не всей програмы ,
а например первых 100 байт программы???


 
palva ©   (2005-10-15 17:07) [1]

Взять первые 100 байтов и посчитать CRC по используемому вами алгоритму.
А в чем прикол?


 
Германн ©   (2005-10-16 00:59) [2]

2 el_bandito   (15.10.05 15:50)
Вопрос звучит странно.

> Многие знают что такое контрольная сумма,
> и многие умеют ее получать.
Т.е. надо понимать, что в число этих многих ты тоже входишь?
Но если так, то вопрос:

> каким образом можно получить CRC не всей програмы ,
> а например первых 100 байт программы???
просто не мог возникнуть!

Или у тебя есть некая программа, которая умеет вычислять некую CRC файла, но ты ищешь программу, которая могла бы считать CRC части файла? Я такую не знаю.


 
el_bandito   (2005-10-16 16:17) [3]

Засада состоит в том что у меня есть некий код(на делфи) со вставками асамблер, который вычесляет CRC, но есть одно но я асамблер не рублю
поэтому полностью вникнуть в весь алгоритм не могу.
вот он:
function GetCheckSum(FileName: string): DWORD;
var
 F: file of DWORD;
 P: Pointer;
 Fsize: DWORD;
 Buffer: array[0..500] of DWORD;
begin
 FileMode := 0;
 AssignFile(F, FileName);
 Reset(F);
 Seek(F, FileSize(F) div 2);
 Fsize := FileSize(F) - 1 - FilePos(F);
 if Fsize > 500 then
   Fsize := 500;
 BlockRead(F, Buffer, Fsize);
 Close(F);
 P := @Buffer;
 asm
    xor eax, eax
    xor ecx, ecx
    mov edi , p
    @again:
      add eax, [edi + 4*ecx]
      inc ecx
      cmp ecx, fsize
    jl @again
    mov @result, eax
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage(IntToStr(GetCheckSum("c:\Autoexec.bat")));
end;(взят с ДелфиВорлд)

Может кто подскажет как это сделать?


 
Германн ©   (2005-10-16 17:35) [4]

Ну так тут вовсе не CRC.
В GetCheckSum просто вычислияется тривиальная сумма значений двух тысяч байт взятых из середины файла.



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.23 c
14-1129414319
TStas
2005-10-16 02:11
2005.11.06
Что почитать про handle и hook?


2-1129363024
Vital
2005-10-15 11:57
2005.11.06
Рисунок на форме


6-1122268035
joisy
2005-07-25 09:07
2005.11.06
Контроль и Сохранение Веб Страниц


4-1125315752
Shopot
2005-08-29 15:42
2005.11.06
Подскажите пожалуйста ссылки на учебники по работе с Com - портом


3-1127598704
Prohodil Mimo
2005-09-25 01:51
2005.11.06
почему после Bacup Restore пропадают Not Null ?