Upgrade to Pro — share decks privately, control downloads, hide ads and more …

パーミッションを許可してもらお/security_update_history

 パーミッションを許可してもらお/security_update_history

Yamaton

July 05, 2024
Tweet

More Decks by Yamaton

Other Decks in Programming

Transcript

  1. W indow M anager で addView val view = LayoutInflater.from(context:

    this). inflate(R.layout.layout_overlay, root: null) val params = WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, PixelFormat.TRANSPARENT ) val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager windowManager.addView(view, params)
  2. TYPE_STATUS_BAR TYPE_SEARCH_BAR TYPE_SYSTEM_ALERT TYPE_KEYGUARD TYPE_SYSTEM_DIALOG TYPE_KEYGUARD_DIALOG TYPE_INPUT_METHOD TYPE_INPUT_METHOD_DIALOG TYPE_WALLPAPER TYPE_STATUS_BAR_PANEL

    TYPE_SECURE_SYSTEM_OVERLAY TYPE_DRAG TYPE_STATUS_BAR_SUB_PANEL TYPE_POINTER TYPE_NAVIGATION_BAR TYPE_VOLUME_OVERLAY TYPE_BOOT_PROGRESS TYPE_INPUT_CONSUMER TYPE_NAVIGATION_BAR_PANEL TYPE_DISPLAY_OVERLAY TYPE_MAGNIFICATION_OVERLAY TYPE_PRIVATE_PRESENTATION TYPE_VOICE_INTERACTION TYPE_ACCESSIBILITY_OVERLAY TYPE_VOICE_INTERACTION_STARTING TYPE_DOCK_DIVIDER TYPE_QS_DIALOG TYPE_SCREENSHOT TYPE_PRESENTATION TYPE_APPLICATION_OVERLAY TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY TYPE_NOTIFICATION_SHADE TYPE_STATUS_BAR_ADDITIONAL TYPE_SYSTEM_DIALOG, TYPE_APPLICATION_ABOVE_SUB_PANEL, TYPE_APPLICATION_MEDIA_OVERLAY, TYPE_APPLICATION_ATTACHED_DIALOG, TYPE_APPLICATION_SUB_PANEL, TYPE_APPLICATION_MEDIA, TYPE_APPLICATION_PANEL, TYPE_DRAWN_APPLICATION, TYPE_APPLICATION_STARTING, TYPE_APPLICATION, TYPE_BASE_APPLICATION, Application windows 4階層 Sub-windows 6階層 System windows 32階層
  3. W indow M anager で addView val view = LayoutInflater.from(context:

    this). inflate(R.layout.layout_overlay, root: null) val params = WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, PixelFormat.TRANSPARENT ) val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager windowManager.addView(view, params)
  4. これは過去のおはなし • Android 6 ◦ TYPE_SYSTEM_ALERTの明⽰的な許可(設定画⾯を開いて) が必要になりました • Android 7

    ◦ TYPE_SYSTEM_ALERT使⽤制限 ◦ TYPE_APPLICATION_OVERLAYの仮導⼊ ▪ TYPE_SYSTEM_ALERTよりも下のレイヤー • Android 8 ◦ TYPE_APPLICATION_OVERLAYが正式に導⼊ ▪ タップジャッキングはこの変更で完全に終了!!! • でもまだTYPE_APPLICATION_OVERLAYが残ってる!!!!!!!
  5. これは過去のおはなし • Android 6 ◦ TYPE_SYSTEM_ALERTの明⽰的な許可(設定画⾯を開いて) が必要になりました • Android 7

    ◦ TYPE_SYSTEM_ALERT使⽤制限 ◦ TYPE_APPLICATION_OVERLAYの仮導⼊ ▪ TYPE_SYSTEM_ALERTよりも下のレイヤー • Android 8 ◦ TYPE_APPLICATION_OVERLAYが正式に導⼊ ▪ タップジャッキングはこの変更で完全に終了!!! • でもまだTYPE_APPLICATION_OVERLAYが残ってる!!!!!!!
  6. W indow M anager で addView val view = LayoutInflater.from(context:

    this). inflate(R.layout.layout_overlay, root: null) val params = WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, PixelFormat.TRANSPARENT ) val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager windowManager.addView(view, params)
  7. これは過去のおはなし • Android 6 ◦ TYPE_SYSTEM_ALERTの明⽰的な許可(設定画⾯を開いて) が必要になりました • Android 7

    ◦ TYPE_SYSTEM_ALERT使⽤制限 ◦ TYPE_APPLICATION_OVERLAYの仮導⼊ ▪ TYPE_SYSTEM_ALERTよりも下のレイヤー • Android 8 ◦ TYPE_APPLICATION_OVERLAYが正式に導⼊ ▪ タップジャッキングはこの変更で完全に終了!!! • でもまだTYPE_APPLICATION_OVERLAYが残ってる!!!!!!!
  8. TYPE_STATUS_BAR TYPE_SEARCH_BAR TYPE_SYSTEM_ALERT TYPE_KEYGUARD TYPE_SYSTEM_DIALOG TYPE_KEYGUARD_DIALOG TYPE_INPUT_METHOD TYPE_INPUT_METHOD_DIALOG TYPE_WALLPAPER TYPE_STATUS_BAR_PANEL

    TYPE_SECURE_SYSTEM_OVERLAY TYPE_DRAG TYPE_STATUS_BAR_SUB_PANEL TYPE_POINTER TYPE_NAVIGATION_BAR TYPE_VOLUME_OVERLAY TYPE_BOOT_PROGRESS TYPE_INPUT_CONSUMER TYPE_NAVIGATION_BAR_PANEL TYPE_DISPLAY_OVERLAY TYPE_MAGNIFICATION_OVERLAY TYPE_PRIVATE_PRESENTATION TYPE_VOICE_INTERACTION TYPE_ACCESSIBILITY_OVERLAY TYPE_VOICE_INTERACTION_STARTING TYPE_DOCK_DIVIDER TYPE_QS_DIALOG TYPE_SCREENSHOT TYPE_PRESENTATION TYPE_APPLICATION_OVERLAY TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY TYPE_NOTIFICATION_SHADE TYPE_STATUS_BAR_ADDITIONAL TYPE_SYSTEM_DIALOG, TYPE_APPLICATION_ABOVE_SUB_PANEL, TYPE_APPLICATION_MEDIA_OVERLAY, TYPE_APPLICATION_ATTACHED_DIALOG, TYPE_APPLICATION_SUB_PANEL, TYPE_APPLICATION_MEDIA, TYPE_APPLICATION_PANEL, TYPE_DRAWN_APPLICATION, TYPE_APPLICATION_STARTING, TYPE_APPLICATION, TYPE_BASE_APPLICATION, Application windows 4階層 Sub-windows 6階層 System windows 32階層 システムダイアログ TYPE_SYSTEM_ALERT TYPE_APPLICATION_OVERLAY
  9. これは過去のおはなし • Android 6 ◦ TYPE_SYSTEM_ALERTの明⽰的な許可(設定画⾯を開いて) が必要になりました • Android 7

    ◦ TYPE_SYSTEM_ALERT使⽤制限 ◦ TYPE_APPLICATION_OVERLAYの仮導⼊ ▪ TYPE_SYSTEM_ALERTよりも下のレイヤー • Android 8 ◦ TYPE_APPLICATION_OVERLAYが正式に導⼊ ▪ タップジャッキングはこの変更で完全に終了!!! • でもまだTYPE_APPLICATION_OVERLAYが残ってる!!!!!!!
  10. これは過去のおはなし • Android 6 ◦ TYPE_SYSTEM_ALERTの明⽰的な許可(設定画⾯を開いて) が必要になりました • Android 7

    ◦ TYPE_SYSTEM_ALERT使⽤制限 ◦ TYPE_APPLICATION_OVERLAYの仮導⼊ ▪ TYPE_SYSTEM_ALERTよりも下のレイヤー • Android 8 ◦ TYPE_APPLICATION_OVERLAYが正式に導⼊ ▪ タップジャッキングはこの変更で完全に終了!!! • でもまだTYPE_APPLICATION_OVERLAYが残ってる!!!!!!! ForegroundServiceを起動して Notificationエリアに 起動中の旨を表⽰が必須に! ベースにしているウィンドウが GONE / INVISIBLEだと タッチイベントを透過できない
  11. パーミッションを 許可してもらお STORES 決済 Android Yamaton / Kei Yamamoto Android

    OSの バージョンアップで 何が対策されたの かな?