﻿﻿{"id":2163,"date":"2026-01-24T13:45:30","date_gmt":"2026-01-24T12:45:30","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/apk-sh-le-couteau-suisse-qui-simplifie-le-reverse-engineering-android\/"},"modified":"2026-01-24T13:45:30","modified_gmt":"2026-01-24T12:45:30","slug":"apk-sh-le-couteau-suisse-qui-simplifie-le-reverse-engineering-android","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/apk-sh-le-couteau-suisse-qui-simplifie-le-reverse-engineering-android\/","title":{"rendered":"apk.sh &#8211; Le couteau suisse qui simplifie le reverse engineering Android"},"content":{"rendered":"<p>L&#8217;autre jour, je m&#8217;amusais \u00e0 regarder ce qu&#8217;une petite application Android que j&#8217;avais install\u00e9e<br \/>\n<a href=\"https:\/\/korben.info\/apps-mobiles-tracking-rgpd-audit.html\">envoyait comme infos \u00e0 ses serveurs<\/a><br \/>\n, et j&#8217;ai encore gal\u00e9r\u00e9 avec une tripot\u00e9e d&#8217;outils diff\u00e9rents. Entre ADB pour r\u00e9cup\u00e9rer le fichier, Apktool pour le d\u00e9sassembler, Jadx pour lire le code et les scripts de signature \u00e0 rallonge, y&#8217;a de quoi se taper la t\u00eate contre les murs. On est en 2026, et le reverse engineering Android ressemble encore parfois \u00e0 de la sp\u00e9l\u00e9ologie sans lumi\u00e8re dans une grotte remplie de goudron.<\/p>\n<p>Puis c&#8217;est l\u00e0 que je suis tomb\u00e9 sur <strong>apk.sh<\/strong>, et \u00e7a m&#8217;a sauv\u00e9 ma soir\u00e9e. C&#8217;est un script Bash tout simple, mais qui joue le petit chef d&#8217;orchestre pour automatiser toutes les t\u00e2ches les plus chiantes : le pull, le d\u00e9codage, la reconstruction, le patching et le renommage d&#8217;APK. \u00c7a vous m\u00e2che le travail sur toute la partie technique pour que vous n&#8217;ayez plus qu&#8217;\u00e0 faire un petit <code>adb install<\/code> \u00e0 la fin&#8230; et voil\u00e0 ! (Sans les &#8220;Trenti anni di qualit\u00e0&#8221;, \u00e9videmment ^^)<\/p>\n<p>Le truc cool, c&#8217;est qu&#8217;il ne se contente pas de faire du &#8220;pull&#8221; et du &#8220;decode&#8221;. Il g\u00e8re \u00e9galement nativement l&#8217;injection de<br \/>\n<a href=\"https:\/\/frida.re\/docs\/gadget\/\">gadgets Frida<\/a><br \/>\npour faire de l&#8217;instrumentation dynamique, et \u00e7a, c&#8217;est vraiment le pied pour ceux qui veulent voir ce qui se passe en m\u00e9moire sans s&#8217;arracher les cheveux. Il peut m\u00eame patcher automatiquement la configuration de s\u00e9curit\u00e9 r\u00e9seau pour vous permettre d&#8217;intercepter le trafic HTTPS plus facilement. Par contre attention, si l&#8217;appli utilise du certificate pinning bien costaud, \u00e7a servira \u00e0 QUE DALLE.<\/p>\n<p>Si vous avez d\u00e9j\u00e0 essay\u00e9 de<br \/>\n<a href=\"https:\/\/korben.info\/decompiler-application-android-apk-recompiler.html\">d\u00e9compiler un APK et de le recompiler<\/a><br \/>\n, vous savez que la moindre erreur de signature ou d&#8217;alignement et c&#8217;est le drame. Ici, l&#8217;outil s&#8217;occupe de tout avec <code>apksigner<\/code> et <code>zipalign<\/code> de mani\u00e8re transparente. Et pour les plus barbus d&#8217;entre vous, il permet m\u00eame de modifier directement le bytecode DEX via les fichiers smali pour \u00e9viter les bugs de d\u00e9compilation Java qui font parfois pleurer un admin sys.<\/p>\n<p>Pas besoin d&#8217;\u00eatre root pour la plupart des fonctions, et il g\u00e8re m\u00eame les fameux bundles (AAB) que Google Play impose d\u00e9sormais et qui se transforment en &#8220;split APKs&#8221; une fois sur votre t\u00e9l\u00e9phone. En gros, vous faites un <code>pull<\/code> pour r\u00e9cup\u00e9rer et fusionner tout \u00e7a en un seul APK, puis un <code>decode<\/code> pour obtenir un dossier tout pr\u00eat \u00e0 \u00eatre explor\u00e9.<\/p>\n<p>C&#8217;est typiquement le genre d&#8217;outil que j&#8217;aurais aim\u00e9 avoir \u00e0 l&#8217;\u00e9poque o\u00f9 je vous parlais d&#8217;Androguard pour<br \/>\n<a href=\"https:\/\/korben.info\/androguard-reverse-engineering-dapplications-android.html\">analyser des malwares Android<\/a><br \/>\n. On gagne un temps de fou malade et on peut se concentrer sur ce qui nous int\u00e9resse vraiment dans la vie, c&#8217;est \u00e0 dire <del>le fromage \u00e0 raclette et la sieste<\/del> comprendre comment ces applis nous pompent nos donn\u00e9es ou juste changer la couleur d&#8217;un bouton pour le plaisir (ou des trucs qui vous enverront en zonzon ^^).<\/p>\n<p>Bref, si vous aimez mettre les mains dans le cambouis Android, allez jeter un \u0153il \u00e0 ce projet pour vos prochaines sessions de reverse.<\/p>\n<p>\n<a href=\"https:\/\/github.com\/ax\/apk.sh\">A d\u00e9couvrir ici<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;autre jour, je m&#8217;amusais \u00e0 regarder ce qu&#8217;une petite application Android que j&#8217;avais install\u00e9e envoyait comme infos \u00e0 ses serveurs , et j&#8217;ai encore gal\u00e9r\u00e9 avec une tripot\u00e9e d&#8217;outils diff\u00e9rents. Entre ADB pour r\u00e9cup\u00e9rer le fichier, Apktool pour le d\u00e9sassembler, Jadx pour lire le code et les scripts de signature \u00e0 rallonge, y&#8217;a de quoi se taper la t\u00eate contre les murs. On est en 2026, et le reverse engineering Android ressemble encore parfois \u00e0 de la sp\u00e9l\u00e9ologie sans lumi\u00e8re dans une grotte remplie de goudron. Puis c&#8217;est l\u00e0 que je suis tomb\u00e9 sur apk.sh, et \u00e7a m&#8217;a sauv\u00e9 ma soir\u00e9e. C&#8217;est un script Bash tout simple, mais qui joue le petit chef d&#8217;orchestre pour automatiser toutes les t\u00e2ches les plus chiantes : le pull, le d\u00e9codage, la reconstruction, le patching et le renommage d&#8217;APK. \u00c7a vous m\u00e2che le travail sur toute la partie technique pour que vous n&#8217;ayez plus qu&#8217;\u00e0 faire un petit adb install \u00e0 la fin&#8230; et voil\u00e0 ! (Sans les &#8220;Trenti anni di qualit\u00e0&#8221;, \u00e9videmment ^^) Le truc cool, c&#8217;est qu&#8217;il ne se contente pas de faire du &#8220;pull&#8221; et du &#8220;decode&#8221;. Il g\u00e8re \u00e9galement nativement l&#8217;injection de gadgets Frida pour faire de l&#8217;instrumentation dynamique, et \u00e7a, c&#8217;est vraiment le pied pour ceux qui veulent voir ce qui se passe en m\u00e9moire sans s&#8217;arracher les cheveux. Il peut m\u00eame patcher automatiquement la configuration de s\u00e9curit\u00e9 r\u00e9seau pour vous permettre d&#8217;intercepter le trafic HTTPS plus facilement. Par contre attention, si l&#8217;appli utilise du certificate pinning bien costaud, \u00e7a servira \u00e0 QUE DALLE. Si vous avez d\u00e9j\u00e0 essay\u00e9 de d\u00e9compiler un APK et de le recompiler , vous savez que la moindre erreur de signature ou d&#8217;alignement et c&#8217;est le drame. Ici, l&#8217;outil s&#8217;occupe de tout avec apksigner et zipalign de mani\u00e8re transparente. Et pour les plus barbus d&#8217;entre vous, il permet m\u00eame de modifier directement le bytecode DEX via les fichiers smali pour \u00e9viter les bugs de d\u00e9compilation Java qui font parfois pleurer un admin sys. Pas besoin d&#8217;\u00eatre root pour la plupart des fonctions, et il g\u00e8re m\u00eame les fameux bundles (AAB) que Google Play impose d\u00e9sormais et qui se transforment en &#8220;split APKs&#8221; une fois sur votre t\u00e9l\u00e9phone. En gros, vous faites un pull pour r\u00e9cup\u00e9rer et fusionner tout \u00e7a en un seul APK, puis un decode pour obtenir un dossier tout pr\u00eat \u00e0 \u00eatre explor\u00e9. C&#8217;est typiquement le genre d&#8217;outil que j&#8217;aurais aim\u00e9 avoir \u00e0 l&#8217;\u00e9poque o\u00f9 je vous parlais d&#8217;Androguard pour analyser des malwares Android . On gagne un temps de fou malade et on peut se concentrer sur ce qui nous int\u00e9resse vraiment dans la vie, c&#8217;est \u00e0 dire le fromage \u00e0 raclette et la sieste comprendre comment ces applis nous pompent nos donn\u00e9es ou juste changer la couleur d&#8217;un bouton pour le plaisir (ou des trucs qui vous enverront en zonzon ^^). Bref, si vous aimez mettre les mains dans le cambouis Android, allez jeter un \u0153il \u00e0 ce projet pour vos prochaines sessions de reverse. A d\u00e9couvrir ici<\/p>\n","protected":false},"author":1,"featured_media":2164,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2163","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2163"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2163\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2164"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}