別のプロセスのプロセスメモリに特定の値を含む場所へのポインタのリストを作成したいと思います。値は、short、int、long、string、bool、またはその他の値にすることができます。
私の考えは、これにジェネリックを使用することです。私はそれを作ることに1つの問題があります、どうすればコンパイラにバイト配列を変換するために必要なタイプを伝えることができますか?
これは私が作ったものです:
public List<IntPtr> ScanProccessFor<T>(T ItemToScanFor)
{
List<IntPtr> Output = new List<IntPtr>();
IntPtr StartOffset = SelectedProcess.MainModule.BaseAddress;
int ScanSize = SelectedProcess.MainModule.ModuleMemorySize;
for (int i = 0; i < ScanSize; i++)
if (ReadMemory(SelectedProcess, StartOffset + i, (UInt16)Marshal.SizeOf(ItemToScanFor)) == ItemToScanFor)
Output.Insert(Output.Count,StartOffset + i);
return Output;
}
byte []をタイプTに変換する必要があることをコンパイラーにどのように伝えることができますか?