Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.1 c