問題タブ [aslr]

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

aslr - Windows PE バイナリで ASLR を有効にする方法は?

実行可能ファイルのアドレス空間レイアウトのランダム化を有効にするにはどうすればよいですか?

:私はVisual Studio、または/dynamicbaseコンパイラオプションを提供するコンパイラを使用していません。

この説明では、ASLR を有効にする機能をコンパイラに追加するとします。

その他の PE フラグ

設定方法を既に知っている他の Windows 実行可能イメージ オプションがあります。たとえば、次にIMAGE_FILE_NET_RUN_FROM_SWAPフラグを立てます。PE バイナリ ヘッダーで PE オプションを設定します。

アドレス空間レイアウトのランダム化を有効にするにはどうすればよいですか? PEフラグですか?アセンブリ マニフェストエントリですか。

ボーナス

実行可能ファイルを NX (実行なし) にオプトインするにはどうすればよいですか?

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

fork - 新しい子をフォークするときの ASLR

子をフォークしているときに、ASLR が親から継承されていることがわかります。

たとえば、アンアンプする方法はありますか: 子プロセスからのlibc、

ASLRがlibcに影響を与えるように、もう一度mmapしますか?

子プロセスで ASLR を実行できるようにしたいのですが、

どういうわけかダイナミックローダーがシンボルを再度解決する必要があるため、不可能に聞こえることはわかっています。

成功できるか心配

ありがとう

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

windows - MapUserPhysicalPages (AWE 再マッピング) は ASLR に影響しますか?

APIはMapUserPhysicalPagesVirtualAlloc と を使用して割り当てられたアドレスを取得しMEM_PHYSICALMEM_RESERVEページを一連の物理ページ フレーム番号に再マップします。これは、プロセスの AWE サポートを提供するように設計されています。

私には、これは、再マッピングによってメモリが固定仮想アドレスに配置されるケースのように思えます。したがって、既知のメモリ領域をターゲットにすることで ASLR がバイパスされる可能性があります。

私はこの仮定で正しいですか?バイパスの可能性は、ユーザー モードの ASLR レベルまたは KASLR レベルでしょうか?

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

gcc - -fPIC と -s の両方が使用されています - おそらく矛盾していますか?

特定のプロジェクトで、次のコンパイラ オプションが一度に使用されるのを見ました。

-fPICここで と を一緒に-s使用することは矛盾していますか? そうでない場合、なぜですか?

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

macos - OS X で ASLR を無効にする文書化された方法は?

OS X 10.9 (Mavericks) では、文書化されていない属性を呼び出して渡すことでプロセスを起動すると、単一プロセスのアドレス空間レイアウトのランダム化を無効にすることができます。このような:posix_spawn()0x100

(これは、 Apple の GDB ソースからリバース エンジニアリングされたものです。)

このような文書化されていない機能の問題点は、予告なしに消えてしまう傾向があることです。このスタック オーバーフローの回答によると、動的リンカーdyldは環境変数を参照するために使用されますDYLD_NO_PIEが、これは 10.9 では機能しません。同様に、静的リンカは明らかに--no-pieオプションを使用していましたが、これはもはや当てはまりません。

ASLRを無効にする文書化された方法はありますか?

(ASLR を無効にする必要があるのは、アドレス ベースのハッシュ テーブルやBIBOP ベースのメモリ マネージャーなど、動作がオブジェクトのアドレスに依存するコードのテストおよびデバッグ時に再現性を確保するためです。)

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

c++ - mingw を使用してコードブロック内の exe で ASLR、DEP、および SafeSEH を有効にするにはどうすればよいですか?

ASLR のリンカ オプションを使用してみ-dynamicbase -pieまし-e_mainCRTStartupたが、ollydbg にロードすると、常に 400000 でロードされます

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

c - -fPIE でコンパイルされた実行可能ファイルのベースアドレスを強制する

ちょっと変わった質問でここにいます。

execプログラムをロードする VirtualAddress を指定する方法はありますか?

例:

a.outエントリポイントを持つ PIE0x460です。

b.out fork&execのですが、「ねえ、セクションをa.outにロードしたいので、エントリ ポイントは"..text0x2000000x200460

私は POSIXexec関数ファミリー 、ld.so、およびを見ましたld-linux.so.2が、これを可能にするものは何も見当たりませんでした。

私の当面の解決策は、独自のリンカーを作成することですが、既にこれを実行できるものがあれば、私の人生はずっと楽になります。

ありがとう!