论坛: 编程破解 标题: 请教:校验和函数 checksum()的优化 复制本贴地址    
作者: c_ping [c_ping]    论坛用户   登录
有那位高手熟悉这个问题,请帮忙。
chen199cn@sohu.com


[此贴被 c_ping(c_ping) 在 5月14日21时26分 编辑过]

地主 发表时间: 5/14 21:31

回复: cimsxiyang [cimsxiyang]   版主   登录
我对这个比较有兴趣。说说你的思路。
我不知道你所谓的优化是指什么意思。
人比较笨,没有办法。

:)

B1层 发表时间: 05/14 22:06

回复: c_ping [c_ping]   论坛用户   登录
一般的checksum()如下:
USHORT checksum(USHORT *buffer, int size)

{

unsigned long cksum=0;

while(size >1) {

cksum+=*buffer++;

size -=sizeof(USHORT);

}

if(size ) {

cksum += *(UCHAR*)buffer;

}

cksum = (cksum >> 16) + (cksum & 0xffff);

cksum += (cksum >>16);

return (USHORT)(~cksum);

}

看怎样提高它的执行效率,前提是数据包的头部大部分相同,只有源地址想不同;

B2层 发表时间: 05/15 10:52

回复: cimsxiyang [cimsxiyang]   版主   登录
哪位高手研究解释一下,很不错的话题。
我最近真的没有时间去研究。向个鬼一样。

B3层 发表时间: 05/17 01:07

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号