この問題は、より数学的な側面にあります。16 進数の 4 バイト UID のリストと、対応する 2 バイト コードのリストを示しました。これらをハッシュと呼びましょう。
次のようになります。
7D04E214 --> 4A49
7D048DC3 --> A0E7
7D04DB2E --> 4191
...
私はこれらのタプルを 50 ほど持っているので、すべての UID の正しいハッシュを計算するアルゴリズムを見つければ、それが正しいものであると確信できます。
これが私の問題です。開始方法が本当にわかりません。私は数学者ではなく、この種の問題の経験はありません。ある種のビット単位のアルゴリズムが疑われます。CRC16の可能性があるようですが、すでに改ざんされています。一般的なアルゴリズムではないと思います。また、アルゴリズムはそれほど複雑ではないと思います (または希望します)。
特定の入力から特定の出力を計算する関数を見つけるという一般的な問題は決定できないことを知っています。しかし、アルゴリズムが単純なものであると仮定すると、どのような可能性があるでしょうか? 役立つツールはありますか? 独自のツールを作成するために提案できる読み物はありますか? ある種のブルートフォースについて考えていますが、これを体系的に行うにはどうすればよいですか?
前もって感謝します!
更新:私の質問には不明確な点があるため: 最初に UID からハッシュを作成するために使用された 1 つのアルゴリズム、または可能なすべての UID (つまり 4 -バイト番号)。考えられる関数は無数にあると指摘されたので、最も単純なものを見つけて、より多くの UID 値に対してテストする必要があると思います。私が言ったように、私はアルゴリズムが単純であり、あいまいな鍵でいっぱいではないと実際に仮定しています. もし私が間違っていたら、あなたが指摘したように私は運命づけられています。しかし、そうでない場合は、試行錯誤のチャンスがあるかもしれません。