⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myfunctions.cs

📁 一个抓包工具
💻 CS
📖 第 1 页 / 共 5 页
字号:
			uint b = 0, mb = 0, tb = 0;
			string ExpStr = "";
			string ReturnStr = "";
			int iii = 0, k = 0;

			GroupLength = 8;
			b = Value;
			mb = Mask;
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			if( ( b & mb ) > 0 ) ExpStr = TrueText;
			else ExpStr = FalseText;

			iii = 0;
			tb = mb;
			while( tb > 0 ) { iii ++; tb >>= 1; }
			MyArray[ MyArray.GetLength(0) - iii ] = ( b & mb ) > 0 ? (byte) 49 : (byte) 48;
			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + ExpStr;

			return ReturnStr;

		}

		public static string DecodeBitField( int Value , uint Mask , string TrueText , string FalseText )
		{
			return DecodeBitField( (uint) Value , Mask , TrueText , FalseText );
		}

		public static string DecodeBitField( int Value , int Mask , string TrueText , string FalseText )
		{
			return DecodeBitField( (uint) Value , (uint) Mask , TrueText , FalseText );
		}

		public static string DecodeBitField( uint Value , int Mask , string TrueText , string FalseText )
		{
			return DecodeBitField( (uint) Value , (uint) Mask , TrueText , FalseText );
		}

		public static string DecodeBitField( ulong Value , ulong Mask , string TrueText , string FalseText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			ulong b = 0, mb = 0, tb = 0;
			string ExpStr = "";
			string ReturnStr = "";
			int iii = 0, k = 0;

			GroupLength = 16;
			b = Value;
			mb = Mask;
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			if( ( b & mb ) > 0 ) ExpStr = TrueText;
			else ExpStr = FalseText;

			iii = 0;
			tb = mb;
			while( tb > 0 ) { iii ++; tb >>= 1; }
			MyArray[ MyArray.GetLength(0) - iii ] = ( b & mb ) > 0 ? (byte) 49 : (byte) 48;
			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + ExpStr;

			return ReturnStr;

		}

		public static string DecodeBitField( long Value , ulong Mask , string TrueText , string FalseText )
		{
			return DecodeBitField( (ulong) Value , Mask , TrueText , FalseText );
		}

		public static string DecodeBitField( long Value , long Mask , string TrueText , string FalseText )
		{
			return DecodeBitField( (ulong) Value , (ulong) Mask , TrueText , FalseText );
		}

		public static string DecodeBitField( ulong Value , long Mask , string TrueText , string FalseText )
		{
			return DecodeBitField( (ulong) Value , (ulong) Mask , TrueText , FalseText );
		}


		public static string DecodeBitField( byte Value , uint Mask , string ValueText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			byte s = 0, ms = 0, ts = 0;
			string ReturnStr = "";
			int iii = 0, k = 0;
			byte [] BitArray;

			GroupLength = 2;
			s = Value;
			ms = (byte) Mask;
			s &= ms;
			BitArray = GetBytes( ms );
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			iii = 0;
			ts = ms;
			for( iii = 0; iii < 8; iii ++ )
			{
				if( BitArray[iii] == 1 )
				{
					ts = (byte) ( 1 << iii );
					if( ( ts & s ) > 0 ) 
						MyArray[ iii ] = (byte) 49;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
					else
						MyArray[ iii ] = (byte) 48;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
				}
			}
			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + s.ToString();

			ReturnStr += " ( " + ValueText + " )";

			return ReturnStr;

		}

		public static string DecodeBitField( byte Value , int Mask , string ValueText )
		{
			return DecodeBitField( Value , (uint) Mask , ValueText );
		}

		public static string DecodeBitField( ushort Value , uint Mask , string ValueText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			ushort s = 0, ms = 0, ts = 0;
			string ReturnStr = "";
			int iii = 0, k = 0;
			byte [] BitArray;

			GroupLength = 4;
			s = Value;
			ms = (ushort) Mask;
			s &= ms;
			BitArray = GetBytes( ms );
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			iii = 0;
			ts = ms;
			for( iii = 0; iii < 16; iii ++ )
			{
				if( BitArray[iii] == 1 )
				{
					ts = (ushort) ( 1 << iii );
					if( ( ts & s ) > 0 ) 
						MyArray[ iii ] = (byte) 49;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
					else
						MyArray[ iii ] = (byte) 48;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
				}
			}
			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + s.ToString();

			ReturnStr += " ( " + ValueText + " )";

			return ReturnStr;

		}


		public static string DecodeBitField( short Value , uint Mask , string ValueText )
		{
			return DecodeBitField( (ushort) Value , Mask , ValueText );
		}

		public static string DecodeBitField( short Value , int Mask , string ValueText )
		{
			return DecodeBitField( (ushort) Value , (uint) Mask , ValueText );
		}

		public static string DecodeBitField( ushort Value , int Mask , string ValueText )
		{
			return DecodeBitField( Value , (uint) Mask , ValueText );
		}


		public static string DecodeBitField( uint Value , uint Mask , string ValueText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			uint s = 0, ms = 0, ts = 0;
			string ReturnStr = "";
			int iii = 0, k = 0;
			byte [] BitArray;

			GroupLength = 8;
			s = Value;
			ms = Mask;
			s &= ms;
			BitArray = GetBytes( ms );
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			iii = 0;
			ts = ms;
			for( iii = 0; iii < 32; iii ++ )
			{
				if( BitArray[iii] == 1 )
				{
					ts = (uint) ( 1 << iii );
					if( ( ts & s ) > 0 ) 
						MyArray[ iii ] = (byte) 49;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
					else
						MyArray[ iii ] = (byte) 48;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
				}
			}
			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + s.ToString();

			ReturnStr += " ( " + ValueText + " )";

			return ReturnStr;

		}


		public static string DecodeBitField( int Value , uint Mask , string ValueText )
		{
			return DecodeBitField( (uint) Value , Mask , ValueText );
		}

		public static string DecodeBitField( int Value , int Mask , string ValueText )
		{
			return DecodeBitField( (uint) Value , (uint) Mask , ValueText );
		}

		public static string DecodeBitField( uint Value , int Mask , string ValueText )
		{
			return DecodeBitField( Value , (uint) Mask , ValueText );
		}


		public static string DecodeBitField( ulong Value , ulong Mask , string ValueText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			ulong s = 0, ms = 0, ts = 0;
			string ReturnStr = "";
			int iii = 0, k = 0;
			byte [] BitArray;

			GroupLength = 16;
			s = Value;
			ms = Mask;
			s &= ms;
			BitArray = GetBytes( ms );
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			iii = 0;
			ts = ms;
			for( iii = 0; iii < 64; iii ++ )
			{
				if( BitArray[iii] == 1 )
				{
					ts = (ulong) ( 1 << iii );
					if( ( ts & s ) > 0 ) 
						MyArray[ iii ] = (byte) 49;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
					else
						MyArray[ iii ] = (byte) 48;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
				}
			}
			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + s.ToString();

			ReturnStr += " ( " + ValueText + " )";

			return ReturnStr;

		}

		public static string DecodeBitField( long Value , ulong Mask , string ValueText )
		{
			return DecodeBitField( (ulong) Value , Mask , ValueText );
		}

		public static string DecodeBitField( long Value , long Mask , string ValueText )
		{
			return DecodeBitField( (ulong) Value , (ulong) Mask , ValueText );
		}

		public static string DecodeBitField( ulong Value , long Mask , string ValueText )
		{
			return DecodeBitField( Value , (ulong) Mask , ValueText );
		}

		public static string DecodeBitField( byte Value , uint Mask , string [] ValueText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			byte b = 0, mb = 0, tb = 0;
			string ReturnStr = "";
			int iii = 0, k = 0;
			byte [] BitArray;
			int ShiftCount = 0;

			GroupLength = 2;
			b = Value;
			mb = ( byte ) Mask;
			b &= mb;
			k = (int) mb;
			while( ( k & 0x1 ) == 0 )
			{
				ShiftCount ++;
				k >>= 1;
			}
			BitArray = GetBytes( mb );
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			iii = 0;
			tb = mb;
			for( iii = 0; iii < 8; iii ++ )
			{
				if( BitArray[iii] == 1 )
				{
					tb = (byte) ( 1 << iii );
					if( ( tb & b ) > 0 ) 
						MyArray[ iii ] = (byte) 49;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
					else
						MyArray[ iii ] = (byte) 48;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
				}
			}

			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + b.ToString() + " ( " + ValueText[ b >> ShiftCount ] + " )";

			return ReturnStr;

		}

		public static string DecodeBitField( byte Value , int Mask , string [] ValueText )
		{
			return DecodeBitField( Value , (uint) Mask , ValueText );
		}


		public static string DecodeBitField( ushort Value , uint Mask , string [] ValueText )
		{
			byte [] MyArray;
			int GroupLength = 0;
			ushort b = 0, mb = 0, tb = 0;
			string ReturnStr = "";
			int iii = 0, k = 0;
			byte [] BitArray;
			int ShiftCount = 0;

			GroupLength = 4;
			b = Value;
			mb = (ushort) Mask;
			b &= mb;
			k = (int) mb;
			while( ( k & 0x1 ) == 0 )
			{
				ShiftCount ++;
				k >>= 1;
			}
			BitArray = GetBytes( mb );
			MyArray = new byte[ GroupLength * 4 ];
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
				MyArray[ iii  ] = 46;

			iii = 0;
			tb = mb;
			for( iii = 0; iii < 16; iii ++ )
			{
				if( BitArray[iii] == 1 )
				{
					tb = (ushort) ( 1 << iii );
					if( ( tb & b ) > 0 ) 
						MyArray[ iii ] = (byte) 49;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
					else
						MyArray[ iii ] = (byte) 48;
						//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
				}
			}

			k = 0;
			ReturnStr = "";
			for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
			{
				if( k == 3 )
				{
					ReturnStr += (char) MyArray[ iii ] + " ";
					k = 0;
				}
				else
				{
					ReturnStr += (char) MyArray[ iii ];
					k ++;
				}
			}

			ReturnStr += "= " + b.ToString() + " ( " + ValueText[ b >> ShiftCount ] + " )";

			return ReturnStr;

		}

		public static string DecodeBitField( short Value , uint Mask , string [] ValueText )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -