Como descobrir qual aplicativo está tentando abrir sites de spam?

11

Recentemente, comprei um novo smartphone Android. Depois de configurá-lo e carregar meus contatos nele, pensei que seria isso.

Agora, depois de alguns dias, toda vez que desbloqueio o telefone, leva alguns segundos para abrir o navegador padrão e abrir algum site de spam. Eu tentei ver o que estava causando isso. Eu removi todos os aplicativos em que não sabia que podia confiar, mas o problema persistiu. Depois de tentar resolvê-lo por algum tempo, desisti e redefinii o telefone para o padrão de fábrica. Agora, depois de redefinir o padrão, ele foi executado sem problemas por aproximadamente uma semana antes do problema reaparecer.

Tentei desinstalar alguns aplicativos para ver se eles deveriam causar isso, mas nada mudou depois disso. No entanto, notei que, se eu desligar o wifi, ele nem tentará abrir o navegador (não tentei dados móveis, pois não tenho um pacote). Isso me faz sentir que pode estar relacionado a algo na rede, mas isso não explicaria por que apenas esse telefone teria o problema quando houver pelo menos seis telefones Android nessa mesma rede.

Espero que haja alguém que possa me ajudar a encontrar a causa desse problema e me ajudar a resolvê-lo.

TL; DR Ao desbloquear meu telefone, ele abre o navegador e tenta abrir um site de spam. Mas só o faz enquanto estiver conectado ao wifi.

Coisas que eu tentei até agora:

  • Reinicialização de fábrica (ajudou apenas por um tempo limitado)
  • Limpando o cache do navegador e todos os dados relacionados
  • Removendo qualquer aplicativo que eu não conheço confiável
  • Tentativa de encontrar o que o desencadeia (parece que é necessário algum tipo de conexão com a internet ??)

O dispositivo é o Doogee Shoot 1. Quanto ao navegador, o padrão é definido como o navegador Android, mas se eu alterar o padrão, ele também usará o Chrome. Parece realmente usar apenas o navegador que está definido como padrão.

maam27
fonte
@beeshyams Eu tentei limpar os dados do navegador algumas vezes, e se limpar isso não aconteceu, a redefinição de fábrica deveria ter resolvido os cookies, mas ela simplesmente voltou algum tempo depois.
maam27
3
@beeshyams o malware não necessariamente o transformou em um aplicativo de sistema (por exemplo, isso não explica por que demorou uma semana após a redefinição de fábrica para o problema aparecer novamente). Eu procurava aplicativos com ouvintes na transmissão de desbloqueio de tela para restringir os candidatos (consulte: detectar evento de desbloqueio do telefone , o melhor candidato parece ser Intent.ACTION_USER_PRESENT).
Izzy
@izzy: Ponto válido. Obrigado. Isso não significa que ele precisará desinstalar todos os aplicativos do usuário como uma maneira fácil de isolar após o backup dos dados?
Beeshyams
11
@beeshyams Eu não disse "desinstalar" - escrevi um cheque para aplicativos que tinham esse ouvinte estabelecido e, em seguida, lide primeiro com eles explicitamente. Dê uma olhada em Informações sobre aplicativos ( Playstore / FDroid / captura de tela , marque "Receptores" aqui).
Izzy
11
@ Izzy, seria possível ir a um bate-papo e ver se conseguimos encontrar o problema fazendo isso? uma vez que também iria manter os comentários um pouco menor
maam27

Respostas:

19

Com base na solução de problemas que o OP fez seguindo meus conselhos, o culpado parecia ser um aplicativo do sistema como um malware chamado System Locker com o nome do pacote com.tihomobi.lockframe.syslocker . O problema parece ser o resultado de uma atualização do sistema, para alguns usuários do dispositivo.

Como de costume em um aplicativo do sistema, se você usar a opção Desativar em Configurações → Aplicativos → Aplicativos do sistema / Todos os aplicativos → o culpado, que por todos os meios, desative esse aplicativo, pare-o ou reinicie o Android. O problema deve ser resolvido até que você reinicie o dispositivo de fábrica.


Solução de problemas nº 1

Aqui está como eu descobri o culpado. A ferramenta Android embutida dumpsys, entre outros, mostra qual aplicativo foi chamado por outro aplicativo. O chamador é chamado de pacote de chamadas.

Desde que você tenha configurado e êxito no dispositivo PC e Android, faça o seguinte:

  1. mantenha o dispositivo conectado ao PC
  2. reinicie o dispositivo ou force a parada desse aplicativo de navegador padrão
  3. deixe que o malware faça seu trabalho, ou seja, que o navegador seja iniciado automaticamente
  4. assim que o navegador for iniciado, não faça nada com o dispositivo fisicamente, mas execute o seguinte comando adb no PC:

    adb shell dumpsys activity activities
    

Aqui está a saída do dispositivo do OP :

ATIVIDADES DO GERENTE DE ATIVIDADES (atividades de atividade de dumpsys)
Exibir # 0 (atividades de cima para baixo):
  Pilha # 1:
    ID da tarefa # 2
    * TaskRecord {8190ba1 # 2 A = android.task.browser U = 0 sz = 1}
      userId = 0 eficazUid = 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.roid navegador cmp = com.android.browser / .BrowserActivity}
      realActivity = com.android.browser / .BrowserActivity
...
...
Hist # 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}
          Intenção {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 cmp = com.android.browser / .BrowserActivity}

Na saída::

  • com.android.browser é o nome do pacote do navegador Android padrão no seu dispositivo
  • com.tihomobi.lockframe.syslocker é o nome do pacote do aplicativo de malware e é chamado pacote de chamada.

Se você encontrou o malware, evite a próxima solução de problemas e pule para o cabeçalho Nuke the malware .


Solução de problemas nº 2

(Em resposta a uma duplicata postada aqui - o aplicativo culpado era o Farming Simulator 18 )

Em determinadas circunstâncias, a solução de problemas acima mencionada pode não ser capaz de ajudar, como quando chamar o nome do pacote é o nome do pacote do navegador mostrado na saída do dumpsys. Nesse caso, prefira . Configure o logcat assim:

adb logcat -v long, descritivo | grep "dat = http" # você também pode receber qualquer coisa do URL. É puramente com você.
adb logcat -v long, descritivo> logcat.txt # alternativa; se o grep não estiver instalado no seu sistema operacional. Você precisa pesquisar nesse arquivo agora.

Agora desbloqueie o dispositivo e permita que o navegador com esse URL seja iniciado automaticamente. Além disso, pressione Ctrlcom Cse estiver salvando a saída em um arquivo.

A saída que estamos procurando seria semelhante a:

[11-27 16: 03: 22.592 3499: 6536 I / ActivityManager]
INICIAR u0 {act = android.intent.action.VIEW dat = https: //livemobilesearch.com / ... flg = 0x10000000 pkg = org.mozilla.firefox cmp = org.mozilla.firefox / .App} 

do uid 10021
...

[11-27 16: 03: 22.647 3499: 15238 I / ActivityManager]
INICIAR u0 {act = android.intent.action.VIEW dat = https: //livemobilesearch.com / ... pkg = org.mozilla.firefox cmp = org.mozilla.firefox / org.mozilla.gecko.BrowserApp} 

do uid 10331

Veja os dois UIDs destacados 10021 e 10331. Um deles (eles seriam diferentes no seu caso) é para o aplicativo de navegador iniciado e um deles é o aplicativo de malware que solicita esse URL. Então, como encontrar o que é o quê?

Se você tiver acesso root , basta:

shell adb su -c 'ls -l / data / data / | grep u0_a 21 '
shell adb su -c 'ls -l / data / data / | grep u0_a 331 '

A saída seria como:

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

Se você não tiver acesso root , faça:

adb shell dumpsys package > packages_dump.txt

Agora procure a linha com seus UIDs, como "userId = 10021" e "userId = 10331". A linha acima da linha pesquisada forneceria o nome do pacote e pode ser algo como isto:

Pacote [ com.android.chrome ] (172ca1a):
    userId = 10021
...
Pacote [ com.tihomobi.lockframe.syslocker ] (172ca1a):
    userId = 10331

Os dois nomes de pacotes são com.android.chrome (para navegador Chrome - certamente não é um malware) e com.tihomobi.lockframe.syslocker . Para saber o nome do aplicativo a partir do nome do pacote, use minha resposta aqui .


Nuke the malware

Agora que você conhece o culpado, pode desabilitá-lo através da GUI, conforme indicado acima. Se isso não for possível, faça:

shell adb pm desativar usuário PKG_NAME # desativa o aplicativo
desinstalação adb shell pm --user 0 PKG_NAME # remove o aplicativo para o usuário principal
shell adb sou forçar a parada PKG_NAME # apenas forçar a parada do aplicativo

Substitua PKG_NAME pelo nome do pacote do malware que você anotou na solução de problemas acima.

Isso deve fazer o truque. Além disso, você também pode remover o aplicativo de malware permanentemente para todos os usuários, mas isso requer acesso root.

Senhor do Fogo
fonte
11
Obrigado por assumir o bate-papo onde eu tinha que sair - e uma ótima análise, +1! Aprendi uma coisa nova sobre dumpsysessa maneira :)
Izzy
@ Izzy, estou feliz que você gostou. :)
Firelord
+1 Agradável escavação 👍
Irfan Latif
@IrfanLatif thanks.
Firelord
0

Um pouco mais de informação necessária para resolver o problema, apesar de tentar encontrar os possíveis problemas. Qual navegador? Qual modelo de telefone? Foi comprado de fontes oficiais?

Em teoria, a redefinição de fábrica deveria ter ajudado com o problema. Como não aconteceu, há mais alguns lugares onde você pode obter algum tipo de adware. Primeiro de tudo, você disse que desinstalou alguns aplicativos? Quais aplicativos em particular? Apareceu após a instalação de um software específico?

É o seu wifi ou você está usando um público? Se for pública, geralmente as empresas enviam solicitações de instalação de aplicativos e anúncios por wifi com relativa frequência. Se você mora em / perto de uma área movimentada, não ficaria surpreso se isso fosse apenas alguém usando para anunciar seu produto. Tente usar o wifi diferente ou o wifi de outra pessoa, veja se o problema persiste. Se não. É um problema com a rede que você está usando, o que significa que você provavelmente precisará mudar. Você pode tentar entrar em contato com seu provedor para ajudá-lo com isso (tive um problema como esse antes, meus provedores de ISP me ajudaram após entrar em contato com o suporte). Além disso, veja se a rede móvel mostra o mesmo problema. Caso contrário, sua opção seria alterar a rede que você está usando no momento.

Josh Ross
fonte
Os aplicativos que eu quis dizer foram todos instalados a partir da loja de aplicativos, mas eu percebo que nem todos eles podem estar seguros o tempo todo e, às vezes, as coisas ultrapassam a segurança dele. então tentei remover alguns que não sabia se eram completamente seguros ou não. quanto à internet, é uma rede privada e eu não moro em uma área movimentada. Mas como eu estou usando um cartão pré-pago, tentar os dados móveis fica caro. Eu poderia tentar algo usando o PC como um hotspot para ver se isso tem alguma diferença diretamente do wifi.
maam27