Windows CEの実行可能プログラムによって実装されたCRC /チェックサムアルゴリズムをリバースエンジニアリングする必要があります。 propritoryプロトコルであるため、CRC /チェックサムアルゴリズムについては何も言及していません。しかし、正しい/計算されたチェックサムを報告し、メッセージプロトコルが正しいかどうか、私はランダムなビットで自分のメッセージを作成することができますコンソールインタフェースがあり:Windows CEの実行可能プログラムで使用される16ビットCRC /チェックサムアルゴリズムをネイルダウンする方法はありますか?
私は
は、メッセージの変更に単一のビットを変更する、ことを観察しましたチェックサムバイト完全に。
アルゴリズムは、ビットの残りの部分がゼロであり、すべての時間がコンソールが異なるチェックサムを報告して、いくつかの単一の1ビットメッセージをさまざまなメッセージデータ位置に供給したように見えます。シンプルな追加チェックサムの場合、チェックサムは同一であったはずです。
私は、LRC、添加物のチェックサムアルゴリズム、共通CRC多項式(VoIP音声、CCITT、X-モデム)を、共通のXORを適用し、[CRCリバース・エンジニアリング・エッセイ]を経て[2]が、残念ながら、私は推論を過ぎて行くことができません多項式はメッセージタイプが固定されているため単一の1ビットメッセージを作成できないためです。
私の質問:
私はアルゴリズムがCRCベースのチェックサムまたは多項式であるかどうかを判断するために、メッセージに対してテストすることができます任意のCRC /チェックサムアルゴリズムのプロパティがありますか?
プログラムの分解で見られるエラーメッセージと腐食性のあるアセンブリ命令を関連付ける方法はありますか?
コンソールで正しいチェックサムを報告すると、逆アセンブリコードをデバッグ/ピンポイントする方法はありますか?メモリダンプか何か?
これには[リバースエンジニアリング]もタグ付けする必要があります。 – moooeeeep
「アルゴリズム」タグを「リバースエンジニアリング」に置き換えました –