問題タブ [protected-mode]

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

x86 - x86 リアル モード CPL (現在の特権レベル) からプロテクト モードへの切り替え

x86 では、PE ビット CR0 を設定した後、far JMP を実行して、CS/EIP が変更されたことを確認します。この far JMP 命令 (保護モード) に対応する x86 プログラマーズ マニュアルのロジック フローを見ると、次のようになります。

特権レベルが 0 であることを確認したい。記述子の DPL も 0 であり、far JMP のセレクターの RPL も 0 であると仮定する。マニュアルによると、CPL は CS の最後の 2 ビットです。つまり、far JMP の前に、CS には最後の 2 ビットが 00 の値が含まれている必要があります。 far JMP を実行しますか? これを言い換えると、リアル モードからプロテクト モードに切り替えるときの CPL とは何ですか?

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

internet-explorer - IE ブラウザ プラグインでリアルタイム ストリームを記録する方法

Win7/Win10/Vista で 1 つまたは複数のリモート IP カメラからデータを記録するための IE プラグイン (32 ビット ActiveX dll) を作成しています。

一部のターゲット ディレクトリ (主に NTFS パーティションおよび/または USB デバイス) への記録は、次の理由により成功しません。

実際には、ターゲット ディレクトリの下にそのようなファイルはありません。IE(11) で「保護モード」を無効にすると、このような問題は発生しなくなります。

この記事を読みました

ActiveX (保護モード IE) からファイルを保存するためのテクニック

そしてこの記事

ユーザー アカウント制御の互換性のための Windows Vista アプリケーション開発要件 https://msdn.microsoft.com/en-us/library/bb530410.aspx

ただし、まだ次の要件があります。

  1. プラグインはリアルタイム ストリームを保存します。最初に一時ディレクトリに保存し、後でターゲット ディレクトリにコピーするのはユーザー フレンドリーではありません。
  2. プラグインは、Web ページのボタンを押すことでスナップショットを保存し、面倒な「名前を付けて保存」ダイアログを毎回表示したくありません。
  3. IP カメラは DHCP で処理されているため、「保護モード」を回避するためにその IP を「ローカル イントラネット ゾーン」に単純に追加することはできません。

プラグインには、管理者権限が付与されたインストール プログラムがあるためです。インストールプロセス中に任意の変更を行うことができます。

この問題を解決する方法はありますか? または、セキュリティ上の問題により、要件が有効ではありませんか?

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

x86 - x86 保護モードを理解できません

なぜこのモードが発明されたのですか?
バスを 20 ビットから 32 ビットに拡大し、リアル モードに固執しなかったのはなぜですか?

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

internet-explorer - IE11 Server 2012r2: 拡張保護モード コンテキストでインターネット サイトとして扱われる信頼済みサイト?

AutoIT を使用して、Internet Explorer でいくつかのタスクを自動化しようとしています。AutoIT の IE.au3 ライブラリを使用しています。

マシンで拡張保護モードを有効にしています。特定のサイトでそれ (および保護モード) を無効にしたいのですが、IE 11 を使用しています。すべてのゾーンで保護モードを無効にしてこれをテストし、実際に確認しました - 拡張保護モードが起動されませんでした。だから私は考えました-保護モードが無効になっている「信頼済みサイト」ゾーンにサイトを追加すると、拡張保護モードは起動しないはずです。

結果:

次のような動作が発生します: IE は引き続き「サンドボックス IE」で開きます (つまり、整合性レベルが「AppContainer」のプロセス - 拡張保護モードがまだ有効です!)。

次に、インターネット ゾーンの保護モードをオフにすると、サイトの拡張保護モードが実際に無効になり、サンドボックス化されていない IE が表示されます。

だから私の結論 - IE は信頼できるサイトをインターネット サイトとして扱います (少なくとも拡張保護モードに関する限り)。また、次のサイトでこれ (おそらくバグ) の証拠を見つけました。マッピング.aspx

これを解決する方法についてのアイデアはありますか?

また、信頼済みサイト ゾーンへの追加に問題があるのではないかと考えたので、ドット付きの URL ( http://10.10.3.255/mypageなど) とドットなしの URL ( http://mysite/mypageなど)を確認しました。一部の Microsoft ドキュメント ( https://technet.microsoft.com/en-us/library/dd361896.aspx ) によると、前者はインターネット ゾーンに変換され、後者はイントラネット ゾーンに変換されます。ただし、どちらの場合もインターネットゾーンに関するものであることがわかりました。おそらく私の設定が間違っていたのでしょうか?「10.10.3.255」、「http://10.10.3.255」、「10.10.3.255/*」を追加してみましたが、結果に違いは見られませんでした

ありがとう!

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

assembly - 32 ビット プロテクト モードに入る

私はオペレーティングシステムを開発しています。参照から、16 ビット リアル モードから 32 ビット プロテクト モードに入る必要があります。ステップでは、次のように命令を使用します。

しかし、私のアセンブラーは、それは違法であり、次のような命令も使用すると言います:

一部のチュートリアルでは を使用します[bits 32]。しかし、私は両方を使用していますが、運が悪いです。

これをググったけど、今回はめちゃくちゃだった

したがって、ガイドは役に立ちます。

ありがとう

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

assembly - 保護モード x86 の 64 ビット レジスタ

32 ビット プロテクト モードのままで、64 ビット プロセッサで 64 ビット レジスタを使用できるかどうか疑問に思っていました。私の仮想マシンは 64 ビット ロング モードをサポートしていないため、これを自分でテストすることはできません。また、これはインターネットのどこにも見つかりませんでした。16 ビットリアルモードで 32 ビットレジスタが使用できるという事実から、これが可能なのではないかと考えました。

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

c# - C# - 保護モードで Excel セルの書式設定をプログラムで許可する

デフォルトでは、サーバーから生成した .xlsx ファイルは、ユーザーのコンピューターで保護モードで開かれます。そのモードでは、数式を含む多くのセルがアクティブ化されないため、それらのセルには何も表示されないことに気付きました。編集モードではすべて問題ありません。そこで、セル数式が保護モードで機能することをプログラムで許可する方法があるかどうかを尋ねたいと思いますか? 私の開発環境は MVC4 で、ExcelCreator 8.0 を使用して Excel ファイルを生成しています。

*編集:私の主な関心事は、セルの値を数式で表示することです。これらは単純な SUM() 式です。ファイルを初めて開いたときに、それらのセルが空白になっていることに気付きました。しかし、初めて編集モードに切り替えたとき、編集せずにすぐにファイルを保存してから、次に保護モードで開いたときに、それらのセルにいくつかの値が表示されます。それでは、最初に編集モードで開かずに、少なくともこれらの値を保存するようにプログラムできますか?

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

assembly - アセンブリは、レジスタの 1 ビットを比較します

レジスタの 1 ビットを比較する必要があります。たとえばAH、0b010010>1<0 と等しいとします。2 番目の
ビットを確認する必要があります (同じビットについて話していることを確認するために、このビットを矢印の間に入れます) は 1 または 0 です。 .

これが私のコードがオペレーティングシステムなしで PMode 32 ビットで実行されると仮定するのに役立つ場合があります。

これは指示で行うことができることをインターネットで見つけましたがtest、それを行う方法が見つかりませんでした。