私は難読化ツールを作ろうとしていますが、今のところうまくいっています。今、私は文字列をエンコードしようとしています.それから、base64
それrot13
をさらに少し読めないようにして、私のsooper sekret文字列を隠すだけです.
これは、難読化ツールで文字列をエンコードするために私が持っているものです:
ILProcessor processor = method.Body.GetILProcessor();
foreach (Instruction instruction in processor.Body.Instructions)
{
if (instruction.OpCode == OpCodes.Ldstr)
{
instruction.Operand = Enc.to64(Enc.Rot((String)instruction.Operand, 0x0D)); //0x0D = 13
}
}
だから今私がする必要があるのは、Enc
クラスをルート名前空間に挿入することです。関数は静的であるため、クラスのインスタンスを作成せずにそれらを使用できます。Enc
次に、プログラムが実際に使用されるときに文字列をデコードするために、2 つの関数で各文字列をラップする必要があります。
string lel = "x";
の中へ
string lel = Enc.from64(Enc.Rot("encoded x", 0x0D));
私はこれらのことのどちらも行う方法を知らないので、あなたの助けが必要なところがあります.
要約すると、(静的関数を使用して) クラスをルート名前空間に挿入し、プログラム内のすべての文字列をそのクラスの 2 つの関数でラップして、反映されたときに読み取り不能になるが、使用時にデコードされるようにする方法を知る必要があります。