Introduction
This is just a simple utility to search data in a file.
It may be useful to inspect data inside a file.
Using the Code
This piece of code I found around on the web shows how to find an array of bytes inside another one:
public static int IndexOfBytes(byte[] array, byte[] pattern, int startIndex, int count)
{
int i = startIndex;
int endIndex = count > 0 ? startIndex + count : array.Length;
int fidx = 0;
while (i < endIndex)
{
fidx = (array[i] == pattern[fidx]) ? ++fidx : 0;
if (fidx == pattern.Length)
{
return i - fidx + 1;
}
i++;
}
return -1;
}
This is the number conversion in the bytes routine, according to the format selected (8, 16, 32, or 64 bit):
switch (numberBase)
{
case 8:
byte2Find = new byte[] { byte.Parse(textBoxNumber.Text) };
break;
case 16:
byte2Find = BitConverter.GetBytes(Convert.ToInt16(textBoxNumber.Text));
break;
case 32:
byte2Find = BitConverter.GetBytes(Convert.ToInt32(textBoxNumber.Text));
break;
case 64:
byte2Find = BitConverter.GetBytes(Convert.ToInt64(textBoxNumber.Text));
break;
default:
byte2Find = new byte[0];
break;
}