Aller au contenu

Moatgator Shield

Renforcez chaque build avant sa livraison.

Obfuscation du code et des chaînes, anti-altération et contrôles d'intégrité, ajoutés à votre pipeline de build par une pull request.

Votre codeSortie décompiléeShield
Votre code, Sortie décompilée, Shield

Rendez la rétro-ingénierie coûteuse.

Les attaquants commencent par lire votre app. Shield réécrit l'app compilée pour que la logique, les endpoints et les secrets soient bien plus difficiles à lire, à modifier et à reconditionner, sans toucher à votre code source.

  • Obfuscation du code et des chaînes
  • Anti-altération et contrôles d'intégrité
  • Fichiers de mapping conservés pour des rapports de plantage lisibles

Ce que fait Shield

  • 01

    Obfuscation des noms et du code

    Renomme les classes, les méthodes et les champs et restructure le flux de contrôle, de sorte que la sortie décompilée apprenne peu de choses à un attaquant sur le fonctionnement de l'app.

  • 02

    Chiffrement des chaînes

    Sur Android, les endpoints, les clés et les autres chaînes sensibles sont chiffrés au build et déchiffrés seulement quand c'est nécessaire.

  • 03

    Intégrité et anti-altération

    L'app vérifie son propre code et sa signature à l'exécution et réagit lorsqu'une copie modifiée ou re-signée s'exécute.

  • 04

    Diversification par build

    La protection varie d'un build à l'autre, donc un contournement écrit pour une version ne vaut pas pour la suivante.

  • 05

    Protection des assets et des ressources

    Les assets et ressources embarqués sont protégés : ils ne peuvent pas simplement être extraits et réutilisés ailleurs.

  • 06

    Rapports de plantage lisibles

    Un fichier de mapping est produit à chaque build et fonctionne avec Crashlytics, Sentry et Play Console pour désobfusquer les stack traces.

Comment Shield s'intègre à votre release

  1. 1

    Protégez dans votre pipeline

    Une pull request ajoute Moatgator à votre build Android ou iOS (bêta). La protection s'applique à l'app compilée, jamais à votre code source.

  2. 2

    Vous signez, comme toujours

    Moatgator renvoie un artefact non signé. Votre pipeline l'aligne et le signe, donc les clés et les certificats restent chez vous.

  3. 3

    Connaître le coût

    Chaque build indique son effet sur la taille de l'app et le temps de démarrage, pour que vous ajustiez ce que vous activez.

moatgator.ymlExemple illustratif
shield:  android:    obfuscation: names + control-flow    string_encryption: true    asset_protection: true  integrity: signature + code  diversify_per_build: true  report: [size, startup]   # impact per build

Ce que couvre Shield

Android

  • Renommage des classes, méthodes et champs
  • Obfuscation du flux de contrôle
  • Chiffrement des chaînes
  • Protection des ressources et des assets
  • Contrôles d'intégrité et de signature

iOS (bêta)

  • Durcissement des noms, chaînes et symboles
  • Re-signature dans votre propre pipeline
  • Les certificats et profils restent chez vous

Frameworks

  • React Native avec protection du bundle Hermes
  • Expo via une fonction personnalisée EAS Build
  • Flutter avec détection à l'exécution ; le code Dart garde l'obfuscation propre à Flutter

Questions fréquentes

Shield modifie-t-il mon code source ?

Non. Il agit sur l'app compilée dans votre pipeline de build, via une pull request que vous relisez.

La protection va-t-elle ralentir mon app ou l'alourdir ?

La protection ajoute un certain surcoût. Chaque build indique son effet sur la taille de l'app et le temps de démarrage, pour que vous voyiez le coût et ajustiez les protections que vous activez.

Détenez-vous mes clés de signature ?

Non. Moatgator renvoie un artefact non signé et votre propre pipeline le signe. Les clés, les certificats et les provisioning profiles restent chez vous.

Cela fonctionne-t-il avec React Native, Expo et Flutter ?

Oui. Les bundles React Native construits avec Hermes sont protégés et Expo fonctionne via une fonction personnalisée EAS Build. Les apps Flutter bénéficient de la détection à l'exécution via notre plugin ; Moatgator n'obfusque pas le code Dart, gardez donc l'option --obfuscate de Flutter activée.

Mes rapports de plantage resteront-ils lisibles ?

Oui. Un fichier de mapping est généré à chaque build et fonctionne avec Crashlytics, Sentry et Play Console pour désobfusquer les stack traces.

L'obfuscation suffit-elle à elle seule ?

Non. L'obfuscation augmente le coût de l'analyse, mais n'arrête pas un attaquant déterminé. Associez Shield à Runtime, qui détecte l'altération et l'instrumentation pendant que l'app s'exécute.

Prêt à protéger votre app ?

Démarrez gratuitement, ou dites-nous ce qu'il vous faut.