主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

向下

校验和计数算法 找到类似的分支


Grrey   (2002-07-16 09:42) [0]

有一项任务-检查已处理的信息! 我将使用校验和,但是我不知道算法! 如果有人知道,请提供尽可能多的帮助(非常感谢您的文章,链接和任何码头!)



Mike_Goblin   (2002-07-16 09:46) [1]

http://lib.mipt.ru/books/Security/hacking/ReverseCRC.htm



Grrey   (2002-07-16 14:32) [2]

谢谢大家!
没有俄语吗?



Eugene Lachinov   (2002-07-16 14:38) [3]

不是俄语,但希望可以理解:-)

单位Crc_32;

接口

使用
类别:{$ IFDEF WIN32},Windows; {$ ELSE};
类型
DWORD = LongInt;
{$ ENDIF}

常量
CrcSeed = $ ffffffff;

函数Crc32(缓冲区:指针;常量BufLen:DWord; Crc:DWord = CrcSeed):DWORD;

函数Crc8(缓冲区:指针; BufLen:DWord; Crc:字节):字节;

函数StringCrc8(常量S:字符串; CRC:字节):字节;

函数StringCrc32(const S:string; CRC:DWORD = CrcSeed):DWORD;

函数CrcString(Crc:DWORD):字符串;

函数CrcStream(Stream:TStream):DWORD;

函数CrcFile(常量FileName:字符串):DWORD;

履行

使用
SysUtils单元;

常量
crctable8:字节的数组[0..255] =(
$00,$5E,$BC,$E2,$61,$3F,$DD,$83,$C2,$9C,$7E,$20,$A3,$FD,$1F,$41,
$9D,$C3,$21,$7F,$FC,$A2,$40,$1E,$5F,$01,$E3,$BD,$3E,$60,$82,$DC,
$23,$7D,$9F,$C1,$42,$1C,$FE,$A0,$E1,$BF,$5D,$03,$80,$DE,$3C,$62,
$BE,$E0,$02,$5C,$DF,$81,$63,$3D,$7C,$22,$C0,$9E,$1D,$43,$A1,$FF,
$46,$18,$FA,$A4,$27,$79,$9B,$C5,$84,$DA,$38,$66,$E5,$BB,$59,$07,
$DB,$85,$67,$39,$BA,$E4,$06,$58,$19,$47,$A5,$FB,$78,$26,$C4,$9A,
$65,$3B,$D9,$87,$04,$5A,$B8,$E6,$A7,$F9,$1B,$45,$C6,$98,$7A,$24,
$F8,$A6,$44,$1A,$99,$C7,$25,$7B,$3A,$64,$86,$D8,$5B,$05,$E7,$B9,
$8C,$D2,$30,$6E,$ED,$B3,$51,$0F,$4E,$10,$F2,$AC,$2F,$71,$93,$CD,
$11,$4F,$AD,$F3,$70,$2E,$CC,$92,$D3,$8D,$6F,$31,$B2,$EC,$0E,$50,
$AF,$F1,$13,$4D,$CE,$90,$72,$2C,$6D,$33,$D1,$8F,$0C,$52,$B0,$EE,
$32,$6C,$8E,$D0,$53,$0D,$EF,$B1,$F0,$AE,$4C,$12,$91,$CF,$2D,$73,
$CA,$94,$76,$28,$AB,$F5,$17,$49,$08,$56,$B4,$EA,$69,$37,$D5,$8B,
$57,$09,$EB,$B5,$36,$68,$8A,$D4,$95,$CB,$29,$77,$F4,$AA,$48,$16,
$E9,$B7,$55,$0B,$88,$D6,$34,$6A,$2B,$75,$97,$C9,$4A,$14,$F6,$A8,
$74,$2A,$C8,$96,$15,$4B,$A9,$F7,$B6,$E8,$0A,$54,$D7,$89,$6B,$35);

crctable32:DWORD的数组[0..255] =(
$00000000,$77073096,$ee0e612c,$990951ba,$076dc419,$706af48f,
$e963a535,$9e6495a3,$0edb8832,$79dcb8a4,$e0d5e91e,$97d2d988,
$09b64c2b,$7eb17cbd,$e7b82d07,$90bf1d91,$1db71064,$6ab020f2,
$f3b97148,$84be41de,$1adad47d,$6ddde4eb,$f4d4b551,$83d385c7,
$136c9856,$646ba8c0,$fd62f97a,$8a65c9ec,$14015c4f,$63066cd9,
$fa0f3d63,$8d080df5,$3b6e20c8,$4c69105e,$d56041e4,$a2677172,
$3c03e4d1,$4b04d447,$d20d85fd,$a50ab56b,$35b5a8fa,$42b2986c,
$dbbbc9d6,$acbcf940,$32d86ce3,$45df5c75,$dcd60dcf,$abd13d59,
$26d930ac,$51de003a,$c8d75180,$bfd06116,$21b4f4b5,$56b3c423,
$cfba9599,$b8bda50f,$2802b89e,$5f058808,$c60cd9b2,$b10be924,
$2f6f7c87,$58684c11,$c1611dab,$b6662d3d,$76dc4190,$01db7106,
$98d220bc,$efd5102a,$71b18589,$06b6b51f,$9fbfe4a5,$e8b8d433,
$7807c9a2,$0f00f934,$9609a88e,$e10e9818,$7f6a0dbb,$086d3d2d,
$91646c97,$e6635c01,$6b6b51f4,$1c6c6162,$856530d8,$f262004e,
$6c0695ed,$1b01a57b,$8208f4c1,$f50fc457,$65b0d9c6,$12b7e950,
$8bbeb8ea,$fcb9887c,$62dd1ddf,$15da2d49,$8cd37cf3,$fbd44c65,
$4db26158,$3ab551ce,$a3bc0074,$d4bb30e2,$4adfa541,$3dd895d7,
$a4d1c46d,$d3d6f4fb,$4369e96a,$346ed9fc,$ad678846,$da60b8d0,
$44042d73,$33031de5,$aa0a4c5f,$dd0d7cc9,$5005713c,$270241aa,
$be0b1010,$c90c2086,$5768b525,$206f85b3,$b966d409,$ce61e49f,
$5edef90e,$29d9c998,$b0d09822,$c7d7a8b4,$59b33d17,$2eb40d81,
$b7bd5c3b,$c0ba6cad,$edb88320,$9abfb3b6,$03b6e20c,$74b1d29a,
$ead54739,$9dd277af,$04db2615,$73dc1683,$e3630b12,$94643b84,
$0d6d6a3e,$7a6a5aa8,$e40ecf0b,$9309ff9d,$0a00ae27,$7d079eb1,
$f00f9344,$8708a3d2,$1e01f268,$6906c2fe,$f762575d,$806567cb,
$196c3671,$6e6b06e7,$fed41b76,$89d32be0,$10da7a5a,$67dd4acc,
$f9b9df6f,$8ebeeff9,$17b7be43,$60b08ed5,$d6d6a3e8,$a1d1937e,
$38d8c2c4,$4fdff252,$d1bb67f1,$a6bc5767,$3fb506dd,$48b2364b,
$d80d2bda,$af0a1b4c,$36034af6,$41047a60,$df60efc3,$a867df55,
$316e8eef,$4669be79,$cb61b38c,$bc66831a,$256fd2a0,$5268e236,
$cc0c7795,$bb0b4703,$220216b9,$5505262f,$c5ba3bbe,$b2bd0b28,
$2bb45a92,$5cb36a04,$c2d7ffa7,$b5d0cf31,$2cd99e8b,$5bdeae1d,
$9b64c2b0,$ec63f226,$756aa39c,$026d930a,$9c0906a9,$eb0e363f,
$72076785,$05005713,$95bf4a82,$e2b87a14,$7bb12bae,$0cb61b38,
$92d28e9b,$e5d5be0d,$7cdcefb7,$0bdbdf21,$86d3d2d4,$f1d4e242,
$68ddb3f8,$1fda836e,$81be16cd,$f6b9265b,$6fb077e1,$18b74777,
$88085ae6,$ff0f6a70,$66063bca,$11010b5c,$8f659eff,$f862ae69,
$616bffd3,$166ccf45,$a00ae278,$d70dd2ee,$4e048354,$3903b3c2,
$a7672661,$d06016f7,$4969474d,$3e6e77db,$aed16a4a,$d9d65adc,
$40df0b66,$37d83bf0,$a9bcae53,$debb9ec5,$47b2cf7f,$30b5ffe9,
$bdbdf21c,$cabac28a,$53b39330,$24b4a3a6,$bad03605,$cdd70693,
$54de5729,$23d967bf,$b3667a2e,$c4614ab8,$5d681b02,$2a6f2b94,
$b40bbe37,$c30c8ea1,$5a05df1b,$2d02ef8d);



Eugene Lachinov   (2002-07-16 14:39) [4]


函数Crc8(缓冲区:指针; BufLen:DWord; Crc:字节):字节;
ASM
推edi
mov edi,eax
电影
mov ecx,edx
和ecx,ecx
jz @退出
和edi,edi
jz @退出
异或edx
@启动:
mov dl,al
xor dl,[edi]
动态,字节ptr [edx + crctable8]
Inc edi
循环@Start
@退出:
流行音乐
结束;

常量
MaxStrucSize = 65520;

函数Crc32(Buffer:Pointer; const BufLen:DWord; Crc:DWord):DWORD; 汇编器
ASM
推edi
mov edi,eax
mov eax,ecx
mov ecx,edx
和ecx,ecx
jz @退出
和edi,edi
jz @退出
@启动:
异或edx
mov dl,al
shr eax,8
xor dl,[edi]
xor eax,dword ptr [4 * edx + crctable32]
Inc edi
循环@Start
@退出:
流行音乐
结束;

函数CrcString(Crc:DWORD):字符串;
常量
hexChars:字符数组[0 .. $ F] =“ 0123456789ABCDEF”;
VAR
我:字节;
开始
{$ IFDEF WIN32}
SetLength(结果,8);
{$ ELSE}
结果[0]:= #8;
{$ ENDIF}
对于我:= 8降到1即可开始
结果[i]:=十六进制字符[crc和$ F];
crc:= crc shr 4;
结束
结束;

函数CrcStream(Stream:TStream):DWORD;
VAR
P:指针;
C:LongInt;
开始
结果:= CrcSeed;
GetMem(P,8192);
尝试
Stream.Position:= 0;
而Stream.Position <Stream.Size确实开始
C:= Stream.Read(P ^,8192);
结果:= Crc32(P,C,结果)
结束
最后
FreeMem(P,8192)
结束;
结果:=结果xor CrcSeed
结束;

函数StringCrc32(const S:string; CRC:DWORD):DWORD;
开始
结果:= Crc32(@S [1],长度(S),CRC)
结束;

函数StringCrc8(常量S:字符串; Crc:字节):字节;
开始
结果:= Crc8(@S [1],长度(S),Crc)
结束;

函数CrcFile(常量FileName:字符串):DWORD;
VAR
流:TFileStream;
开始
流:= TFileStream.Create(FileName,fmOpenRead + fmShareDenyNone);
尝试
结果:= CrcStream(流)
最后
Stream.Free
结束
结束;


结束。



Grrey   (2002-07-16 14:46) [5]

谢谢大家!
没有俄语吗?



Grrey   (2002-07-16 14:56) [6]

谢谢!!!!
这正是您所需要的!
CLASS !!!



Grrey   (2002-07-16 14:57) [7]

谢谢大家!
没有俄语吗?



Krok   (2002-07-16 15:02) [8]

我发送了另一种肥皂选择(更简单)-看一下



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

楼上





内存:0.58 MB
时间:0.023 c
3-95186年
STR
2002-07-05 13:48
2002.07.29
使用* .xls作为DB


6-95462年
snoup
2002-05-16 20:40
2002.07.29
请帮助如何以编程方式将消息发送到特定的


1-95378年
凯文
2002-07-15 19:42
2002.07.29
图像打印输出。


8-95454年
NecroMan
2002-03-19 05:29
2002.07.29
我想为WinAMP制作一个插件


1-95417年
EugenCFG
2002-07-13 14:04
2002.07.29
如何在RXCheckListBox中显示每个项目的图像





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский