Páginas

19 junio, 2017

Generando actividades falsas en Strava

En esta entrada mostraré una sencilla técnica en la que podremos cambiar el tipo de dispositivo con el que se registró una determinada actividad en Strava, de modo que "engañaríamos" a la App haciendo creer que cierta actividad se registró con un dispositivo smartphone cuando en realidad se hizo con otro tipo de dispositivo, por ejemplo un GPS de Garmin, quién sea usuario de esta App sabrá a lo que me estoy refiriendo. Así como también la posibilidad de cambiar la fecha y otros posíbles parámetros.

Por defecto en Strava cuando realizamos alguna actividad a través de su App Strava este da la opción de poder publicar dicha actividad nada más terminarla. Esta actividad se publica en los tiempos, fecha/hora que se realizaron, así como el tipo de dispositivo en el que fue registrada.

Tiene la opción de poder subir un fichero .gpx de algún dispositivo GPS Garmin estos dispositivos establecen unos metadatos que definen exactamente el tipo de dispositivo, ya sea Garmin un fichero GPX sin ningún metadato establecido, etc.

No sería fácil entonces engañar a Strava subiendo actividades falsas, modificando la fecha/hora, velocidades, etc. Ya que igualmente podremos ver como el tipo de dispositivo sería un fichero .gpx y no un dispositivo como un smartphone que use la App Strava. Por lo tanto sería poco creíble una actividad que sea todo un logro subida directamente desde un fichero .gpx.
¿Pero que pasaría si se pudiese modificar cualquier parámetro y a su vez que las actividades se registren y publiquen a través del dispositivo móvil, pareciendo que dicha actividad fue subida de forma pública a través de la App de Strava?.

Una actividad registrada desde un dispositivo Garmin, abriendo el fichero gpx original en Notepad++ vemos que los datos se establecen en formato XML y la etiquetas de referencias para ficheros GPX son de estándar. la etiqueta "gpx creator=" será la que nos interesa para modificar el tipo de dispositivo con el que se registró la actividad. Así como las fechas de realización de la actividad, cogeré las fechas como ejemplo a modificar, pero se podrían establecer, velocidades, distancias, nuevas coordenadas gps, etc.

Figura 1: Fichero gpx original de Garmin

Si subimos dicha actividad a Strava veremos como tanto la fecha como el dispositivo (GPX) es la original del track gpx.

Figura 2: Actividad del fichero gpx original anterior

Para comprobar que metadatos registra Strava cuando este genera su propio GPX a través de su App desde un dispositivo smartphone, descargamos cualquier actividad previamente ya registrada desde la App en Strava. Exportamos el GPX y a continuación lo exploramos.

Figura 3: Exporar GPX ya registrado por la App de Strava

Abriendo el gpx original que exportamos desde Strava de otra actividad vemos que la etiqueta gpx creator apunta a "strava.com Android" (en el caso de iPhone abría que hacer lo mismo y mirar que valor toma) en cualquier caso para engañar la subida de la actividad como un dispositivo móvil nos servirá con Android.

Figura 4: gpx original exportado de Strava APP

Una vez sabemos el valor a sustituir, abrimos el GPX original, con Notepad++ reemplazamos todos los campos que sea de una fecha por otra (Search > Replace > Replace All o Ctrl+H) y modificaremos unicamente el valor gpx creator="Garmin Desktop App" por gpx creator="strava.com Android". A mayores podemos directamente eliminar/borrar o modificar también las etiquetas xml de <metadata> de los enlaces de referencia <link href> y <text>.

El resto de datos los dejaremos igual, ya que pude comprobar que si establecen exactamente los mismos datos que el gpx original de Strava, este se da de cuenta en el momento de subir el fichero gpx a Strava y nos cancela la subida. 

¿Por qué pasa esto? básicamente los metadatos del gpx contienen los enlaces al tipo de mapa o topo con el que se registrará la actividad y realizará los cálculos. Por lo que Strava se da de cuenta de estas modificaciones si cambiamos todos los valores que tengan que ver con sus metadatos. De modo que dejaremos el resto de datos del gpx original de Garmin en este caso, con su topo con DEM (desniveles del terreno), sus distancias, etc. El mapa y la actividad registrada con los datos del Garmin pero el tipo de dispositivo se establecerá como "Strava App Android".

El resto de valores competentes con tiempos, fechas/horas, velocidades, etc. no se verán influenciadas por los filtros de protección de Strava a la hora de subir las actividades en ficheros gpx.

Figura 5: gpx modificado de Garmin para Strava APP

Guardamos el fichero ya modificado y subimos de nuevo la actividad a Strava desde un fichero GPX, esta vez ya nos aparecerá la fecha modificada y el tipo de dispositivo que registró la actividad será Strava Android App.

Figura 6: gpx anterior modificado y subida la actividad a Strava
 
Saludos!

17 comentarios

  1. Buenas cómo se podría modificar la velocidad media o algo así ,o que app editora podría hacer esto en un archivo gpx o kml? Gracias me gusta tu post.

    ResponderEliminar
    Respuestas
    1. Hola Jesus,

      La velocidad media se calcula automáticamente en base a la velocidad de cada punto. Se tendría que ir modificando dicha velocidad en cada punto para poder alterar la velocidad media. En software de terceros tipo Basecamp o similares por lo que pude comprobar no se puede modificar este parámetro.

      Saludos.

      Eliminar
  2. Hola, la fecha se podría modificar?.

    ResponderEliminar
    Respuestas
    1. Hola @natxo, Para cambiar únicamente la fecha puedes usar notepad++ ctrl+F y en la pestaña reemplazar, estableces la fecha actual y después la fecha por la que quieres reemplazar. Realmente estarías reemplazando una cadena de texto, guardas el documento y listo.

      En los dos párrafos anteriores a la figura 5 se detalla lo de la modificación de fecha como ejemplo.

      Ahora bien, si quisieras reemplazar las horas sería mucho más laborioso, a parte de que tendrían que estar todos los tiempos correctos para evitar poisbles desajustes de tiempo en los tramos.

      Saludos!

      Eliminar
  3. Hola existe alguna posibilidad de cargarle una ruta a una actividad en la que me olvide de encender el gps del Garmin?

    ResponderEliminar
    Respuestas
    1. Hola @Marcelo, si tienes el track .gpx de la ruta puedes subirlo a tu cuenta Strava a través su web.

      Saludos,

      Eliminar
  4. Hola, ya he cambiado la fecha a un archivo que me he descargado de Strava grabada la ruta con Iphone. He modificado la fecha en notepad pero ahora, al tener un xml no lo puedo subir a Strava. Cómo lo paso o genero a partir del xml un gpx??? Gracias.

    ResponderEliminar
    Respuestas
    1. Hola @Pedro, no tienes por que tener el fichero en formato xml para editarlo, puedes editar en gpx directamente. En cual caso, puedes probar a convertir xml a gpx aquí: http://www.gpsvisualizer.com/convert_input?convert_format=gpx

      Un saludo,

      Eliminar
  5. Otra pregunta, se puede descargar una ruta de Strava y en Notepad cambiar la fechar, guardar el gpx y volver a subir el archivo a Strava??? Lo hago y me da error en la subida del archivo. Saludos.

    ResponderEliminar
    Respuestas
    1. Hola @Pedro, en princpio no debería dar ningún error, prueba a eliminar el track original de Strava y subir el nuevo track con la fecha modificada. De persistir el error, lo único que te queda es contactar con el soporte de Strava.

      Un saludo,

      Eliminar
  6. Porque se me registró una actividad de hoy 14 de mayo 2019 pero se registró con fecha del 22 de sep 1999. O como le hago para arreglar eso gracias osea que se acomode la fecha

    ResponderEliminar
    Respuestas
    1. Hola,

      Imagino que la fecha/hora del dispositivo móvil o GPS. En cualquier caso, desconozco el motivo exacto. Será mejor que este tipo de consultas las hagas con el propio soporte oficial de Strava.

      Saludos,

      Eliminar
  7. Ami me ocurre lo mismo .estoy en 1999

    ResponderEliminar
  8. A mi también me pasa lo mismo

    ResponderEliminar
  9. Ya encontraron solución de las fechas ami me pasa igual estoy en diciembre de 1999

    ResponderEliminar
  10. Si modifico la fecha me sube la actividad pero no tiene en cuenta las pulsaciones y no salen esos datos en strava

    ResponderEliminar

Entradas Populares