問題タブ [hex]

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 に答える
5967 参照

c# - C#/VB.NETでのT-SQLCASTのデコード

最近、私たちのサイトはAsproxボットネット SQLインジェクション攻撃の復活で大騒ぎになりました。詳細に立ち入ることなく、攻撃はT-SQLコマンドをASCIIエンコードされたBINARY文字列にエンコードすることによってSQLコードを実行しようとします。これは次のようになります。

これをSQLでデコードすることはできましたが、その時点で何が起こっているのか正確にわからなかったため、これを行うことには少し警戒していました。

簡単なデコードツールを作成しようとしたので、 SQLServerに触れることなくこのタイプのテキストをデコードできました。デコードする必要がある主な部分は次のとおりです。

次のコマンドをすべて試しましたが、運がありませんでした。

SQL Serverを使用せずにこのエンコーディングを変換する適切な方法は何ですか?出来ますか?私もそれに精通しているので、VB.NETコードを使用します。


さて、私はここで何かが欠けていると確信しているので、ここに私がいます。

私の入力は基本的な文字列なので、エンコードされた部分のスニペット(4445434C41(DECLAに変換))から始めました。最初の試みはこれを行うことでした...

...そして、各文字をバイトに変換したので、私が入力したものとまったく同じものを返すだけでした。

まだそれを行うメソッドがわからないため、2文字ごとに手動で1バイトに解析する必要があることに気付きました。そのため、私の小さなデコーダーは次のようになります。

最初の数ペアは問題ないように見えますが、「4C」ペアに到達するとループが停止し、文字列の形式が正しくないと表示されます。

興味深いことに、デバッガーをステップ実行して、その時点まで解析できたバイト配列のGetStringメソッドに移動すると、結果として「、-+」が返されます。

何が欠けているのかを理解するにはどうすればよいですか?バイトを解析するのではなく、バイトごとに「直接キャスト」を実行する必要がありますか?

0 投票する
16 に答える
235812 参照

c - Cで16進数の文字列を整数に効率的に変換しますか?

C で、16 進数の文字列をバイナリunsigned intまたはに変換する最も効率的な方法は何unsigned longですか?

たとえば、 がある場合0xFFFFFFFEintbase10 値の が必要です4294967294

0 投票する
7 に答える
21401 参照

c++ - 既製のC++16進ダンプコード

私はネットワークおよびシリアル通信ソフトウェアを頻繁に使用しているため、データパケットの16進ダンプを表示またはログに記録するためのコードが必要になることがよくあります。

これを行うたびに、さらに別の16進ダンプルーチンを最初から作成します。私は再びそうしようとしていますが、ここで尋ねると思いました:どこかにC ++用の良い無料の16進ダンプコードはありますか?

欲しい機能:

  • 1行あたりNバイト(Nはなんらかの方法で構成可能)
  • 16進数の横にあるオプションのASCII/UTF8ダンプ
  • 構成可能なインデント、行ごとのプレフィックス、行ごとのサフィックスなど。
  • 最小限の依存関係(理想的には、コードをすべてヘッダーファイルに含めるか、貼り付けるだけのスニペットにします)

編集: 明確化:stderr、stdout、ログファイル、またはその他のそのような出力ストリームに書き込むために、自分のプログラムに簡単にドロップできるコードを探しています。コマンドラインの16進ダンプユーティリティを探していません。

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

windows - これらの 16 進数の名前付きフォルダーはどこから来たのですか?

まず、私はWindows XPを使用しています。複数のハードドライブがあり、2番目のハードドライブにいくつかのフォルダーを作成することにしたようです(これは単なるデータドライブであり、OSはありません)。これらのフォルダーにはすべて、「e69f29f1b1f166d3d30b8c9f7156ba」や「bd92c24cc278614082cd88e7a64b」などの名前が付いています。それらには、「アクセスが拒否された」updateという名前のフォルダーが含まれているため、Windowsの更新であると推測されます。したがって、おそらくそれらを取り除くことはできませんが、誰かが少なくともそれらが何であるか、なぜ間違ったドライブにあるのかを説明できますか?

0 投票する
29 に答える
1203320 参照

javascript - JavaScript で 10 進数を 16 進数に変換する方法

JavaScript で 10 進数の値を 16 進数に変換するにはどうすればよいですか?

0 投票する
16 に答える
18027 参照

c++ - char[] から 16 進文字列への演習

以下は、現在の char* から 16 進文字列への関数です。ビット操作の演習として書きました。AMD Athlon MP 2800+ で 1,000 万バイトの配列を 16 進数に変換するには、約 7 ミリ秒かかります。私が見逃しているトリックや他の方法はありますか?

どうすればこれをより速くすることができますか?

g++ で -O3 でコンパイル

アップデート

タイミングコードを追加

Brian R. Bondy : std::string をヒープに割り当てられたバッファに置き換え、 ofs*16 を ofs << 4 に変更します - ただし、ヒープに割り当てられたバッファは速度を落としているようですか? - 結果 ~11ms

Antti Sykäri : 内側のループを次のものに置き換えます

結果 ~8ms

Robert : 完全な 256 エントリのテーブルに置き換え_hex2asciiU_valueます。メモリ スペースは犠牲になりますが、結果は最大 7 ミリ秒になります。

HoyHoy : 誤った結果が生成されていたことに注意

0 投票する
20 に答える
398294 参照

c# - 16進数と10進数の間で数値を変換する方法

C#で16進数と10進数をどのように変換しますか?

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

c++ - operator>> は int 16 進数と 10 進数を読み取ることができますか?

operator>>C++ でhex値 AND と値の両方を読み取るように説得できdecimalますか? 次のプログラムは、16 進数の読み取りがどのようにうまくいかないかを示しています。と の両方を同じistringstreamように読めるようにしたいです。hexdecimal

0 投票する
5 に答える
143874 参照

ruby - Rubyで整数を16進数文字列に変換する

Rubyの整数を16進数に変換する組み込みの方法はありますか?

の反対のようなものString#to_i

おそらく次のように:

私は自分でロールする方法を知っていますが、組み込みの Ruby 関数を使用する方がおそらく効率的です。

0 投票する
24 に答える
551078 参照

java - Javaを使用して16進ダンプの文字列表現をバイト配列に変換しますか?

16 進値を表す長い文字列 (ダンプから) をバイト配列に変換する方法を探しています。

ここに同じ質問を投稿した人よりもうまく表現できなかったでしょう。

しかし、オリジナルを保つために、私なりの言い方をします"00A0BF"

私は何をすべきか?

私はJavaの初心者でありBigInteger、先頭の16進ゼロを使用して注意することになりました。しかし、それは醜いと思います。単純なものが欠けていると確信しています。