en el pasado expiré con las herramientas de API disponibles de Google, como las de Drive y Youtube.
La forma en que funciona es después de comprar una cuenta de deveopler, se le conceden muchos de los servicios de Google a través de api's, que para usar, necesita una clave uniuqe api que esté vinculada a su cuenta y adjuntada a cada una de ellas. la url de solicitudes.
Por ejemplo:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=some.playlist.id&key={YOUR_API_KEY}
Al principio, pensé que era una buena idea usar la tecla - > vinculación de cuenta, por ejemplo, si una clave api pasa por alto las reglas, Google simplemente puede prohibir la cuenta.
Pero luego descubrí que es muy fácil aplicar ingeniería inversa a la clave de autorización en las aplicaciones de Android / iOS usando herramientas MITM como Mitmproxy. Usando ese enfoque, logré encontrar la aplicación de la API de la aplicación oficial de Youtube y muchas otras aplicaciones que usan esos servicios, así que mi pregunta es si Google no se dispara a sí mismo con la tecla de autorización. ¿de esa manera? Como las aplicaciones aún pueden permanecer en el anonimato usando sus servicios, ¡e incluso pretenden ser otras cuentas! .
¿No es una idea mejor compilar sdk, que recibirá la clave de la cuenta y la usará para generar localmente una clave única para cada solicitud? Por supuesto, esto también podría tener ingeniería inversa, pero será mucho más difícil ...