0

TV デバイスのファームウェア ソフトウェアを更新するための小さなアプリケーション (2.6Mb) である PE 実行可能ファイル *.exe (32 ビット) を入手しました。ただし、更新メカニズムは 2013 年 3 月 12 日までしか利用できませんでした。楽しみのためだけにこの実行可能ファイルをハックしたいのです。PE Explorerを使用してファイルhexdumpでこの有効期限を見つけようとしており、このプログラムを機能させるために将来のある日付に置き換えます。

バイナリ日付形式に関するこの記事を見つけました:

バイナリ日付形式

私はこの値のようなものを見つけようとしています:

2013-03-xx: 0x713xxxxx

これは私の仕事を解決するための良いアプローチですか? 助言がありますか?便利な hexdump 用の他のツールを知っていますか?

敬具、WP

4

2 に答える 2

2

0x713xxxxx という形式の値がたくさんある可能性があります -- 多かれ少なかれランダムに調べ始めると、2.6 MB は思ったよりも大きいかもしれません (アプリケーションがこの日付形式を内部で使用していることを実際には知りません)。 .

この種の問題に対処するための従来のアプローチは、ツールを使用してプログラムをステップ実行し、実行中のコードを調べて、チェックが発生するポイントを見つけることです。次に、日付を変更するか、単にコードを変更して、常に失敗するようにチェックを無効にします。

制御していないコードをステップ実行するための一般的なツールは、対話型逆アセンブラー (IDA) です。フリーウェア版はこちらからダウンロードできます: https://www.hex-rays.com/products/ida/support/download_freeware.shtml

やりたいことをやるのは思ったより難しいかもしれませんが、やってみることで多くのことを学べることはほぼ間違いありません。

特に後で配布する場合は、他人のバイナリに変更を加えることで、法的な問題に巻き込まれる可能性があることに注意してください。

于 2013-03-15T22:48:45.933 に答える
1

dumpbinは優れた PE パーサーです (しかし、もし私があなただったら、そのようなタイムスタンプのハッキングはしません :))

于 2013-03-15T22:39:30.533 に答える