Chrome 系ブラウザを Vista 互換モードで起動するとクラッシュする理由

Chrome も Firefox と同じで Vista 互換モードで起動するとクラッシュするんで理由調べてみました。
crm
GetProcuctInfo !?

Firefoxと同じ理由かよ!(しかも遅延ロードなのも同じ)
同じライブラリ使ってんですかね(それにしてはコードが違うような…)

後、GetSecurityDescriptorSacl をよんだ後、第3引数のPACL *pSacl をNULLで引き渡してるにもかかわらず、値を取得しようとしてるみたい ・ω・

当然NULLのはずなんだけど、Windows 7だと動作違うのかな?

ちなみに、Chrome 51 から以下の関数が必要になるかもしれない

SleepConditionVariableCS
WakeAllConditionVariable
WakeConditionVariable
InitializeConditionVariable

ゲーム対応版じゃない方の拡張カーネルには既にある関数ですね ・ω・

追記

          lea    eax,[ebp-04h]
          mov    dword ptr [ebp-04h],00000000h
          push    eax
          push    00000000h
          push    [ebp+08h]
          push    00000000h
          call    [L04454F9C]  <- InitializeProcThreadAttributeList
          mov    eax,[ebp-04h]

どうやら、InitializeProcThreadAttributeList なども遅延ロード後、NULLチェックせずによんでるか所があるらしい

おすすめ

2件のフィードバック

  1. 名無しのプログラマー より:

    さっきのつづきで、Fxのほうを漁ってみたよ
    ttp://hg.mozilla.org/releases/mozilla-release/file/tip/security/sandbox/chromium/sandbox/win/src/restricted_token_utils.cc
    こっちは、PPACL 渡してるっぽいですが、、
    あたりつける足しにドゾー

  2. 黒翼猫 より:

    どっちかというとなんで、sandbox 無効にしたらプロセス起動できるようになるのか知りたいところですね・ω・
    ソース見て見たんだけど、よく分からなんだ
    https://sourceforge.net/p/wine/wine-gecko/ci/df5fb99c897403f322b7c24ef248eb6d57f0d76f/tree/ipc/glue/GeckoChildProcessHost.cpp
    https://dxr.mozilla.org/mozilla-central/source/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です