FlashPlayer に対応した動画プレイヤーでフラッシュを再生したときに出る謎の画像について その3

解析してみました。
どうやら、FlashのDLL内部で 1回目と5回目に呼ばれた GetSystemTime をフックしてやれば回避できるみたいなのですが、コードが複雑になるので、ホワイトリスト関数をいじって全て許可するようにしてみました。

SUB_L102E9B60:
push ebp
  mov ebp,esp
  sub esp,0000000Ch
  push esi
  mov esi,ecx
  lea ecx,[esi+00000B44h]
  call SUB_L103109EB
  test al,al
  jnz L102E9CE1
  mov ecx,[esi+20h]
  push ebx
  mov ebx,[ebp+08h]
  push ebx
  push esi
  call SUB_L101C2A2A
  test al,al
  jz L102E9B9E ; ブロックするか判定処理
  push ebx
  mov ecx,esi
  call SUB_L102E9530 
// https://www.macromedia.com/support/flashplayer/sys/ 表示処理
  pop ebx
  pop esi
  mov esp,ebp
  pop ebp
  retn 0014h
;------------------------------------------------------------------------------
L102E9B9E:
  push edi
  push [ebp+14h]
  lea edi,[esi+000005C0h]
  mov byte ptr [esi+00000259h],00h
  push [ebp+0Ch]
  mov ecx,edi
  push ebx
  call SUB_L10314935
  mov dword ptr [esi+0000088Ch],07FFFFFFh
  mov dword ptr [esi+00000888h],07FFFFFFh
  mov dword ptr [esi+00000884h],07FFFFFFh
  mov dword ptr [esi+00000880h],07FFFFFFh
  mov eax,[edi]
        :

SUB_L101C2A2A:
push ebp
  mov ebp,esp
  sub esp,0000000Ch
  push esi
  mov esi,ecx
  cmp byte ptr [esi+00000228h],00h
  jz L101C2ADF
  push ebx
  push SSZ10E3C028_about_blank
  push [ebp+0Ch]
  call SUB_L101EFB6F
       :

x64版も似たような感じ。x64版でも short Jump や セグメント内コールの場合は x86とコード同じなのね・ω・

30394930  mov rsi, rdx
30394933  call sub_303C5B38
30394938  test al, al
3039493A  jnz loc_30394B5C
30394940  mov rcx, [rbx+40h]
30394944  mov r8, rsi
30394947  mov rdx, rbx
3039494A  call sub_3023441C
3039494F  mov rdx, rsi
30394952  test al, al

30394954  jz short loc_30394963; ブロックするか判定処理

30394956  mov rcx, rbx
30394959  call loc_30394070
3039495E  jmp loc_30394B5C
30394963 ; ---------------------------------------------------------------------------
30394963
30394963 loc_30394963:   ; CODE XREF: sub_30394910+44
30394963  movzx r9d, [rsp+0A8h+arg_20]
3039496C  mov r8d, ebp
3039496F  mov [rsp+0A8h+arg_8], rdi
30394977  lea rdi, [rbx+8C0h]
3039497E  mov rcx, rdi
30394981  mov byte ptr [rbx+3F1h], 0
30394988  call sub_303CA694
3039498D  mov dword ptr [rbx+0D8Ch], 7FFFFFFh
30394997  mov dword ptr [rbx+0D88h], 7FFFFFFh

おすすめ

コメントを残す

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