Firefox 54 を Windows 2000で動かす実験 その2

Firefox 54 を Windows 2000で動かす実験 その1

リベンジ・ω・

何をやるかと言うと、RequireSRWLock系関数が呼ばれたとき、明らかに構造体が初期化されていなかった場合、 強制的にInitializeSRWLockを呼ぶ処理を実装

void checkSRW(){
    _asm{
           mov eax,[esp+8]
           test eax,eax
           jnz L1
           mov eax,0xc0000005
           retn
L1:     test [eax],0
           jnz L2
           push [esp+8]
           call  InitializeSRWLock
L2:     retn
    }
}

こんな感じ

結果、そこでは落ちなくなりました。
(落ちなくなるのがおかしいのだが…)

(別の場所で、NULL Pointer がコールされて落ちる)

ちょっと原因が分からないので保留・ω・

おすすめ

コメントを残す

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