Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
9-1118904983
DGT
2005-06-16 10:56
2005.11.06
Vertex lighting in Glscene


4-1125891164
LEXX_55
2005-09-05 07:32
2005.11.06
Как изменить кодировку в TXT


1-1129130135
DelphiLexx
2005-10-12 19:15
2005.11.06
Экспорт TChart в Word


2-1129198068
Sunrice
2005-10-13 14:07
2005.11.06
Как правельно сделать пинг?


6-1117384270
Flame
2005-05-29 20:31
2005.11.06
проблемка с twebbrowser




   Наверх