Making android apps data-leak-safe by data flow analysis and code injection