/************************************************************* FileName : testKey.c FileFunc : 穷举数据 Version : V0.1 Author : Sunrier Date : 2011-07-01 Descp : 分析数据 *************************************************************/ #include <stdio.h> #include <string.h> #include <conio.h> unsigned char Check( unsigned char *ucData,unsigned char ucFlag ); unsigned char ucArray[16]; void main( void ) { unsigned char ucKey[16]; unsigned char ucI; unsigned char ucFlag = 15; unsigned long ulCount = 0; //ulCount= 4294967295 unsigned long ulDouble =0; memset(ucKey,0,sizeof(ucKey)); memcpy(ucKey,(unsigned char *)"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/xDC/x72",16 ); memset(ucArray,0,sizeof(ucArray)); while(1) { ++ulCount; ucFlag = 15; for( ucI=0; ucI<16; ucI++) { if( ucArray[ucI]!=ucKey[ucI] ) break; } if( ucI==16 ) { for( ucI=0; ucI<16; ucI++) { printf("ucArray[%02d]= 0x%02X /n", ucI,ucArray[ucI]); } getch(); break; } printf("ulCount= %u/n",ulCount ); if( ulDouble && (ulCount==0) ) { ++ulDouble; printf("ulDouble= %ld/n",ulDouble ); getch(); } Check(&ucArray[ucFlag],ucFlag); } printf("穷举结束!/n"); } unsigned char Check( unsigned char *ucData ,unsigned char ucFlag) { ++(*ucData); if( (*ucData) || (!(*ucData) && !ucFlag) ) { return 0; } else { --ucFlag; Check(&ucArray[ucFlag],ucFlag); } }