2012-03-07 4 views
0

私はこれは私が私が遊ぶゲームの「アドレス」と呼ぶものです16進数が反転していますか?

....混乱に聞こえるかもしれ疑問を持っていますが、私と一緒に裸してください:0037F1C8

私が達成しようとしていますどのようなvC++でこのアドレスをこの結果に変換します:C8 F1 37 00

あなたが気づいたら、その結果は「アドレス」ですが、左から右に向かって最終結果を出すために右から左に吐き出されます。

結果は私が作成したパケットに入力してからゲームのサーバーに送信したものです。

私はvC++でこれを行うコードが必要です。私はそれを反転してそのように配置する方法についての手がかりがないためです。

ありがとうございます。

P.S.私は私の質問をGoogleにしようとしましたが、あなたが見ることができるように、私はちょっと自分の質問を正しく述べる方法を知りません。

+1

今後、より多くのヘルプを奨励するために、人々があなたに過去に与えた答えのいくつかを受け入れるようにしてください。 –

+0

リトルエンディアンマシンで(unsigned char *)&アドレスとしてアドレスにアクセスすると自動的に実行されます。あなたのように。 –

+0

ジョナサン・ウッド、私は文字通りこのウェブサイトをどのように使用するのか手がかりがありません。私は最近、答えを受け入れる方法を知らなかったので、答えを受け入れました。ハンス・パサント、私はそれを試みます。 – Andrew

答えて

1

あなたはあなたの結果を望むフォームを説明していません。この内容のASCII文字列を取得しようとしていますか?整数のバイトの各々を抽出いずれの場合も、文字列にこれらを配置する明らかな方法は、適切なサイズの整数(明らかに32ビット)へのポインタを変換

  • によるものである

  • 最も合理的には、一連のシフトとマスクを実行することによって、
  • 結果の4バイトをsprintf'ingして文字列にします。

あなたが探しているフォーマット文字列は次のようになります:あなたの「i」は下のi & 0xff

ようなものになるだろうint型の唯一の最下位バイトを与えること"%2X %2X %2X %2X"

適切なマスク状況を考えれば、私はちょっと想像力を持たせるのではなく、個々のバイトを入れるために4つのintを宣言しています。

+0

この文字列 "0037F1C8"をこの文字列の結果 "C8 F1 37 00"にします。 – Andrew

+0

次に、配列の適切な要素にインデックスを付け、新しい文字配列に割り当てます。結局、Cの文字列は単なる配列にすぎません。 – Perry

+0

例として、 'dest [0] = src [6]'は、開始文字列の7番目の位置に 'C'を、ターゲット文字列の最初の位置に置きます。 – Perry

関連する問題