La mia risposta presuppone che il tuo aggressore sia "abile nell'arte" di fare questo tipo di lavoro.
getting the apk
Ci vorrebbe meno tempo di quanto ti ci sia voluto per scrivere la domanda.
decompiling
Dipende un po 'dalla velocità del computer, ma dovrebbe essere dell'ordine di alcuni minuti.
finding the function to hook
Se esci dal tuo modo di provare a rendere questo non ovvio ... forse un giorno? È un po 'difficile da dire in astratto, poiché dipende molto dalle dimensioni e dalla complessità dell'app, che si tratti di una singola "funzione" o se il lavoro è sostanzialmente più coinvolto, ecc.
Basti dire che chiunque voglia prendersi il tempo sarà in grado di trovare ciò che deve essere cambiato.
compiling
Dipende un po 'dalla velocità del computer e dalla dimensione del codice di base, ma di nuovo dovrebbe essere misurato in pochi minuti.
installing
Ci vorrebbe meno tempo di quanto ti ci sia voluto per scrivere la domanda.
In this scenario how much more security could code obfuscation give?
Qualche anno fa, un ricercatore della sicurezza mi disse che usare la semplice offuscazione di ProGuard rendeva più facile fare questo tipo di attacco.
Ci sono più potenti offuscatori là fuori, incluso il "fratello maggiore" di ProGuard DexGuard. Allo stesso modo, ci sono persone che creano de-obfuscators, strumenti che portano l'offuscamento a livello di DexGuard a qualcosa di più simile a ProGuard. Ad esempio, DexGuard tenta di crittografare il maggior numero possibile della tua app; i de-obfuscator genererebbero un'edizione decifrata del codice.
Quindi, il beneficio degli offuscatori di alto livello varia, in base allo stato attuale della corsa agli armamenti tra gli sviluppatori di obfuscator e gli sviluppatori di de-obfuscator. Non posso dire con certezza dove si trova ora la corsa agli armamenti, figuriamoci quando qualcun altro legge questa risposta da anni a questa parte.
Io paragono gli offuscatori alla vecchia storia di due cacciatori nei boschi inseguiti da un orso. Se tu fossi uno dei cacciatori, non devi correre più veloce dell'orso per fuggire. Devi solo correre più veloce dell'altro cacciatore. Nel caso degli obfuscator, l'obiettivo è rendere poco attraente la tua app, facendo sì che gli attaccanti si spostino su altri bersagli potenzialmente più facili. Il problema con questo approccio è che presuppone che l'attaccante non si preoccupi della tua app in particolare, che la tua app sia solo un bersaglio tra molti. Gli attaccanti che si preoccupano di attaccare la tua app per motivi specifici non si comportano in questo modo e passeranno il tempo a craccarlo. In altre parole, correre più veloce dell'altro cacciatore presuppone che l'orso non sia incazzato con te in particolare.