Opera 17.0 開発版がリリースされてますね

Opera Developer News - Start of the Opera Developer stream
Opera 17.0.1224.1がリリースされました

相変わらず、launcher_lib で落ちるので もう少し解析してみました

L1004D6B3:
 mov eax,[ebx+50h]
 cmp dword ptr [eax+08h],00000003h
 jz L1004D721
 cmp byte ptr [eax+0Ch],00h
 jnz L1004D721
 cmp byte ptr [eax+17h],00h
 jnz L1004D721
 lea edx,[ebp-000000A8h]
 push edx ;ここのedx の値に注目
 push 80000001h
 push ebx
 sub esp,00000020h
 mov edi,esp
 mov ecx,00000008h
 mov esi,L101C55D8
 rep movsd
 lea ecx,[ebp-44h]
 call SUB_L1005CEE0
 mov ecx,eax
 call SUB_L1005D180 ;ここで、 第2パラメーターに edxが渡されて 0が返ってくる
 lea ecx,[ebp-44h]
 mov [ebp-000000ADh],al
 call SUB_L100AFE20
 cmp byte ptr [ebp-000000ADh],00h
 jz L1004D71B
 mov eax,[ebp-000000A8h] ;さっきの値が eax=0になっている
 push eax
 lea ecx,[ebx+10h]
 call SUB_L1005A350

SUB_L1005A350:
 push ebp
 mov ebp,esp
 sub esp,00000010h
 push ebx
 push esi
 xor eax,eax
 push edi
 mov edi,[ebp+08h] ; 第1パラメータに0が入ってるので edi=0
 mov esi,ecx
 mov [ebp-10h],eax
 mov [ebp-0Ch],eax
 mov [ebp-08h],eax
 mov eax,[edi] ; ヌルポインター参照で落ちる
 mov edx,[eax+04h]
 lea ecx,[ebp-10h]
 push ecx
 mov ecx,edi
 call edx
 mov bl,al

SUB_L1005D180:
 push ebp
 mov ebp,esp
 sub esp,00000088h
 mov eax,[L1027F060]
 xor eax,ebp
 mov [ebp-04h],eax
 mov eax,[ebp+0Ch]
 push ebx
 mov ebx,[ebp+08h]
 push esi
 mov dword ptr [ebp-7Ch],00000000h
 mov esi,ecx
 mov [ebp-00000084h],ebx
 mov [ebp-00000088h],eax
 mov dword ptr [eax],00000000h ; ここで0が代入される
 call SUB_L1002B8C0
 cmp eax,[esi+10h] ;          InterlockedCompareExchange用の 第1引数の中身が0の場合、処理がおわるので、 代入された0がそのまま使われる。
 jge L1005D1D4
 L1005D1C0:
 pop esi
 mov al,01h
 pop ebx
 mov ecx,[ebp-04h]
 xor ecx,ebp
 call SUB_L10007F5D
 mov esp,ebp
 pop ebp
 retn 0008h

こんな感じですね・ω・

まぁ、インストールの処理だけスキップすればいいので、あとはそのまま動きます。

opl17
ベースは Chrome 30.0.1566.2 Safari/537.36ですね

おすすめ

コメントを残す

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