問題タブ [usermode]

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 投票する
4 に答える
432 参照

c - C とメモリ内のリソース保護

C プログラムをコンパイルすると、機械が理解できるコードが生成されるだけです。このコードは、この質問からわかるように、ハードウェア上で直接実行できます。

だから私の質問は:

  1. C プログラムをハードウェア上で直接実行できる場合、カーネルはこのプログラムのリソース割り当てをどのように処理できますか?

  2. コンパイラから生成された実行可能ファイルが純粋にマシンが理解できる形式である場合、特権モードと非特権モードはどのように機能するのでしょうか?

  3. プログラムがカーネルを介さずにハードウェア上で直接実行できる場合、カーネルはハードウェア リソースの許可をどのように管理しますか?

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

c++ - セキュリティ: Qt アプリで QGroupBox をパスワードで表示/非表示にする方法

Qt アプリ (C++) をさまざまなユーザー プロファイル (ルート ユーザー通常ユーザー) で使用できるように準備しようとしているので、通常のユーザーモードで特定のルート オプション (制限された QGroupBox) を非表示にしてから、必要なときにroot ユーザーはパスワードを入力して (セキュリティー・メニュー・オプションで、既にコーディング済みです)、それらを表示することができます。同じGUIでそれは可能ですか?私は本当にこのセキュリティの実装にこだわっています...

では、前に述べたセキュリティ メニュー オプションでユーザー/パスワードが入力されたときにroot ユーザーによってのみ表示される非表示の QGroupBox をどのようにコーディングできますか? それを実装する方法は?

Qtでそれを行うための特定の手順や、他の場合のアイデアはありますか?

どうもありがとう!

最終更新: @The Badger の提案を使用しましたが、最初のバージョンはほぼ希望どおりに動作します。

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

windows - 未処理の例外ハンドラーで例外ディスパッチはどのように変化しますか?

つまり、 MSDN では、ユーザー モード アプリケーションの例外ディスパッチについて次のように説明しています。

  1. デバッガーは最初の例外の通知を受け取ります (接続されている場合)
  2. 例外ハンドラ別名。try/catch呼び出されます (利用可能な場合)
  3. デバッガーは 2 回目の例外の通知を受け取ります (接続されている場合)
  4. システムは未処理の例外を気にします (通常: プロセスを終了します)

このシーケンスでは、未処理の例外ハンドラーの存在は考慮されません。未処理の例外ハンドラが存在する場合、例外ディスパッチはどのように変化しますか?

0 投票する
2 に答える
7783 参照

linux - usermod なしでユーザーをグループに追加するには?

usermod なしでユーザーをグループに追加することはできますか? 組み込み Linux 3.14.52 で作業していますが、usermod コマンド ラインがありません。不可能な場合、このコマンドを Buildroot でカーネルに追加するにはどうすればよいですか?

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

python - Python Ctypes Windows アクセス違反 - メモリ位置の読み取り

Python で COM 経由で Deviare ユーザーモード フック エンジンを使用してアプリケーションを作成しています。私がフックしている関数の 1 つは CreateProcessA ですが、フックされた関数から適切なポインターを ctypes kernel32.CreateProcess 呼び出しに渡すのに問題があるようです。私の目標は、CreateProcess への正当な呼び出しを停止し、一時停止状態で再作成することです。

必要に応じて、関数の引数に関する Deviare ドキュメントがここにあります: Deviare - パラメータ

また、Create Process の MSDN: kernel32.CreateProcessA

以下は私の ctypes 呼び出しです。この前に何もインスタンス化したり、「args」を使用して関数定義をセットアップしたりしません。この場合、それは必要ですか?

「parameters」は、フックされた関数 (CreateProcessA) に渡される関数引数を含む Deviare のオブジェクトです。

私のエラーといくつかの役立つ/型指定されたパラメーターが新しい CreateProcess 呼び出しに渡されます:

アクセス違反の場所は、lpstartupinfo の先頭にある場合もあれば、途中にある場合もあります。私の環境で他に何か問題がない限り、理由はわかりません。

LPSTARTUPINFO と LPPROCESS_INFORMATION の場所がデバッガで正しいことを確認しました。