プログラムを実行するたびに、これが異なる値を返すのはなぜですか?0x3759F8B0-0x100

bol398

それは私にとってはそれほど問題ではありませんが、私はそれについて考え始めたばかりで、私が尋ねると思いました。プログラムを実行するたびに異なる値(0x3759F8B0-0x100)が返されるのはなぜですか?

ある時は00AFFD00と言い、次の時は006FFD48と言います

test = 0x3759F8B0 - 0x100; 
cout << &test << endl;
データオオカミ

私はあなたの完全なプログラムソースが次のように読むと思います

#include <iostream>
using namespace std;
int main()
{
    int test;
    test = 0x3759F8B0 - 0x100; 
    cout << &test << endl;
}

@patがコメントですでに述べたように、プログラムは変数の値ではなく、変数アドレスを出力testします。最新のオペレーティングシステムには、「アドレス空間配置のランダム化」(ASLR、概要についてhttps://en.wikipedia.org/wiki/Address_space_layout_randomization参照と呼ばれるものがあり、に存在する可能性のあるセキュリティの脆弱性を悪用するのを困難にします。プログラム。アイデアは、プログラムの新しい開始ごとに、それが使用するもののアドレスがランダム化されるということです。したがって、変数のアドレスは、ASLRを有効にして起動するたびに変更されます。

ASLRは現在、主流のオペレーティングシステムの標準機能です。ただし、無効にすることができ(非推奨)、ASLRがないと、上記のプログラムは実際に常に同じ出力を出力します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このプログラムを実行するたびに&xが異なる値を出力するのはなぜですか?

分類Dev

SBTのクラッシュを修正する方法:java.lang.NumberFormatException:入力文字列の場合:「0x100」?

分類Dev

Python、file(1)-テキストとバイナリファイルの判別に数値[7,8,9,10,12,13,27]とrange(0x20、0x100)が使用されるのはなぜですか

分類Dev

これらの `const int main = 0xc3`(または他の数値)プログラムがOS Xで252を返すのはなぜですか?

分類Dev

プログラムがnull、null、0、0を返すのはなぜですか?

分類Dev

C#プログラムが0を返すのはなぜですか?

分類Dev

cプログラムを実行した後、常に0になるのはなぜですか?親切に私を助けてください

分類Dev

この単純なCtic-tac-toeプログラムが、配列の[0] [0]の位置の値を「忘れる」のに、他のすべての場合は正常に機能するのはなぜですか。

分類Dev

なぜ、gitエイリアスで、$ 0を呼び出されたプログラムまたは最初の定位置パラメーターにすることができるのですか?

分類Dev

printf(i)がこのプログラムの出力として0を与えるのはなぜですか?

分類Dev

値/ 100が0を返すのはなぜですか?

分類Dev

OS Xでは、なぜprintln()を使用すると、プログラムがprintln()を使用しない場合よりも速く実行されるのですか?

分類Dev

戻り値が異なるのに、sortメソッドが0を返すのはなぜですか?

分類Dev

バイナリが0と1の場合、バイナリファイルとプログラムに\ x8c \ x8e \ xfc \ r \ xc3 \ x8aのようなものが表示されるのはなぜですか?

分類Dev

sbrk(0)を2回呼び出すと、異なる値が得られるのはなぜですか?

分類Dev

Laravel 5.7-プログラムでコンソールコマンドを一覧表示すると0が返されるのはなぜですか?

分類Dev

このプログラムの結果、すべての場合で0%になるのはなぜですか?

分類Dev

ポート443で実行されているKafkaRESTプロキシが不正な文字0x16について警告するのはなぜですか?

分類Dev

Linux / macOSで同じプログラムのN回の実行を異なるコアで100%実行するにはどうすればよいですか?

分類Dev

exceptブロックでsys.exit(0)を呼び出した後に、最終的にblockが実行されるのはなぜですか?

分類Dev

exceptブロックでsys.exit(0)を呼び出した後に、最終的にblockが実行されるのはなぜですか?

分類Dev

なぜx [0]!= x [0] [0]!= x [0] [0] [0]なのですか?

分類Dev

forループでk == 0のときに、プログラムがガベージ値を返すのはなぜですか?

分類Dev

B = numpy.dot(A、x)がB [i、:、:] = numpy.dot(A [i、:、:]、x))を実行することで、ループが非常に遅くなるのはなぜですか?

分類Dev

NetBeansがOS Xでプログラムを実行しているのに、JARにビルドしないのはなぜですか?

分類Dev

スケジュールされたタスクが「最終実行時間」を正しく更新し、「(0x0)」の「最終実行結果」を提供するのに、実際には機能しないのはなぜですか?

分類Dev

これが0を返さないのはなぜですか

分類Dev

mongoose 5.5.11のupdateOneコマンドを実行するたびに、応答{"n":0、 "nModified":0、 "ok":1}が返されます。何が問題なのですか?

分類Dev

入力する整数が0から100の間でなければならないことをプログラムに含めるにはどうすればよいですか?

Related 関連記事

  1. 1

    このプログラムを実行するたびに&xが異なる値を出力するのはなぜですか?

  2. 2

    SBTのクラッシュを修正する方法:java.lang.NumberFormatException:入力文字列の場合:「0x100」?

  3. 3

    Python、file(1)-テキストとバイナリファイルの判別に数値[7,8,9,10,12,13,27]とrange(0x20、0x100)が使用されるのはなぜですか

  4. 4

    これらの `const int main = 0xc3`(または他の数値)プログラムがOS Xで252を返すのはなぜですか?

  5. 5

    プログラムがnull、null、0、0を返すのはなぜですか?

  6. 6

    C#プログラムが0を返すのはなぜですか?

  7. 7

    cプログラムを実行した後、常に0になるのはなぜですか?親切に私を助けてください

  8. 8

    この単純なCtic-tac-toeプログラムが、配列の[0] [0]の位置の値を「忘れる」のに、他のすべての場合は正常に機能するのはなぜですか。

  9. 9

    なぜ、gitエイリアスで、$ 0を呼び出されたプログラムまたは最初の定位置パラメーターにすることができるのですか?

  10. 10

    printf(i)がこのプログラムの出力として0を与えるのはなぜですか?

  11. 11

    値/ 100が0を返すのはなぜですか?

  12. 12

    OS Xでは、なぜprintln()を使用すると、プログラムがprintln()を使用しない場合よりも速く実行されるのですか?

  13. 13

    戻り値が異なるのに、sortメソッドが0を返すのはなぜですか?

  14. 14

    バイナリが0と1の場合、バイナリファイルとプログラムに\ x8c \ x8e \ xfc \ r \ xc3 \ x8aのようなものが表示されるのはなぜですか?

  15. 15

    sbrk(0)を2回呼び出すと、異なる値が得られるのはなぜですか?

  16. 16

    Laravel 5.7-プログラムでコンソールコマンドを一覧表示すると0が返されるのはなぜですか?

  17. 17

    このプログラムの結果、すべての場合で0%になるのはなぜですか?

  18. 18

    ポート443で実行されているKafkaRESTプロキシが不正な文字0x16について警告するのはなぜですか?

  19. 19

    Linux / macOSで同じプログラムのN回の実行を異なるコアで100%実行するにはどうすればよいですか?

  20. 20

    exceptブロックでsys.exit(0)を呼び出した後に、最終的にblockが実行されるのはなぜですか?

  21. 21

    exceptブロックでsys.exit(0)を呼び出した後に、最終的にblockが実行されるのはなぜですか?

  22. 22

    なぜx [0]!= x [0] [0]!= x [0] [0] [0]なのですか?

  23. 23

    forループでk == 0のときに、プログラムがガベージ値を返すのはなぜですか?

  24. 24

    B = numpy.dot(A、x)がB [i、:、:] = numpy.dot(A [i、:、:]、x))を実行することで、ループが非常に遅くなるのはなぜですか?

  25. 25

    NetBeansがOS Xでプログラムを実行しているのに、JARにビルドしないのはなぜですか?

  26. 26

    スケジュールされたタスクが「最終実行時間」を正しく更新し、「(0x0)」の「最終実行結果」を提供するのに、実際には機能しないのはなぜですか?

  27. 27

    これが0を返さないのはなぜですか

  28. 28

    mongoose 5.5.11のupdateOneコマンドを実行するたびに、応答{"n":0、 "nModified":0、 "ok":1}が返されます。何が問題なのですか?

  29. 29

    入力する整数が0から100の間でなければならないことをプログラムに含めるにはどうすればよいですか?

ホットタグ

アーカイブ