Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
apk-medit — outil de recherche et de patch mémoire sur apk débogable sans root et ndk | Kitploit
Outils/GitHubGitHub/sterrasec/apk-medit
Sécurité AndroidCriminalistique MémoireTests d'IntrusionSécurité MobileAnalyse de Binaires
GitHubsterrasec/apk-medit

apk-medit

outil de recherche et de patch mémoire sur apk débogable sans root et ndk

Voir le dépôt
43165il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

apk-medit

GitHub release License: MIT typos workflow

Apk-medit est un outil de recherche et de patch mémoire pour APK débogable sans root ni NDK. Il a été créé pour les tests de sécurité des jeux mobiles. De nombreux jeux mobiles détectent le root, mais apk-medit ne nécessite pas de privilèges root, donc la modification de la mémoire peut être effectuée sans contourner la détection de root.

Motivation

La modification de la mémoire est le moyen le plus simple de tricher dans les jeux, c'est l'un des éléments à vérifier lors des tests de sécurité. Il existe aussi des outils de triche faciles d'utilisation comme GameGuardian. Cependant, aucun outil n'était disponible pour les appareils non rootés et en CUI. Je l'ai donc créé comme outil de test de sécurité. La version qui cible les applications iOS est sterrasec/ipa-medit.

Démo

Voici une démo qui utilise apk-medit pour terminer un jeu nécessitant un million de taps.

Installation

Téléchargez le binaire depuis les versions GitHub, puis placez le binaire dans /data/local/tmp/ sur un appareil Android.

root@kitploit:~
$ adb push medit /data/local/tmp/medit
medit: 1 file pushed. 29.0 MB/s (3135769 bytes in 0.103s)

Comment compiler

Vous pouvez compiler avec la commande make. Un compilateur Go est requis. Une fois la compilation terminée, si adb est connecté, il pousse le binaire compilé dans /data/local/tmp/ sur un appareil Android.

root@kitploit:~
$ make
GOOS=linux GOARCH=arm64 GOARM=7 go build -o medit
/bin/sh -c "adb push medit /data/local/tmp/medit"
medit: 1 file pushed. 23.7 MB/s (3131205 bytes in 0.126s)

Utilisation

Utilisez la commande run-as pour lire les fichiers utilisés par l'application cible, donc apk-medit ne peut être utilisé qu'avec des applications ayant l'attribut debuggable activé. Pour activer l'attribut debuggable, ouvrez AndroidManifest.xml et ajoutez l'attribut xml suivant dans le nœud application :

root@kitploit:~
android:debuggable="true"

Vous pouvez également utiliser sterrasec/apkutil pour activer facilement l'attribut debuggable sans éditer AndroidManifest.xml, c'est pratique.

root@kitploit:~
$ apkutil debuggable <target-apk-name>.apk

Après avoir exécuté la commande run-as, le répertoire est automatiquement changé. Copiez donc medit depuis /data/local/tmp/. L'exécution de medit lance une invite interactive.

root@kitploit:~
$ adb shell
$ pm list packages # pour vérifier <target-package-name>
$ run-as <target-package-name>
$ cp /data/local/tmp/medit ./medit
$ ./medit

Vous pouvez également choisir de ne pas utiliser ptrace lors de l'écriture en mémoire. Cela évite la détection du débogueur par ptrace, mais ne fonctionne pas sur Android 10 ou ultérieur à cause de SELinux.

root@kitploit:~
$ ./medit -without-ptrace

Commandes

Voici les commandes disponibles dans l'invite interactive.

find

Recherche un entier spécifié en mémoire.

root@kitploit:~
> find 999982
Search UTF-8 String...
Target Value: 999982([57 57 57 57 56 50])
Found: 0!
------------------------
Search Word...
parsing 999982: value out of range
------------------------
Search Double Word...
Target Value: 999982([46 66 15 0])
Found: 1!
Address: 0xe7021f70

Vous pouvez également spécifier un type de données comme string, word, dword, qword.

root@kitploit:~
> find dword 999996
Search Double Word...
Target Value: 999996([60 66 15 0])
Found: 1!
Address: 0xe7021f70

filter

Filtre les résultats de recherche précédents qui correspondent aux résultats de recherche actuels.

root@kitploit:~
> filter 993881
Check previous results of searching dword...
Target Value: 993881([89 42 15 0])
Found: 1!
Address: 0xe7021f70

patch

Écrit la valeur spécifiée à l'adresse trouvée par la recherche.

root@kitploit:~
> patch 10
...
Successfully patched!

ps

Trouve le processus cible et s'il n'y en a qu'un, le spécifie comme cible. ps s'exécute automatiquement au démarrage.

root@kitploit:~
> ps
Package: jp.sterrasec.tap1000000, PID: 4398
Target PID has been set to 4398.

attach

Si le PID cible est défini par ps, se connecte au processus cible, arrête tous les processus de l'application via ptrace.

root@kitploit:~
> attach
Target PID: 4398
Attached TID: 4398
Attached TID: 4405
Attached TID: 4407
Attached TID: 4408
Attached TID: 4410
Attached TID: 4411
Attached TID: 4412
Attached TID: 4413
Attached TID: 4414
Attached TID: 4415
Attached TID: 4418
Attached TID: 4420
Attached TID: 4424
Attached TID: 4429
Attached TID: 4430
Attached TID: 4436
Attached TID: 4437
Attached TID: 4438
Attached TID: 4439
Attached TID: 4440
Attached TID: 4441
Attached TID: 4442

Si le PID cible n'est pas défini, il peut être spécifié en ligne de commande.

root@kitploit:~
> attach <pid>

detach

Se déconnecte du processus attaché.

root@kitploit:~
> detach
Detached TID: 4398
Detached TID: 4405
Detached TID: 4407
Detached TID: 4408
Detached TID: 4410
Detached TID: 4411
Detached TID: 4412
Detached TID: 4413
Detached TID: 4414
Detached TID: 4415
Detached TID: 4418
Detached TID: 4420
Detached TID: 4424
Detached TID: 4429
Detached TID: 4430
Detached TID: 4436
Detached TID: 4437
Detached TID: 4438
Detached TID: 4439
Detached TID: 4440
Detached TID: 4441
Detached TID: 4442

dump

Affiche un dump mémoire comme hexdump.

root@kitploit:~
> dump 0xf0aee000 0xf0aee300
Address range: 0xf0aee000 - 0xf0aee300
----------------------------------------------
00000000  34 32 20 61 6e 73 77 65  72 20 28 74 6f 20 6c 69  |42 answer (to li|
00000010  66 65 20 74 68 65 20 75  6e 69 76 65 72 73 65 20  |fe the universe |
00000020  65 74 63 7c 33 29 0a 33  31 34 20 70 69 0a 31 30  |etc|3).314 pi.10|
00000030  30 33 20 61 75 64 69 74  64 20 28 61 76 63 7c 33  |03 auditd (avc|3|
00000040  29 0a 31 30 30 34 20 63  68 61 74 74 79 20 28 64  |).1004 chatty (d|
00000050  72 6f 70 70 65 64 7c 33  29 0a 31 30 30 35 20 74  |ropped|3).1005 t|
00000060  61 67 5f 64 65 66 20 28  74 61 67 7c 31 29 2c 28  |ag_def (tag|1),(|
00000070  6e 61 6d 65 7c 33 29 2c  28 66 6f 72 6d 61 74 7c  |name|3),(format||
00000080  33 29 0a 31 30 30 36 20  6c 69 62 6c 6f 67 20 28  |3).1006 liblog (|
00000090  64 72 6f 70 70 65 64 7c  31 29 0a 32 37 31 38 20  |dropped|1).2718 |
000000a0  65 0a 32 37 31 39 20 63  6f 6e 66 69 67 75 72 61  |e.2719 configura|
000000b0  74 69 6f 6e 5f 63 68 61  6e 67 65 64 20 28 63 6f  |tion_changed (co|
000000c0  6e 66 69 67 20 6d 61 73  6b 7c 31 7c 35 29 0a 32  |nfig mask|1|5).2|
000000d0  37 32 30 20 73 79 6e 63  20 28 69 64 7c 33 29 2c  |720 sync (id|3),|
000000e0  28 65 76 65 6e 74 7c 31  7c 35 29 2c 28 73 6f 75  |(event|1|5),(sou|
000000f0  72 63 65 7c 31 7c 35 29  2c 28 61 63 63 6f 75 6e  |rce|1|5),(accoun|

exit

Pour quitter medit, utilisez la commande exit ou Ctrl-D.

root@kitploit:~
> exit
Bye!

Test

Vous pouvez exécuter les codes de test avec la commande make.

root@kitploit:~
$ make test

Licence

Télécharger l’outil