問題タブ [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.
c# - 高整合性 (管理者) プロセスから IEGetProtectedModeCookie API を呼び出す方法は?
高整合性 (管理者) プロセスからIE8 IEGetProtectedModeCookie APIを呼び出す必要があります。Azure webapp からこの API を呼び出すたびに、ERROR_INVALID_ACCESSが発生します。整合性の高いプロセスがこの API を呼び出すことができないことを多くの場所で読みましたが、私の場合は、昇格された特権で Azure サンドボックスを実行する必要があります。
下位レベルの整合性プロセスからこの API を呼び出す方法はありますか? Azure サンドボックスの場合、昇格された特権で Web アプリケーションを実行する必要があります。
assembly - GDT を使用した保護モードでのアセンブラー ジャンプ
現在、低レベルのプログラミング スキルを磨くために、x86 アセンバーをいじっています。現在、32 ビット プロテクト モードでのアドレッシング スキームに関する小さな問題に直面しています。
状況は次のとおりです。
CPU を保護モードに切り替え、コード内の対応するラベルにジャンプするプログラムを 0x7e0 にロードしました。
これまでのところ、これはまったく問題なく機能します。「jmp ProtectedMode」は、プリフェッチ キューをクリアするための明示的な far jump なしで機能します。このプログラムはオフセット 0 (最初は org 0) でロードされるため、コード セグメントが正しい場所を指すようになります。
私の現在の問題は、「ProtectedMode」ラベル内で、0x8000 にロードされている他のプログラムにジャンプしたいということです (これをメモリ ダンプで確認したところ、ロード機能は正しく機能し、プログラムは 0x8000 に正しくロードされました)。 .
CPU が RealMode ではなく ProtectedMode になったため、アドレス指定スキーマが異なります。ProtectedMode は記述子セレクターを使用して記述子テーブルのベース アドレスと制限を検索し、指定されたオフセットを追加して物理アドレスを取得します (私が理解しているように)。そのため、ProtectedMode に入る前に GDT をインストールする必要がありました。
私は次のようになっています:
経由で GDT レジスタにロードされます。
これまで理解できなかったのは、GDT を使用して ProtectedMode の物理アドレス 0x8000 にジャンプするにはどうすればよいかということです。
私の最初の考えは、0x7e00 (現在のプログラムがロードされている場合) を指すコード記述子 (CODE_DESC) を選択し、0x8000 (512 バイト) に到達するために必要なオフセットを使用して、ジャンプ命令を作成することでした:
しかし、これはうまくいきません。
どちらも機能しません...
ここで何が欠けているのか分かりますか? 32 ビット ProtectedMode アドレッシング スキームと GDT の使用法に不可欠な要素を理解していなかったのかもしれません。
[編集] 完全なコード:
internet-explorer - ActiveX (保護モード IE) からファイルを保存するためのテクニック
私は ActiveX を持っています。
ActiveX の意味:
- インターネットエクスプローラ
- ネイティブ バイナリ コード
- dll (.ocx) から実行
- 保護モードで
ユーザーはコンテンツを保存したいと考えています。[名前を付けて保存] ダイアログを表示して、指定した場所に保存したいと思います。
ActiveX をホストしているプロセスが低整合性レベルで実行されているため、ユーザーが要求した場所にコードを保存できません。
ActiveX をホストしているプロセスが Internet Explorer の保護モードで実行されているため、ユーザーが要求した場所にコードを保存できません。
代わりに、ファイルはユーザーが要求していない場所にサイレントに保存されます。
代わりに、ファイルはエンド ユーザーが見つけられない場所に静かに保存されます。
これを処理する方法の提案はありますか?
ボーナスおしゃべり
ユーザーはハード ドライブに何を保存しようとしていますか? 質問には関係ありません。しかしふり:
- 数百メガバイトの 3D CAD メッシュです
- これは GIS 画像のダンプです
- それはPDFです
- それはPNGです
- それはテキストファイルです
追加資料
Internet Explorer の保護モード APIでは、アドインが保存されたダイアログを表示できます。
次に、提供された保存用のCookieを使用してファイルを保存します。
どこsourcefilename
かに保存できたファイルはどこにありますか(これは別の質問です)。
ボーナスリーディング
保護モードの Internet Explorer を理解して使用する
一部の拡張機能では、ユーザーまたはアプリケーションが後でファイルを見つけられるように、ファイルを特定の場所に保存する必要があります。次の手順は、整合性の低い場所以外にファイルを保存する方法を示しています。
%userprofile%\AppData\LocalLow にファイルの一時バージョンを作成します。ファイルが正常に保存されたら、忘れずに一時ファイルを削除してください。
ユーザーのプロファイル フォルダーの場所を指定して呼び出し
IEShowSaveFileDialog
、ファイルを別の場所に保存するようユーザーに促します。ユーザーが [名前を付けて保存] ダイアログを受け入れると、IEShowSaveFileDialogは選択された保存先フォルダーを返します。
IESaveFile
手順 1 で保存した一時ファイルの場所を指定して呼び出します。これを行うと、保護モードのユーザー ブローカーはファイルを一時的な場所からユーザーが選択した場所にコピーします。
internet-explorer-8 - Mailto リンクにより、IE8 でページが空白になる
私の問題はこの投稿に似ています: dojo で使用すると、mailto が IE8 で空白のページを引き起こします。
mailto リンクのあるページがあり、ユーザーがリンクをクリックすると、電子メール クライアントは期待どおりに開きますが、ページは空白になります。これは ie8 でのみ発生します。
target=_blank で電子メール クライアントを開こうとしましたが、問題は解決しません。また、以下のコードのように mailto href を使用する代わりに、アンカーのクリックハンドラーを介して電子メール クライアントを開こうとしました。
問題は保護モードにあると推測していますが、ユーザーにブラウザで何かを設定するように依頼することなく、ie8 で動作させるにはこれが必要です。アプリケーションはイントラネット モードで実行されるため、リンクした投稿の回答の 1 つにあるように、このエラーは「インターネットに公開しても魔法のように消える」ことはありません。
私はGXTで開発しています。誰かがこれに対する解決策を持っていますか?
ありがとう。
interrupt - IA32 CPU、プロテクトモード:割り込みが発生したときにスタックに保存されるデータはどれですか?
各データがスタックで使用するバイト単位のサイズを知りたいのですが。特権レベルは回答にどのように影響しますか?
process - 整合性レベルが低いプロセスを開始する方法
デスクトップアプリケーションと通信しようとするBHOオブジェクトとして実行されているソケットクライアントがあります。IEは低い整合性レベルで実行されているため、保護モードで実行されているIEはbhoにロードされません。2つの質問があります。
- 低整合性レベルでプロセスを開始する方法。
- プロテクトモードでもBHOオブジェクトの読み込みに役立ちますか?
internet-explorer - コードから[セキュリティ]>[ローカルイントラネット]>[保護モードを有効にする]を無効にします
コードから[セキュリティ]>[ローカルイントラネット]>[保護モードを有効にする]を無効にする方法は?この設定をオンにすると、Facebookのようなボタンで問題が発生します。
c# - IE9ツールバーボタンのカスタムアイコン
ツールバーボタンを追加するIE9の拡張機能を作成しました。
登録は次のようになります。
問題は、アイコンがURLではなくファイルシステム上のファイルとして参照されていることです。IE Galleryは、プラグインを.msiではなく.dllとして配布するため、.icoをローカルファイルシステムに配置する機会がありません。
ボタンにアイコンを使用させるにはどうすればよいですか?
c++ - Windows プログラミング (保護モード) で最初の 1MB の RAM にアクセスするにはどうすればよいですか?
Windows プログラミング (保護モード) で RAM の最初の 1 MB に直接アクセスするにはどうすればよいですか?
たとえば、ビデオ部分に書き込みます。
DPMI を使用してすべての問題を解決できますか?
selenium - セキュリティ ポリシーにより、Selenium IEDriverServer が保護モードを構成できない
IEDriverServer Wiki ページには、要件として次の項目がリストされています。
Windows Vista または Windows 7 の IE 7 以降では、各ゾーンの保護モード設定を同じ値に設定する必要があります。値は、すべてのゾーンで同じである限り、オンまたはオフにすることができます。
残念ながら、私が働いている場所では、企業のセキュリティ ポリシーによって保護モードの設定がロックされているため、設定を変更することができません。
この問題を回避して IEDriverServer を動作させる方法はありますか? それとも、Selenium は、ユーザーが保護モード設定を変更できない Windows 7 で IE 7 以降を実行する企業環境のオプションではないのでしょうか?
ありがとう、デイブ