問題タブ [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.
java - .java ファイルはどの 16 進コードで始まるのですか?
「マジックナンバー」(ファイルの形式を示すバイト)を取得しようとしています... 16進エディターで自分でファイルを開こうとしました。しかし、最初は「70 75」しか出ません。そして、それは間違っています。宿題をしていて、正しい 16 進コードが見つかりません。私は 16 進エディタの経験があまりありません。
python - C++ に埋め込まれた Python は、16 進エディタではどのように見えますか?
私の質問は、プログラムをコンパイルした後に python を c++ に埋め込むと、exe ファイルが得られるということです。
別の質問があります (これが私がサインアップした理由です) 誰かが私のプログラムを 16 進エディターで開き、「def add(x,y):return(x+y)」のような Python コードを持っていた場合" python コードは 16 進エディタに平易な英語として表示されますか?
emacs - Hexl モードでのセクションのコピー
emacs で使用hexl-mode
してバイナリ ファイルを表示する場合、セクションをコピーして別のファイルに貼り付ける方法はありますか?
標準C-Spc
で試してみました , 地域を選択してください,M-w
しかし、これを新しいファイルに貼り付けると、全体が通常のテキストのように扱われます。つまり、次のような多くのテキスト ファイルが得られます。
つまり、テキストが表すバイナリ データをコピーするのではなく、テキストのリテラル コピーを作成します。
私がしたいのは、セクションをコピーして新しいファイルに貼り付け、そのセクションのバイナリ表現を取得することです
つまり、元のバイナリ ファイルを表示するための Hexl モードを使用して、元のバイナリ ファイルの一部から新しいバイナリ ファイルを生成できるようにしたい
それが理にかなっていることを願っています..
java - ClassFormatErrorをスローする16進編集Javaバイトコード
Java、特にバイトコード編集について調べているときに、このチュートリアルに出くわしました。このチュートリアル.class
では、16 進エディターでコンパイル済みの Java ファイルを編集する手順を説明しています。興味をそそられて、私はそれを試してみました。
すべてを正しく入力し、チェックとダブルチェックを行い、16 進エディターで正しいバイトを置き換えたことを確認しました。すべて問題ありません。
私が最初に気付いたのは、私の 16 進ダンプが彼のものと異なっていたことでしたが、Java のバージョンが異なれば結果も異なるため、これは当然のことでした。
正しいバイトを入力した後 ( forHacking Java Bytecode!
を for に置き換え、 with をl33t hax0r bro
3 回00 16
使用00 0E
)、ファイルを保存して実行しました。ただし、l33t hax0r bro
チュートリアルの作成者が行ったように、の出力を取得する代わりに、かなり醜いエラーが発生しました。
私が使用しているJavaソースコードは次のとおりです。
編集され User.class
ていないファイルの 16 進ダンプ:
編集し User.class
たファイルの 16 進ダンプ:
この質問に対する答えは、これClassFormatError
が Java 8 コンパイラのバグであることを示唆しています。私はJava 8を使用していますが、回答には、バグが8u60+で修正されたことが記載されています。私は8u65を使用しています。
最後に.class
、16進エディタでファイルを編集して目的の出力を得るにはどうすればよいですか?
追加のシステム仕様:
- フェドーラ23
javac -version
:javac 1.8.0_65
/li>java -version
:
c++ - hexeditorで.exeを変更
C++ で小さなプログラムを書きました。
私はすでにプログラムを構築しました。作業プログラムはRelease
フォルダにあります。if
ここで、C++ コードを変更せずにステートメントを変更したいと考えています。16 進エディタをダウンロードして、ファイルを開きました。中に.exe
はたくさんあります。私は問題をグーグルで検索し、この非常に素晴らしい画像を見つけました:
16 進エディタ内で output を検索しましたInput == 5
。見つけた。別のものに変更してファイルを実行すると、プログラムは古いメッセージではなく、新しく入力されたメッセージを表示します。
if
しかし、コードの構造 (ステートメント)を変更したいと考えています。を検索しましif
たが、何も見つかりませんでした。では、コード セクション(画像) はどこにあるのでしょうか。
visual-studio - 「0x00000040 20 66 6F 72 6D 2D 64 61 74 61 3B 20 6E 61 6D 65 form-data; name」形式の 16 進エディタ出力をプレーン テキストに変換する方法は?
Visual Studio から次の形式の文字列として出力を取得します。
これは、Web パフォーマンス テストから要求を送信した後の応答ビュー ウィンドウからのものです。残念ながら、Visual Studio でビューの形式を変更するオプションはありません。これをプレーンテキストとして表示するだけです。独自のパーサーを作成する以外に、この形式のテキストをプレーン テキストに変換する方法はありますか?
メタ: この質問は、質問が不十分だったため、完全に混乱してしまいました。うまくいけば誤解を招くことが少なくなるように、質問を完全に再定式化しました。私はそれを再質問するべきでしたか?現在の回答とコメントが無関係に見えないように、古い質問の定式化を以下に残しました。
質問の古い定式化:
編集 3: 質問を適切に説明できていないことは明らかです。Visual Studio の Web パフォーマンス テストを実行すると、上記の形式で応答を表示できます。ただし、ビジュアルスタジオにはオプションがないプレーンテキストとして表示する必要があります。したがって、上記の形式からプレーンテキストに変換する方法が必要です。
これは標準出力形式ですか? 「0x00000040」は実際のデータの一部ではなく、単なる行番号のようです。次の 2 つの部分は、最初は 16 進数として、次に文字として、2 回同じように見えます。この形式を認識できません。検索しようとしても、16 進数から文字列に変換する方法に関する結果しか返されませんでした。これを 3 つの列に分割できるパーサーはありますか? 私は本当に文字出力が必要です。
Visual Studio で Web パフォーマンス テストを実行しているときに、要求に対する応答を表示すると、このデータが取得されます。実際の応答自体はこの形式ではなく、ビジュアル スタジオが表示する形式です。
編集:データがどこから来たのかについての明確化を追加しました。Visual Studioでプレーンテキストとして表示するオプションがないように見えるため、この形式からプレーンテキストに変換する簡単な方法があるかどうかを実際に理解しようとしています。