Kheys
1 092
modifications
m (→API endpoints) |
|||
Ligne 787 : | Ligne 787 : | ||
# Utiliser un décompilateur Dex vers Java, comme '''[https://github.com/skylot/jadx Jadx]''' . | # Utiliser un décompilateur Dex vers Java, comme '''[https://github.com/skylot/jadx Jadx]''' . | ||
==== JvApiService ==== | |||
Une fois le code Java disponible, on peut ouvrir l'interface ''com.jeuxvideo.api.web.'''JvApiService''''', qui contient tous les endpoints. L'appli utilise le bibliothèque [https://square.github.io/retrofit/ Retrofit 2.x] pour gérer l'API, on peut facilement parcourir la documentation de cette bibliothèque pour découvrir ce qu'il faut faire comme requête aux différentes URL de l'API. | Une fois le code Java disponible, on peut ouvrir l'interface ''com.jeuxvideo.api.web.'''JvApiService''''', qui contient tous les endpoints. L'appli utilise le bibliothèque [https://square.github.io/retrofit/ Retrofit 2.x] pour gérer l'API, on peut facilement parcourir la documentation de cette bibliothèque pour découvrir ce qu'il faut faire comme requête aux différentes URL de l'API. | ||
''Exemple de code dans l'interface '''JvApiService''''' | |||
<pre> | |||
@POST("contents/{contentID}/comments") | |||
Call<UserComment> addComment(@Path("contentID") String str, @Body UserComment.Body body); | |||
@POST("contents/{contentID}/comments/{commentID}/vote") | |||
Call<UserComment> addCommentVote(@Path("contentID") String str, @Path("commentID") String str2, @Body UserComment.Vote vote); | |||
</pre> | |||
==== ApiLogin ==== | |||
La classe ''com.jeuxvideo.utils.'''ApiLogin''''' (nom de la classe donné arbitrairement car perdu lors de la compilation), permet de déduire qu'il faut mettre dans le header de la requête à l'API ''Jvc-Authorization : '''header''''' ainsi que l'algorithme permettant de trouver ce qu'il faut mettre à la place de '''''header'''''. (Voir code ci-dessous) | La classe ''com.jeuxvideo.utils.'''ApiLogin''''' (nom de la classe donné arbitrairement car perdu lors de la compilation), permet de déduire qu'il faut mettre dans le header de la requête à l'API ''Jvc-Authorization : '''header''''' ainsi que l'algorithme permettant de trouver ce qu'il faut mettre à la place de '''''header'''''. (Voir code ci-dessous) | ||
<pre> | <pre> |