Page 119 - Hướng Dẫn Cách Phòng Thủ Và Khắc Phục Sự Cố Máy Tính
P. 119
int lp_len, lp_raw_len, Ipa, Ipb, Ipra, Iprb, pass_len,
pass_lena, pass_lenb;
char Ipdata [8192];// hope enough room. anyway who
cares...
lp_raw_len=strlen(login)+strlen(password)+2;
lp_len=lp_raw_len+55;
lpra=lp_raw_len/256;// divide by 356 to calculate
higher value
lprb=lp_raw_len%256;// remainder will be lower value
lpa=lp_len/256;//divide by 256 to calculate higher
value
lpb=lp_len%256; // remainder will be lower value
pass_len=strlen (password)+l;
pass_lena=pass_len/256;
pass_lenb=pass_len%256;
memset (Ipdata, 0, sizeof (Ipdata));
lpdata[2]=lpa; Ipdata [3]=lpb;
lpdata[4]=0xff; Ipdata [5]=0x53;
lpdata[6]=0x4d; Ipdata [7]=0x42;
lpdata[8]=0x73; Ipdata [13]=0xl8;
lpdata[14]=0x01; Ipdata [15]=0x20;
lpdata[31]=0x28; Ipdata [36]=0x0a;
lpdata[37]=0xff; Ipdata [41]=0x04;
lpdata[42]=0xll; Ipdata [43]=0x02;
lpdata[51]=pass_lenb; Ipdata [52]=pass_lena;
lpdata[57]=lprb; Ipdata [58]=lpra;
memcpy (&lpdata [59], password, strlen (password);
memcpy (&lpdata [60+strlen(password)], login,
strlen (login));
120