私はC#バイナリを初めて使用するので、何かを知る必要があります...
exeファイルを読む
文字列に変換します(例:10001011)
文字列を変更する
新しいexeに書き戻す
バイナリを文字列に変換しようとしていると聞きましたstring.Join
が、よく理解できませんでした。
exe をバイナリ文字列にするには、まずそれをバイト配列に読み込みます。
byte[] fileBytes = File.ReadAllBytes(inputFilename);
それで:
public static string ToBinaryString(byte[] array)
{
var s = new StringBuilder();
foreach (byte b in array)
s.Append(Convert.ToString(b, 2));
return s.ToString();
}
バイナリ文字列になります。
バイナリ文字列をバイト配列に戻すには:
public static byte[] FromBinaryString(string s)
{
int count = s.Length / 8;
var b = new byte[count];
for (int i = 0; i < count ; i++)
b[i] = Convert.ToByte(s.Substring(i * 8, 8), 2);
return b;
}
最後に、ファイルを書き込みます。
File.WriteAllBytes(path, fileBytes);