Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.04 c
2-1129221130
Fast2
2005-10-13 20:32
2005.11.06
Как во время выполнения программы прописать логин ..


14-1129624757
Loginov Dmitry
2005-10-18 12:39
2005.11.06
Будем учить Си++


14-1129120340
MacroDenS
2005-10-12 16:32
2005.11.06
Стабилизированные 12 вольт


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


11-1109864141
Ajax
2005-03-03 18:35
2005.11.06
OwnerDraw в TreeView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский