2017-12-05 11 views
0

私は現在、1996年に建設された古い3Dプリンタを "ハッキング"しています。古いWindows PC上で動作するソフトウェアがあります。フロントエンドからアクセスできないパラメータを変更する必要があるので、設定ファイルを修正したいと思っていました。しかし、私が何かを修正すると、もう読むことができません。ファイルの最後にチェックサムがあり、私は実際にチェックサムの専門家ではないことに気付きました。私は、ファイルを読み込んでいる間、このチェックサムが再び計算され、最後のものと比較されると仮定します。 どのチェックサムアルゴリズムが使用されているか調べるのが難しいです。設定ファイルチェックサム推測(CRC)

私がすでに知っていること:ファイルのビットを追加するだけではないと思います。 2つの文字を切り替えるとき、加算で生成されたチェックサムは変更されません。しかし、ソフトウェアはそのファイルを取得しません。チェックサムがそのように見えるので

私は、CRC16のそのいくつかの種類を推測している:私はいくつかの通常のCRC16パラメータを使用してその数を計算していると「4f20」との一致を見つけることができなかったとして

0x4f20 

ここで

は、完全なサンプルファイルである、私はそれがカスタムCRC16でなければならないことを前提としてい..:

PACKET noname 
    style 502 
    last_modified 1511855084 # Tue Nov 28 08:44:44 2017 

    STRUCTURE MACHINE_OVRL 
    PARAM distance_units 
     Value = "millimeters" 
    ENDPARAM 
    PARAM language 
     Value = "English" 
    ENDPARAM 
    ENDSTRUCTURE 
ENDPACKET 
checksum 0x4f20 

私は、チェックサム自体、または完全なライン「CHEのどちらかだと思いますcksum 0x4f20 "は計算中に考慮されていません。なぜなら、それは不可能なのですから(?)

助けていただければ幸いです。

編集:私はチェックサムを持つファイルをいくつか追加していますが、これらはこのファイルよりも長くなります。必要に応じて、私もそれらを提供することができます..

答えて

0

RevEngこの目的のために書かれています。入力および関連するCRCのいくつかの例が与えられると、RevEngはCRCパラメータを導出する。それがCRCの場合。