Sto provando ad intercettare tutte le chiamate di sistema effettuate dalla mia app Android su un dispositivo non rootato.Come collegare le chiamate di sistema della mia app Android (dispositivo senza root)
Quindi ogni volta che l'app scrive/legge un file, voglio intercettare la chiamata di sistema e crittografare/decrittografare il flusso per motivi di sicurezza. La parte di crittografia non è un problema, ma come posso intercettare le chiamate di sistema?
Poiché parti dell'app sono moduli sviluppati da provider di terze parti di cui non posso modificare il codice sorgente, non c'è altro modo per assicurarsi che i dati siano archiviati in modo sicuro.
Poiché non ho accesso root, non riesco ad accedere all'indirizzo della tabella delle chiamate di sistema come descritto in here e non riesco a farlo tramite un modulo LKM.
Gradirei qualche suggerimento, grazie.
Edit:
Ok ho ottenuto il codice del modulo di collegamento Simone Margaritelli a lavorare adesso! il motivo per cui il mio codice mantenuto schiantarsi è perché ho dovuto impostare i giusti permisions di accesso alla memoria:
uint32_t page_size = getpagesize();
uint32_t entry_page_start = reloc& (~(page_size - 1));
mprotect((uint32_t *)entry_page_start, page_size, PROT_READ | PROT_WRITE);
Ho bisogno della soluzione di una domanda esattamente simile. –
@ John hai avuto qualche approccio di lavoro? –
@IndraYadav No, non l'ho fatto. Purtroppo non ho ricevuto nuovi suggerimenti che potrei provare. Potrebbe essere con un voto alto questa domanda otterrà più attenzione. –