トラブルシューティングのOPに基づいて私のアドバイス以下、犯人は、システムアプリであるように思われなかったマルウェアなどという名前のシステムロッカー
、パッケージ名を持つcom.tihomobi.lockframe.syslocker。この問題は、デバイスの一部のユーザーによるシステムアップデートの結果であると思われます。
システムアプリの場合と同様に、[設定]→[アプリ]→[システムアプリ/すべてのアプリ] →原因の[ 無効化 ]オプションを使用する場合は、必ずそのアプリを無効にして強制停止するか、Androidを再起動してください。この問題は、デバイスを出荷時設定にリセットするまで解決されます。
トラブルシューティング#1
ここに私が犯人を見つけた方法があります。組み込みのAndroidツールであるdumpsysは、他のどのアプリがどのアプリを呼び出したかを表示します。呼び出し元は、呼び出し元パッケージと呼ばれます。
PCおよびAndroidデバイスでadbとusb-debuggingを正常にセットアップした場合は、以下を実行します。
- デバイスをPCに接続したままにします
- デバイスを再起動するか、そのデフォルトのブラウザーアプリを強制停止します
- マルウェアが機能するようにします。つまり、ブラウザを自動的に起動します
ブラウザが起動したらすぐに、物理的にデバイスを操作せずに、PCで次のadbコマンドを実行します。
adb shell dumpsys activity activities
OPのデバイスからの出力は次のとおりです。
ACTIVITY MANAGER ACTIVITIES(dumpsysアクティビティアクティビティ)
ディスプレイ#0(上から下へのアクティビティ):
スタック#1:
タスクID#2
* TaskRecord {8190ba1#2 A = android.task.browser U = 0 sz = 1}
userId = 0 effectiveUid = u0a64 mCallingUid = u0a26 mCallingPackage = com.tihomobi.lockframe.syslocker
affinity = android.task.browser
intent = {act = android.intent.action.VIEW dat = http://im.apostback.com/click.php?c = 362&key = 9wl83884sg67y1acw3z56z90&s4 = 8%2FdNwcNuQFEjjaucho5IqA%3D%3D flg = 0x10000000 pkg = com.android.android。ブラウザcmp = com.android.browser / .BrowserActivity}
realActivity = com.android.browser / .BrowserActivity
...
...
履歴#0:ActivityRecord {66cd59b u0 com.android.browser / .BrowserActivity t2}
packageName = com.android.browser processName = com.android.browser
launchedFromUid = 10026 launchedFromPackage = com.tihomobi.lockframe.syslockerのuserId = 0
app = ProcessRecord {5ad1810 4337:com.android.browser / u0a64}
インテント{act = android.intent.action.VIEW dat = http://im.apostback.com/click.php?c=362&key=9wl83884sg67y1acw3z56z90&s4=8%2FdNwcNuQFEjjaucho5IqA%3D%3D flg = 0x10000000 pkg = com.android.browser cmp = com.android.browser / .BrowserActivity}
出力では::
- com.android.browserは、デバイスの標準の Androidブラウザーのパッケージ名です。
- com.tihomobi.lockframe.syslockerはマルウェアアプリのパッケージ名であり、呼び出しパッケージと呼ばれます。
マルウェアが見つかった場合は、次のトラブルシューティングを避け、見出し「Nuke theマルウェア」に進んでください。
トラブルシューティング#2
(ここに掲載された重複に対応して-犯人のアプリはFarming Simulator 18でした)
特定の状況では、前述のトラブルシューティングが役に立たない場合があります。たとえば、パッケージ名を呼び出すと、dumpsysの出力に表示されるブラウザ自体のパッケージ名になります。その場合は、logcatを使用してください。次のようにlogcatをセットアップします。
adb logcat -v long、descriptive | grep "dat = http"#URLから何でもgrepできます。それは完全にあなた次第です。
adb logcat -v long、descriptive> logcat.txt#代替; grepがOSにインストールされていない場合。ここでそのファイルを検索する必要があります。
次に、デバイスのロックを解除し、そのURLのブラウザを自動的に起動します。また、出力をファイルに保存する場合は、Ctrlwithを押しCます。
私たちが求めている出力は、次のようになります。
[11-27 16:03:22.592 3499:6536 I / ActivityManager]
START u0 {act = android.intent.action.VIEW dat = https://livemobilesearch.com / ... flg = 0x10000000 pkg = org.mozilla.firefox cmp = org.mozilla.firefox / .App}
uid 10021
から
...
[11-27 16:03:22.647 3499:15238 I / ActivityManager]
開始u0 {act = android.intent.action.VIEW dat = https://livemobilesearch.com / ... pkg = org.mozilla.firefox cmp = org.mozilla.firefox / org.mozilla.gecko.BrowserApp}
uid 10331
から
強調表示されている2つのUID 10021と10331を参照してください。そのうちの1つ(場合によっては異なります)は、起動されたブラウザーアプリ用で、1つはそのURLを要求するマルウェアアプリです。それで、何が何であるかを見つける方法は?
rootアクセス権がある場合は、次のようにします。
adb shell su -c 'ls -l / data / data / | grep u0_a 21 '
adb shell su -c 'ls -l / data / data / | grep u0_a 331 '
出力は次のようになります:
drwx ------ 5 u0_a21 u0_a21 4096 2018-01-01 10:31 com.android.chrome
drwx ------ 5 u0_a331 u0_a331 4096 2018-01-01 10:31 com.tihomobi.lockframe.syslocker
rootアクセス権がない場合は、次のようにします。
adb shell dumpsys package > packages_dump.txt
次に、「userId = 10021」や「userId = 10331」などのUIDを含む行を検索します。検索された行の上の行はパッケージ名を示し、次のようになります。
パッケージ[ com.android.chrome ](172ca1a):
userId = 10021
...
パッケージ[ com.tihomobi.lockframe.syslocker ](172ca1a):
userId = 10331
2つのパッケージ名は、com.android.chrome(Chromeブラウザーの場合-マルウェアではない)とcom.tihomobi.lockframe.syslockerです。パッケージ名からアプリの名前を知るには、ここで私の答えを使用してください。
核兵器
犯人がわかったので、上記のようにGUIを使用して無効にすることができます。それが不可能な場合は、次のようにします。
adb shell pm disable-user PKG_NAME#アプリを無効にします
adb shell pm uninstall --user 0 PKG_NAME#プライマリユーザーのアプリを削除します
adb shell am force-stop PKG_NAME#アプリの強制停止のみ
PKG_NAMEを、上記のトラブルシューティングでメモしたマルウェアのパッケージ名に置き換えます。
これでうまくいくはずです。さらに、すべてのユーザーに対してマルウェアアプリを完全に削除することも検討できますが、これにはルートアクセスが必要です。