+ -
当前位置:首页 → 问答吧 → 怎样隐藏远程挂载的文件系统

怎样隐藏远程挂载的文件系统

时间:2011-09-27

来源:互联网

代码:
#include<stdio.h>
unsigned char multi(unsigned char m,unsigned char n)
{
int i;
unsigned char result;
unsigned char k[8];
k[0]=m;
for(i=1;i<8;i++)
    if(k[i-1]>>7)
       k[i]=(k[i-1]<<1)^(0x1b);
    else
       k[i]=k[i-1]<<1;
for(i=7;i>=0;i--)
    {
     if(n>>7)
       result=result^k[i];
     n=n<<1;
     if(n==0)
       break;
    }
return result;
}
void main()
{
unsigned char State[4]={0xd4,0xbf,0x5d,0x30},res;
printf("%2x\n",multi(State[0],0x02));
printf("%2x %2x %2x %2x\n",multi(State[0],0x02),multi(State[1],0x03),multi(State[2],0x01),multi(State[3],0x01));
}

问题:为什么两次multi(State[0],0x02)显示的值会不同呢?

作者: fireandice   发布时间: 2011-09-27

函数multi中result 没有初始化。然后又作为函数的返回值。

鉴于没有初始化,result会得到一个随机数,因此当然两次结果不一样啦。

作者: missU   发布时间: 2011-09-27

missU 写道:
函数multi中result 没有初始化。然后又作为函数的返回值。

鉴于没有初始化,result会得到一个随机数,因此当然两次结果不一样啦。

原来是这样,但是在vc中执行后结果是一样的。低级错误了

作者: fireandice   发布时间: 2011-09-27

vc不知道

作者: missU   发布时间: 2011-09-27

VC太落后咯。
VC++ 2010 试试。

作者: cuihao   发布时间: 2011-09-27