Autore Topic: Evitare Disinstallazione Applicazione  (Letto 1863 volte)

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Evitare Disinstallazione Applicazione
« il: 16 Luglio 2012, 15:18:53 CEST »
0
Per una app che non verrà pubblicata nel market, ma sarà destinata ad uso interno, ho la necessità di prevenirne la disinstallazione.
Siete a conoscenza di qualche modo, più o meno ortodosso, per evitarlo? (in tema di sviluppo, quindi nulla che implichi il flashing del cell)
Qualsiasi contributo è ben accetto :-)
« Ultima modifica: 16 Luglio 2012, 15:33:52 CEST da Il.Socio »

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Evitare Disinstallazione Applicazione
« Risposta #1 il: 16 Luglio 2012, 15:36:54 CEST »
+1
Credo che ciò sia possibile solo avendo i permessi di root. Se hai i permessi di root puoi intallare l'app come app di sistema seguendo i seguenti comandi:

Citazione
Install an APK to /system/app with following steps.

Push APK to SD card.

$ adb push SecureSetting.apk /sdcard/ 

Enter the console and get the shell

$ adb shell

Switch to superuser. If your device is not rooted, get it rooted first. (If you don't know how to do that, just Google.)

$ su

Remount the system partition with WRITE permission.

$ mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

Cat your APK from /sdcard/ to /system/ , some guys get a fail with cp command due to cp is not supported. So use cat instead.

$ cat /sdcard/SecureSetting.apk > /system/app/SecureSetting.apk

Remout /system partition back to READ-ONLY, and exit

$ mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
$ exit

Then reboot your device, the APK should have been installed on /system/app.


Ovviamente questo lavoro va fatto su ongi singolo terminale. Se puoi questi devices non devono avere i permessi di root dovresti prima ottenere i permessi di root, installare l'app come app di sistema e quindi rimuovere i permessi di root.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:Evitare Disinstallazione Applicazione
« Risposta #2 il: 16 Luglio 2012, 15:56:53 CEST »
0
Nulla che non richieda il root?
Nel frattempo, provo ad installare qualche antivirus, o programma di security, dal market, sperando di trovarne uno che fa fronte a questa situazione...
Ammesso di trovarlo, lo step successivo sarà capire come lo fa, per poterne replicare il comportamento.
« Ultima modifica: 16 Luglio 2012, 15:58:37 CEST da Il.Socio »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Evitare Disinstallazione Applicazione
« Risposta #3 il: 16 Luglio 2012, 16:02:00 CEST »
+1
Non mi sono mai interessato all'argomento.
L'altro giorno leggendo questo post ho scoperto che da JellyBean hanno tirato via il permesso READ_LOGS e che in passato questo veniva utilizzato per fare in modo che le app non venissero disinstallate (non mi chiedere come però):

The CommonsBlog — READ_LOGS Regression

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Evitare Disinstallazione Applicazione
« Risposta #4 il: 16 Luglio 2012, 16:13:50 CEST »
0
Per una app che non verrà pubblicata nel market, ma sarà destinata ad uso interno, ho la necessità di prevenirne la disinstallazione.
Siete a conoscenza di qualche modo, più o meno ortodosso, per evitarlo? (in tema di sviluppo, quindi nulla che implichi il flashing del cell)
Qualsiasi contributo è ben accetto :-)

Se il sistema lo permettesse, un'app del genere potrebbe prendere il controllo del cellulare ...il paradiso del malware. Questo per dire che è altamente improbabile che esista un metodo "pulito" di raggiungere tale scopo.

Nel Google I/O del 2011 è stato chiesto ad un developer: "c'è un modo di usare i tablet android in kiosk mode?", che poi è qualcosa di molto simile a quanto chiedi. E' stato ufficialmente risposto che non è un modo supportato.

Di pulito c'è l'alternativa "soft" delle API per la gestione dei terminali in ambito aziendale ( Device Administration | Android Developers ) però attenzione, sono rivolte a proteggere l'app e i dati che maneggia, non ad impedire che l'app venga rimossa dal telefono.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Evitare Disinstallazione Applicazione
« Risposta #5 il: 16 Luglio 2012, 16:22:01 CEST »
0
Da quanto ne so la "soluzione" c'è e quoto bradipao... è un pò paradiso del malware.

Si tratta di avre un service che si mette in ascolto del logcat così da vedere quando viene lanciato l'intent per l'uninstall.

Poi va beh lasciamo perdere il resto (anche se lo si può immaginare), non mi sembra il luogo adatto per certe cose....  :-P

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Evitare Disinstallazione Applicazione
« Risposta #6 il: 16 Luglio 2012, 16:24:18 CEST »
0
Da quanto ne so la "soluzione" c'è e quoto bradipao... è un pò paradiso del malware.

C'era, visto che hanno appunto hanno eliminato questa cosa da JB.

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Evitare Disinstallazione Applicazione
« Risposta #7 il: 16 Luglio 2012, 16:26:02 CEST »
0
C'era, visto che hanno appunto hanno eliminato questa cosa da JB.
Ecco diciamo che in ambiente android, considerando che l'80% dei device è ancora GB... la differenza tra c'è e c'era è un pò labile.  :-(