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
ipa-medit — Outil de modification de la mémoire pour les ipa re-signés prenant en charge les applications iOS s'exécutant sur iPhone et Apple Silicon Mac sans jailbreak. | Kitploit
Outils/GitHubGitHub/sterrasec/ipa-medit
Sécurité iOSCriminalistique MémoirePentesting d'Applications MobilesTests d'IntrusionSécurité MobileAnalyse de Binaires
GitHubsterrasec/ipa-medit

ipa-medit

Outil de modification de la mémoire pour les ipa re-signés prenant en charge les applications iOS s'exécutant sur iPhone et Apple Silicon Mac sans jailbreak.

Voir le dépôt
207244il y a 1 anVé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

ipa-medit

GitHub release License: MIT

Ipa-medit est un outil de recherche et de modification mémoire pour ipa re-signé sans jailbreak. Il prend en charge les applications iOS fonctionnant sur iPhone et Apple Silicon Mac. Il a été créé pour les tests de sécurité de jeux mobiles. De nombreux jeux mobiles ont une détection de jailbreak, mais ipa-medit ne nécessite pas de jailbreak, donc la modification de la mémoire peut être effectuée sans contourner la détection de jailbreak.

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 du test de sécurité. Il existe également des outils de triche utilisés couramment comme GameGem et iGameGuardian. Cependant, il n'y avait aucun outil disponible pour les appareils non jailbreakés et en CUI, Apple Silicon Mac. Je l'ai donc créé comme outil de test de sécurité. La version Android est sterrasec/apk-medit.

Demo

Requirements

  • macOS
    • Vous devez avoir un certificat de développement iOS valide installé.
  • Uniquement lors du ciblage d'applications iOS fonctionnant sur un iPhone.
    • Xcode
    • libimobiledevice/libimobiledevice
    • libimobiledevice/ideviceinstaller
root@kitploit:~
$ brew install --HEAD libplist
$ brew install --HEAD usbmuxd
$ brew install --HEAD libimobiledevice
$ brew install --HEAD ideviceinstaller

Installation

Binary(Intell Mac Only)

Téléchargez le binaire depuis GitHub Releases et placez-le dans votre $PATH.

Manually Build

Vous pouvez le construire en utilisant la commande make. Le compilateur Go est nécessaire pour la construction. Si vous ciblez une application iOS fonctionnant sur un Apple Silicon Mac, vous devrez la signer, mais script/codesign.sh sera exécuté et signé automatiquement.

root@kitploit:~
$ git clone [email protected]:sterrasec/ipa-medit.git
$ cd ipa-medit
$ make build

Usage

Le fichier .ipa cible doit être signé avec un certificat installé sur votre ordinateur. Si vous souhaitez modifier la mémoire sur des applications tierces, veuillez utiliser un outil tel que ipautil pour la re-signature.

root@kitploit:~
$ ipautil decode tap1000000.ipa # unzip
$ ipautil build Payload         # re-sign and generate .ipa file

Targeting the iOS app on iPhone

Pour le lancer, vous devez spécifier le chemin du fichier exécutable contenu dans le fichier .ipa avec -bin et l'identifiant du bundle avec -id.

root@kitploit:~
$ unzip tap1000000.ipa
$ ipa-medit -bin="./Payload/tap1000000.app/tap1000000" -id="jp.hoge.tap1000000"

Targeting the iOS app on Apple Silicon Mac

Pour le lancer, vous devez spécifier le nom du processus avec -name ou le pid avec -pid. Le nom du processus et le pid de l'application iOS peuvent être vérifiés dans le Moniteur d'activité.

root@kitploit:~
$ ipa-medit -name <process name>

Commands

Voici les commandes disponibles dans une invite interactive.

find

Recherche l'entier spécifié en mémoire.

root@kitploit:~
> find 999986
Success to halt process
Scanning: 0x00000001025e4000-0x00000001025e8000
Scanning: 0x00000001025f4000-0x00000001025fc000
Scanning: 0x0000000102604000-0x0000000102608000
....
Scanning: 0x000000016eb34000-0x000000016ebbc000
Scanning: 0x000000016ebc0000-0x000000016ebe8000
Scanning: 0x000000016ebec000-0x000000016ec74000
Scanning: 0x000000016ec78000-0x000000016ed00000
Found: 1!!
Address: 0x10a2feea0

Par défaut, seuls les entiers sont recherchés lors du ciblage d'applications iOS fonctionnant sur iPhone, car l'API LLDB est lente. Lors du ciblage d'une application iOS fonctionnant sur Apple Silicon Mac, les chaînes de caractères seront également recherchées.

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

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

filter

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

root@kitploit:~
> filter 999842
Success to halt process
Found: 1!!
Address: 0x1087beea0

patch

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

root@kitploit:~
> patch 10
Successfully patched!

attach

Attache au processus cible.

root@kitploit:~
> attach
Success to halt process

detach

Détache du processus attaché.

root@kitploit:~
> detach
Success to continue process

ps

Obtenez des informations sur le processus cible. Cela ne fonctionnera que si vous ciblez une application iOS fonctionnant sur un iPhone.

root@kitploit:~
> ps
SBProcess: pid = 926, state = running, threads = 37, executable = tap1000000
State: Running
thread #1: tid = 0x545ee, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, queue = 'com.apple.main-thread'
thread #3: tid = 0x54619, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #4: tid = 0x5461a, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #5: tid = 0x5461b, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #6: tid = 0x5461c, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #7: tid = 0x5461d, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread'
thread #8: tid = 0x5461e, 0x00000001bd6791ac libsystem_kernel.dylib`__psynch_cvwait + 8, name = 'GC Finalizer'
thread #9: tid = 0x5461f, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Job.Worker 0'
thread #10: tid = 0x54620, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Job.Worker 1'
thread #11: tid = 0x54621, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Job.Worker 2'
...
thread #35: tid = 0x54659, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AURemoteIO::IOThread'
thread #36: tid = 0x54662, 0x00000001bd679814 libsystem_kernel.dylib`__semwait_signal + 8
thread #37: tid = 0x54663, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.CoreMotion.MotionThread'
thread #38: tid = 0x54664, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Loading.PreloadManager'

exit

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

root@kitploit:~
> exit
Bye!

Trouble shooting

Failed to get reply to handshake packet

Si vous obtenez l'erreur /private/var/containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/hoge.app: error: failed to get reply to handshake packet et que vous ne pouvez pas communiquer correctement avec le périphérique iOS et lldb, lancez Xcode et construisez une application, cela fonctionnera.

Could not connect to lockdownd

Si vous obtenez l'erreur Could not connect to lockdownd. et que vous ne pouvez pas communiquer correctement avec le périphérique iOS et ideviceinstaller, lancez Xcode et construisez une application, cela fonctionnera. Si cela ne résout pas le problème, veuillez mettre à jour ideviceinstaller et libimobiledevice vers les dernières versions en utilisant l'exemple de commandes dans la section Requirements.

Could not start com.apple.debugserver

Cela peut être corrigé en installant le dernier code non versionné de libimobiledevice et ideviceinstaller en ajoutant l'option --HEAD lors de l'exécution de brew install.

  • Reference: Could not start com.apple.debugserver! ios 14.1 xcode 12.2 MacOS 10.15.4 iphone12 · Issue #1104 · libimobiledevice/libimobiledevice

License

MIT License

Télécharger l’outil