x の整数があり、その整数を生成できる方程式を見つけようとしています。これは、スクリプトの難読化を目的としています。足し算、引き算、割り算、平方根、xor、16 進数についてこの問題を解決しました。私の答えのほとんどは、逆方程式を使って解くことを含みます。私はそれを解決しようとしています:
- 乗算
- 係数
- 指数
- 科学表記法
- 対数
- 私が言及しなかった他のもの
これが私が始めた関数です:
Public Function IntegerBreak(PickedInteger)
Randomize()
Dim Switch, Entropy, Result As Integer
Switch = Int(6 * Rnd()) + 1
Entropy = Int(100 * Rnd()) + 1
Select Case Switch
Case 1
'addition
Result = PickedInteger - Entropy
Return Result & " + " & Entropy & " = " & PickedInteger
Case 2
'subtraction
Result = PickedInteger + Entropy
Return Result & " - " & Entropy & " = " & PickedInteger
Case 3
'division
Result = PickedInteger * Entropy
Return Result & " / " & Entropy & " = " & PickedInteger
Case 4
'squares
Result = PickedInteger ^ 2
Return "Sqr (" & Result & ") = " & PickedInteger
Case 5
'xor
Result = PickedInteger Xor Entropy
Return Result & " Xor " & Entropy & " = " & PickedInteger
Case 6
'hex
Return "&H" & Conversion.Hex(PickedInteger) & " = " & PickedInteger
End Select
End Function
サンプル出力:
-47 + 57 = 10
89 - 79 = 10
260 / 26 = 10
Sqr(100) = 10
12 Xor 6 = 10
&HA = 10
編集:私の特定の質問は、見つける方法です:
(z*y=x, z%y=x, z^y=x, zLogy=x, or 3.123^10=x)
私が続けるのを妨げているのは、私が数学の確固たるバックグラウンドを持っていないことです。方程式の計算方法には複数の答えがある可能性があるため、乗算の問題に遭遇しました。
(2*6=12, 3*4=12)
逆の方法を使用すると、10進数が得られました。乗算、モジュラス、指数、科学表記法、および対数の計算に関するアドバイスをお願いします。
また、難読化を学ぶための良い情報は何ですか?
回答は、vb.net または vbscript または数学的疑似コードで受け入れられます。
私を正しい方向に向けていただければ幸いです。