問題タブ [hex-editors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3691 参照

security - バイナリ実行可能ファイルから定数やその他の定義済みの値を抽出することは可能ですか?

ここにこのプログラムがあるとしましょう

さて、このプログラムをビルドした後、16 進エディタまたはその他のユーティリティを使用して、コンパイルされたバイナリ ファイルから値「foo」と「bar」を抽出する方法はありますか?

また、メモリ エディタが許可されていないと仮定しましょう。

これは、C++ などのすべてのコンパイル済み言語に適用できますか? Java や C# などの別の環境で実行されるものはどうですか?

0 投票する
0 に答える
37 参照

binary - 16進値でキャンセル値をスタートアップ実行ファイルに返す

プログラムのスタートアップ実行ファイルを編集して、エラー メッセージを削除し、メッセージが表示された場合に押す「キャンセル」ボタンの値を自動的に返します。

私は 16 進ファイルで、WRITTEN .LIKE .THIS のエラー メッセージを見つけました。テキストとして解釈されるように、プログラム内のエスケープ キーです。その後、Visual Basic でファイルを開き、16 進数のキーが 10160 であることを発見し、0 を返すためにファイルの値を 00 に変更しましたが、起動時にプログラムがクラッシュしました。

その値を自動的に取得するためにバイナリに入れる必要があるキャンセルボタンの値は何ですか?

0 投票する
1 に答える
883 参照

c# - c#exeで16進コードを変更

16進コードとしてC#を使用して画像を変更するにはどうすればよいですかhttp://prntscr.com/1oiw50

Exe はこのようには動作しませんが、試しています。

0 投票する
1 に答える
107 参照

linux - 16 進エディタを安全に使用する方法を学ぶにはどうすればよいですか?

純粋に探索的な方法で、単純なプログラムの hexediting を試してみたいと思っています。これが問題のプログラムの機能を危険にさらすことはわかっています (それで問題ありません) が、ランダムに編集されたバイナリを実行することによるシステム (Linux) へのリスクは何ですか?

起こりうる最悪の事態は何ですか?常に避けるべき特定の変更、講じることができる予防策はありますか? これに関連するリソースはありますか? (調べてみましたが、これに当てはまるものは見つかりませんでした)

編集: 実際にランダムに編集するつもりはないことを明記する必要があります。それは単なる仮説です。

0 投票する
1 に答える
5557 参照

elf - 16進エディタを使用してELF実行可能ファイルで宣言された整数変数を見つける

16 進エディターを使用して、実行可能ファイルで宣言された整数変数の値を変更したいのですが、コードで宣言された変数型 int があり、変数が次のとおりであることを知っているとします。

整数値 = 1337;

16 進エディタを使用して値 1337 を検索して実行可能ファイルを編集し、別の値に変更したいです。ubuntu で ghex を試しましたが、検索方法がわかりません。16 進数に変換しましたが、見つかりませんでした。 、よろしくお願いします。

0 投票する
3 に答える
2399 参照

c - 実行可能なバイナリ ファイルに文字を挿入すると、ファイルが「破損」するのはなぜですか?

実行可能なバイナリ ファイルに文字を挿入すると、ファイルが「破損」するのはなぜですか?

また、コンパイルされたプログラムを壊さずに文字を追加する方法はありますか?

バックグラウンド

16 進エディタを使用して、コンパイル済みの実行可能ファイルのコードを変更し、通常どおり実行できることは長い間知っていました...

以下のアプリケーションの例として、Facebookを に変更してLacebookも、プログラムは問題なく実行されます。

ここに画像の説明を入力

ここに画像の説明を入力

しかし、それは新しいキャラクターで壊れます

また、新しいキャラクターを追加すると、プログラムが壊れて実行されなくなったり、すぐにクラッシュしたりすることも承知しています。たとえば、Myの前に追加すると、次のようにFacebookなります。

ここに画像の説明を入力

私が知っていること

わからないこと

  • オペレーティング システムと実行可能ファイルの関係がよくわかりません。プログラムの名前を入力してリターンキーを押すと、基本的にオペレーティングシステムにそのファイルを「実行」するように指示していると思います。これは、基本的に、ファイルをメモリにロードし、プロセッサのポインタをそれに設定し、それを伝えることを意味します'行け!'
  • バイナリ ファイルのテキスト文字列に余分な文字が含まれていると問題が発生する理由を理解しています

知りたいこと

  1. 余分な文字が原因でプログラムが壊れるのはなぜですか?
  2. プログラムが壊れていると判断するのは何ですか? OS?また、OS はこのプログラムをサンドボックス化して、最近システム全体をクラッシュさせないようにしていますか?
  3. コンパイルされたプログラムのテキスト文字列に 16 進エディタを使用して余分な文字を追加し、アプリケーションが壊れないようにする方法はありますか?