問題タブ [xxd]

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 投票する
1 に答える
13318 参照

vim - diff - 16 進ダンプで 2 つの値の間の特定の変化を見つける

私の基本的なコマンドライン プログラムからのバイナリ データ ダンプから 16 進データを分析しています。基本的に、構造体 (実際には構造体の大きな配列) の正確な内容をテキスト ファイルにダンプしています。

vim次に、2 番目のバイナリ ダンプを作成し、2 つのファイルを使用して比較しxxd、元のデータのバイナリからテキストへの表現を作成します。

どちらのファイルもバイト単位でまったく同じサイズであり、意味のある方法で 2 つを比較しようとしています。ファイルをダンプする前にデータに小さな変更を加えただけでも、ファイルの他の部分に大きな変更が生じます。これは、変更した値に基づくハッシュや関数などを含む他のセクションが原因です。

2 つのファイルを比較して、元のファイル (つまり、ファイル 1) で値が に設定さdiffれ、2 番目のファイルで値が?vimdiff132

ありがとうございました!

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

text - 文字 D5 および E5

テキストデータを処理しています。一部の単語が、理解できない特殊文字で囲まれています。それらの 16 進コードは D5 と E5 です。

xxd data:

これらの文字がどのエンコーディングから来て、何を意味するのか、誰にも分かりますか?

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

python - バイナリで 2048 バイトごとに 64 バイトを削除

私はここで緩い終わりにいます。それはとても単純な問題のように思えるので、簡単な答えがあることを願っています!

オフセット1536から始まる2048バイトごとに64バイトのパディングデータを持つバイナリ(約35m)があります-このパディングを削除したいだけです。

最初のオカレンスは 1536 で、次に 3648、5760、7872 などです。

(2112 バイト - 64 バイトのダミー データ = 2048)

私はbvi、bbe、hexdump + sed + xxdを試しましたが、明らかに何かが欠けています。

前もって感謝します、

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

linux - バイナリ ファイルの内容を一度に 1 語ずつ、xxd なしで出力する Bash スクリプト

バイナリ ファイルを単語 (32 ビット) ごとに読み取り、その単語を devmem というアプリケーションに渡す BASH スクリプトを作成したいと考えています。

今、私は持っています:

${val} には、クエスチョン マークの付いたひし形のように見える奇妙な (ASCII?) 形式の文字表現があります。

「val =」行を次のように置き換えると:

目的の出力が得られます。

BASH を使用して xxd の機能を複製する最も簡単な方法は何ですか?

注: 私は組み込み Linux プロジェクトに取り組んでおり、要件により xxd をインストールすることはできません。

このスクリプトはパフォーマンス主導型です。私のアプローチが間違っている場合は修正してください。ただし、この理由から、(hexdump -> file、parse file -> devmem) の代わりに (dd -> binary word -> devmem) を選択しました。- 私の最終目標への最適なルートに関係なく、このエクササイズは私にいくつかのトラブルをもたらしました.

ありがとう!

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

bash - Bash : 長さのオフセットでバイトを取得します

オフセットと長さを指定して、ファイルからバイトを取得する方法を考えていました。

次の行に来ました:hexdump -n 4 -s 0x11C myFile

次の結果が得られます。十分ではありません。オフセットは必要ありません。

000011c 00 00 8c d0

2回目の試行:

hexdump -n 4 -s 0x11C -e '"%x\n"' myFile

私は次のようになります:エンディアンは良くても間違っています。

d08c0000

どうすればそれができますか?sedで解析できることは知っていますが、それを解決する「よりクリーンな」ソリューションはありませんか?

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

c - ファイルを 16 進形式で取得する - 私の出力と xxd コマンドの出力

ファイルから16進出力を生成する簡単なプログラムを作成しようとしています。これは私のtwo.cファイルです:

このようにコンパイルされました:

だから私はtwo実行可能ファイルを持っています。

ここで、そのファイルを読み取り、バイナリ (16 進数) 出力を表示するプログラムを作成しました。これは私のプログラムです:

そして、ここにそれの巨大な出力がありますhttp://pastebin.com/RVLy6H9B

問題は、Linuxコマンドを使用すると、xxd two > two.hexまったく異なる出力が得られ(フォーマットに関するものではありません)、出力のように約8kではなく、約500行のバイトしかないことです。

xxd 出力: http://pastebin.com/Gw9wg93g

問題はどこだ?読み取り機能に問題はありますfgets(buff, sz, fp);か?