Lexpage, mieux qu'une cour de récréation !    —  girl271

Discussions

Decompiler un APK Android ?

PetitCalgon 2672 Bob
Salut tous,

J'ai téléchargé un APK Android et j'ai réussi à le décompiler grâce à ce site. A priori, cela semble être du Java, en tout cas beaucoup de choses s'affichent.
C'est un magazine auquel je suis abonné et auquel je paye chaque mois mon écu pour y accéder. Ce qui m'intéresse, c'est de trouver les points d'entrées pour télécharger avec login/mdp payant le fichier que je vois après sur ma tablette pour voir si c'est possible de porter vers Windows Universal App (+-) le truc.
Quelqu'un s'y connait un peu en Android/Java et pourrait me donner un coup de main?
Je peux mettre à dispo le APK et le code décompilé.

Grosso modo, l'app permet de se connecter dans l'app, puis on peut télécharger le magazine que l'on souhaite consulter (il reste téléchargé en local après) et on peut ouvrir le magazine pour le consulter comme un PDF (ou peut-être un EPUB). Ca ressemble fortement à un PDF, car c'est la même mise en page que le magazine imprimé papier, mais en plus, si on clique sur un article, on a un mode lecture agréable où il semble qu'un OCR est passé sur le texte et on peut agrandir/réduire la taille du texte. Je ne sais pas si on télécharge les 2 à la fois (PDF + mode lecture) ou si le 2ème est calculé à la volée. Le texte du mode lecture a parfois des fautes.
Guybrush 8431 Bob
A ma connaissance, la décompilation de bytecode Java ne permet pas d'y voir très très clair dans le code, à part sur la structure générale. Néanmoins, il doit y avoir moyen de s'y retrouver un peu quand même.

M'est d'avis qu'il faut chercher effectivement où est pris chaque PDF (et voir comment l'authentification est effectuée).

A noter que ce n'est pas un OCR qui passe sur ton PDF, il y a des outils très simples (libres aussi) pour extraire du texte depuis un pdf. Ca marche très très bien, mais tu perds la mise en page (j'ai un dépôt sur github où j'utilise une approche différente, à base de "zones de texte", de sorte à pouvoir recréer la mise en page si nécessaire. Dans mon cas, j'utilisais cette approche de zones de texte parce que je voulais extraire automatiquement du code R depuis des articles dont la mise en page pouvait être sur 2 colonnes).
roidelapluie 339 Maitre jedi
Je tenterais un tcpdump sur le réseau pour y voir plus clair aussi. Qu'en penses-tu?
PetitCalgon 2672 Bob
Depuis une tablette Android ?
Guybrush 8431 Bob
Tu peux installer l'app dans un émulateur ^^
roidelapluie 339 Maitre jedi
Ou faire un tcpdump depuis un PC que tu mets sur la route.
Sysson 1417 Spammeur
+1 pour le tcpdump, si ça se trouve le trafic ne sera même pas chiffré! Et si jamais c'est chiffré t'as plus qu'à te faire un proxy.
PetitCalgon 2672 Bob
Waouh .... Euh, c'est verbeux tcpdump!
Retrouver mes petits la dedans, ça va être rigolo, mais oui ça marche.
Guybrush 8431 Bob
Cherche du traffic http et extrait les en-têtes avec un parseur de dump, ça sera plus facile.
roidelapluie 339 Maitre jedi
Écris dans un ficher avec -w

Puis ouvre le fichier avec wireshark-gtk :-)

Répondre

Vous devez être inscrit et identifié.