안녕하세요. Simple& Happy Dev입니다.
새벽에 자기 전에 휴대폰 잠금 해제를 했는데, 인터넷 브라우저에 제가 띄운 적이 없는 화면(광고)이 나왔는데, 저번에도 비슷한 현상이 발생한 기억이 있어서 이번에 꼭 어떤 앱이 웹 브라우저에 광고를 띄우는지 찾아보려고 Bug report 실행해서 로그를 저장해두었습니다.
※Bug report 생성 방법
설정(Settings)-개발자 옵션(Developer options)-버그 보고서 작성(Submit bug report)-대화형 보고서(Interactive report)누르면 알림창에 진행되고 있는걸 확인하실 수 있습니다.
진행하는 도중에 문제를 일으킨 화면으로 가서 해당 알림창의 스크린샷(Screenshot)을 누르면 현재 화면이 저장됩니다.
또 알림창의 세부정보(Details)를 누르면 "버그 제목", "버그 요약"을 입력하실 수 있습니다.
알림창에서 진행이 완료되면, 알림창 화면을 누르면 공유할 수 있다는 메시지가 나옵니다.
이메일 또는 클라우드에 저장하면 됩니다.
※개발자 옵션 활성화 방법
설정(Settings)-휴대전화 정보(About phone)-소프트웨어정보(Software Information)-빌드번호(Build number) 항목을 7번 정도 클릭하면 활성화됩니다.
분석의 시작은 그 광고의 주소를 찾아서 로그에 존재하는지 여부였습니다.
로그를 확인해보니, 다행히 아래와 같이 Back stack에 해당 주소의 흔적을 확인하였습니다.
...
Task id #17929
* TaskRecord{e7f0c35d0 #17929 I=com.sec.android.app.sbrowser/.SBrowserLauncherActivity U=0 StackId=1 sz=1}
...
intent={act=android.intent.action.VIEW dat=https://googleads.g.doubleclick.net/aclk?sa=l&ai=CZTB1k
...
&client=ca-app-pub4273715512220857&nx=79
...aU0&adurl=https://mcertifiedcar.hyundaicapital.com/hcsfront/ms/carList%3Futm_source%3Dgoogle%26utm_medium%3Dda%26utm_campaign%3Dinfosearch_bizapp%26utm_content%3Ddiy_brand_03_oct%26_AT%3D023E0F3A010E025FCBE9 flg=0x10400000 cmp=com.sec.android.app.sbrowser/.SBrowserLauncherActivity}
...
* Hist #0: ActivityRecord{b617a81 u0 com.sec.android.app.sbrowser/.SBrowserLauncherActivity t17929}
packageName=com.sec.android.app.sbrowser processName=com.sec.android.app.sbrowser
launchedFromUid=10220 launchedFromPackage=com.lunatouch.eyefilter.pro userId=0
...
Intent { act=android.intent.action.VIEW dat=https://googleads.g.doubleclick.net/aclk?sa=l&ai=CZTB1k
...
adurl=https://mcertifiedcar.hyundaicapital.com/...}
삼성 인터넷 브라우저로 구글 ads 광고가 띄워진 것을 확인할 수 있습니다.
그리고, launchedFromUid=10220 launchedFromPackage=com.lunatouch.eyefilter.pro 라고 되어있습니다.
이는 UID가 10220인 패키지 이름이 "com.lunatouch.eyefilter.pro"인 앱으로부터 호출되었다는 것을 알 수 있습니다.
그럼, 실제 잠금해제 되면서 해당앱에서 웹 브라우저에 광고를 띄운게 맞는지 이벤트 로그를 살펴봅니다.
폰이 잠금해제가 됩니다. 음, 거의 새벽2시네요. :)
잠시 후 아래처럼 브라우저로 구글 ads 광고가 만들어지는 것을 확인할 수 있습니다.
10-17 01:57:53.817 1000 3680 4320 I am_create_activity: [0,193338709,17927,com.lunatouch.eyefilter.pro/.MB,
NULL,NULL,NULL,343965696,com.lunatouch.eyefilter.pro]
10-17 01:57:58.707 1000 3680 6368 I am_create_activity: [0,157296164,17927,com.lunatouch.eyefilter.pro/
com.google.android.gms.ads.AdActivity,NULL,NULL,NULL,
276824064,com.lunatouch.eyefilter.pro]
10-17 01:57:58.815 1000 3680 6368 I am_create_activity: [0,162907047,17928,com.sec.android.app.sbrowser/
.SBrowserLauncherActivity,android.intent.action.VIEW,NULL,
https://googleads.g.doubleclick.net/...,268435456,
com.lunatouch.eyefilter.pro]
10-17 01:57:58.981 1000 3680 5436 I am_create_activity: [0,209693346,17927,com.lunatouch.eyefilter.pro/
com.google.android.gms.ads.AdActivity,
NULL,NULL,NULL,281018368,com.lunatouch.eyefilter.pro]
10-17 01:57:59.364 1000 3680 6368 I am_create_activity: [0,221988778,17929,com.sec.android.app.sbrowser/
.SBrowserLauncherActivity,android.intent.action.VIEW,NULL,
https://googleads.g.doubleclick.net/...,268435456,
com.lunatouch.eyefilter.pro]
10-17 01:57:59.516 1000 3680 5486 I am_create_activity: [0,166871407,17927,com.lunatouch.eyefilter.pro/
com.google.android.gms.ads.AdActivity
,NULL,NULL,NULL,281018368,com.lunatouch.eyefilter.pro]
10-17 01:57:59.614 1000 3680 4320 I am_create_activity: [0,190937729,17929,com.sec.android.app.sbrowser/
.SBrowserLauncherActivity,android.intent.action.VIEW,NULL,
https://googleads.g.doubleclick.net/...,272629760,
com.lunatouch.eyefilter.pro]
그럼, 여기서 패키지 이름이 com.lunatouch.eyefilter.pro인 앱의 정보를 확인해봅니다.
위에서 Back stack 정보 중에 UID 10220 에서 브라우저를 호출(launchedFromUid=10220)했다고 말씀드렸습니다.
아래에 userId=10220이 com.lunatouch.eyefilter.pro라는 것을 확인할 수 있습니다.
현재 설치된 버전은 2.2.1입니다. 그리고, 앱에서 인터넷 접근 권한도 가지고 있습니다.
userId=10220
pkg=Package{8fefac9 com.lunatouch.eyefilter.pro}
codePath=/data/app/com.lunatouch.eyefilter.pro-6hXKiw1cg0E0Xn1IsjvHAw==
resourcePath=/data/app/com.lunatouch.eyefilter.pro-6hXKiw1cg0E0Xn1IsjvHAw==
legacyNativeLibraryDir=/data/app/com.lunatouch.eyefilter.pro-6hXKiw1cg0E0Xn1IsjvHAw==/lib
primaryCpuAbi=null
secondaryCpuAbi=null
dexMode=success
dexTimeStamp=2018-08-18 03:27:07
versionCode=20180528 minSdk=17 targetSdk=25
versionName=2.2.1
splits=[base]
apkSigningVersion=2
applicationInfo=ApplicationInfo{2e3581a com.lunatouch.eyefilter.pro}
flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
privateFlags=[ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION ]
dataDir=/data/user/0/com.lunatouch.eyefilter.pro
supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
timeStamp=2018-05-29 11:43:46
firstInstallTime=2017-11-22 08:07:35
lastUpdateTime=2018-05-29 11:45:43
installerPackageName=com.android.vending
signatures=PackageSignatures{57035ce [62abd161]}
installPermissionsFixed=true installStatus=1
pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
install permissions:
android.permission.SYSTEM_ALERT_WINDOW: granted=true
android.permission.RECEIVE_BOOT_COMPLETED: granted=true
android.permission.EXPAND_STATUS_BAR: granted=true
android.permission.GET_TASKS: granted=true
android.permission.INTERNET: granted=true
android.permission.FLASHLIGHT: granted=true
android.permission.ACCESS_NETWORK_STATE: granted=true
android.permission.DISABLE_KEYGUARD: granted=true
android.permission.VIBRATE: granted=true
com.android.launcher.permission.INSTALL_SHORTCUT: granted=true
android.permission.WAKE_LOCK: granted=true
User 0: ceDataInode=958824 installed=true hidden=false suspended=false stopped=false notLaunched=false enabled=0 instant=false
gids=[3003]
runtime permissions:
android.permission.CAMERA: granted=true
User 150: ceDataInode=0 installed=false hidden=false suspended=false stopped=false notLaunched=false enabled=0 instant=false
gids=[3003]
어떤 앱인지 확인할려면, 패키지 이름을 구글플레이 검색창에 입력하면 바로 나옵니다.
검색해보니 "아이필터 PRO - 블루라이트 차단"이라는 앱이었습니다.
이미 버그가 보고되었는지, 아래와 같은 공지가 올라와 있었습니다.
그런데, 구글 플레이에 올라온 최신 버전이 현재 2.2.1인데, 위의 패키지정보에서 버전(versionName=2.2.1)과 동일한 것으로 보아서 공지와 달리 최신버전에도 계속 문제가 발생하는 것으로 보입니다.
아무래도 이 앱은 재수정하거나 수정사항을 Rollback 해서 새로 apk를 등록해야 할 것 같습니다.
결론
갑자기 이상한 광고가 웹 브라우저에 나온다는 생각이 들면, 귀찮더라도 로그를 떠서 여기서 확인한 것처럼 원인이 되는 앱을 찾을 수 있으실 겁니다.
이상으로 웹 브라우저에 광고 띄우는 앱 찾는 방법에 대해서 알아보았습니다.
조금이나마 도움이 되셨으면 아래 ♡공감 버튼을 눌러주세요.
(If this article helps you, please press the ♡button below.)