API reverse pour son application Android

Pourquoi


J'ai un projet pour animaux de compagnie, une application de comptabilité financière.


À mon avis, l'un des principaux problèmes de ces applications est la saisie manuelle de la balance.
Les banques ont des informations sur les transactions que je fais et ont même de bonnes analyses.


Mais


  • Il y a plusieurs banques et elles ne se connaissent pas. Finalement
    • Pas d'analyse unique
    • Un transfert d'argent d'une banque à une autre sera considéré comme une annulation d'un côté et un crédit de l'autre. Cette fonctionnalité gâche l'analyse.
  • La possibilité de travailler avec des données vous permet de créer des analyses et des prévisions, contrairement à ui bank

Vous pouvez utiliser différents canaux pour accéder aux données: sites et applications. Les sites semblent plus simples: prenez le débogueur Chrome et c'est parti. Mais les données sur le site changent souvent de structure, car en plus des données, elles contiennent également des éléments d'interface utilisateur. Les applications, contrairement aux sites, demandent des données au serveur et ce n'est que dans leurs tripes que l'interface utilisateur. Sur le site, vous devez gérer le html, qui est construit sur div obscure et mutable, javascript izmenyamyh th . Les applications sont généralement fournies avec json / xml convivial.


Avertissement

. , . , , , , . .


. . . , .


, .


. , , . , .


Comment


Brèves instructions pour l'application inverse


  • Téléchargement de charles , apktool , "une chose pour signer des applications"
  • MITM
    • apktool apktool d -f -r app.apk
    • ,
      • / network_security_config.xml
        <network-security-config>
        <base-config>
          <trust-anchors>
              <certificates src="user" />
          </trust-anchors>
        </base-config>
        </network-security-config>
      • / network_security_config.xml AndroidManifest.xml networkSecurityConfig
        <application android:networkSecurityConfig="@xml/network_security_config"></application>

    • .
      • charles Help > SSL Proxying > Save Charles Root Certificate
      • charles cp <your.cer> your_app/res/somePath/somecert.cer
      • charles .
  • apktool b yourapp -o ${apkName}
  • java -jar sign.jar ${apkName}
  • Charles ( wifi Proxy. IP - charles, PORT-8888)
  • charles .
  • .


. :



Mise à jour - Un ajout précieux à l'article


All Articles