Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ipa-medit — Herramienta de modificación de memoria para ipa refirmados que soporta aplicaciones iOS ejecutándose en iPhone y Mac con Apple Silicon sin jailbreak. | Kitploit
Herramientas/GitHubGitHub/sterrasec/ipa-medit
Seguridad iOSForensia de MemoriaPentesting de Apps MóvilesPruebas de PenetraciónSeguridad MóvilAnálisis de Binarios
GitHubsterrasec/ipa-medit

ipa-medit

Herramienta de modificación de memoria para ipa refirmados que soporta aplicaciones iOS ejecutándose en iPhone y Mac con Apple Silicon sin jailbreak.

Ver Repositorio
20724hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ipa-medit

GitHub release License: MIT

Ipa-medit es una herramienta de búsqueda y parcheo de memoria para ipa refirmados sin hacer jailbreak. Soporta aplicaciones iOS ejecutándose en iPhone y Mac con Apple Silicon. Fue creada para pruebas de seguridad en juegos móviles. Muchos juegos móviles tienen detección de jailbreak, pero ipa-medit no requiere jailbreak, por lo que la modificación de memoria se puede realizar sin evitar la detección de jailbreak.

Motivación

La modificación de memoria es la forma más fácil de hacer trampa en los juegos, es uno de los elementos a verificar en la prueba de seguridad. También existen herramientas de trampas que se pueden usar de manera casual como GameGem e iGameGuardian. Sin embargo, no había herramientas disponibles para dispositivos sin jailbreak y CUI, Mac con Apple Silicon. Por eso la hice como una herramienta de pruebas de seguridad. La versión para Android es sterrasec/apk-medit.

Demo

Requisitos

  • macOS
    • Debe tener instalado un certificado de desarrollo de iOS válido.
  • Solo cuando se apunte a aplicaciones iOS ejecutándose en 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

Instalación

Binario (Solo Intel Mac)

Descargue el binario desde GitHub Releases y colóquelo en su $PATH.

Compilación manual

Puede compilarlo usando el comando make. Se requiere el compilador Go para compilar. Si apunta a una aplicación iOS que se ejecuta en una Mac con Apple Silicon, necesitará firmarla, pero script/codesign.sh se ejecutará y firmará automáticamente.

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

Uso

El archivo .ipa de destino debe estar firmado con un certificado instalado en su computadora. Si desea modificar la memoria en aplicaciones de terceros, use una herramienta como ipautil para refirmar.

root@kitploit:~
$ ipautil decode tap1000000.ipa # descomprimir
$ ipautil build Payload         # refirmar y generar archivo .ipa

Apuntando a la aplicación iOS en iPhone

Para iniciarla, debe especificar la ruta del archivo ejecutable contenido en el archivo .ipa con -bin y el bundle id con -id.

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

Apuntando a la aplicación iOS en Mac con Apple Silicon

Para iniciarla, debe especificar el nombre del proceso con -name o el pid con -pid. El nombre del proceso y el pid de la aplicación iOS se pueden consultar en el Monitor de Actividad.

root@kitploit:~
$ ipa-medit -name <nombre del proceso>

Comandos

Aquí están los comandos disponibles en un prompt interactivo.

find

Busca el entero especificado en la memoria.

root@kitploit:~
> find 999986
Éxito al detener el proceso
Escaneando: 0x00000001025e4000-0x00000001025e8000
Escaneando: 0x00000001025f4000-0x00000001025fc000
Escaneando: 0x0000000102604000-0x0000000102608000
....
Escaneando: 0x000000016eb34000-0x000000016ebbc000
Escaneando: 0x000000016ebc0000-0x000000016ebe8000
Escaneando: 0x000000016ebec000-0x000000016ec74000
Escaneando: 0x000000016ec78000-0x000000016ed00000
Encontrado: 1!!
Dirección: 0x10a2feea0

Por defecto, solo se buscan enteros cuando se apunta a aplicaciones iOS ejecutándose en iPhone, porque la API de LLDB es lenta. Cuando se apunta a una aplicación iOS ejecutándose en Mac con Apple Silicon, también se buscarán cadenas.

También puede especificar el tipo de dato como string, word, dword, qword.

root@kitploit:~
> find dword 999994
Buscar Doble Palabra...
Valor Objetivo: 999994([58 66 15 0])
Encontrado: 1!!
Dirección: 0x11378aea0

filter

Filtra los resultados de búsqueda anteriores que coinciden con los resultados de búsqueda actuales.

root@kitploit:~
> filter 999842
Éxito al detener el proceso
Encontrado: 1!!
Dirección: 0x1087beea0

patch

Escribe el valor especificado en la dirección encontrada por la búsqueda.

root@kitploit:~
> patch 10
¡Parcheado exitosamente!

attach

Se adjunta al proceso objetivo.

root@kitploit:~
> attach
Éxito al detener el proceso

detach

Se desadjunta del proceso adjunto.

root@kitploit:~
> detach
Éxito al continuar el proceso

ps

Obtiene información sobre el proceso objetivo. Solo funcionará si está apuntando a una aplicación iOS ejecutándose en 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

Para salir de medit, use el comando exit o Ctrl-D.

root@kitploit:~
> exit
¡Adiós!

Solución de problemas

Error al obtener respuesta del paquete de handshake

Si obtiene el error /private/var/containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/hoge.app: error: failed to get reply to handshake packet y no puede comunicarse correctamente con el dispositivo iOS y lldb, inicie Xcode y compile alguna aplicación, y funcionará.

No se pudo conectar con lockdownd

Si obtiene el error Could not connect to lockdownd. y no puede comunicarse correctamente con el dispositivo iOS e ideviceinstaller, inicie Xcode y compile alguna aplicación, y funcionará. Si esto no soluciona el problema, actualice ideviceinstaller y libimobiledevice a las versiones más recientes usando el ejemplo de comandos en la sección Requisitos.

No se pudo iniciar com.apple.debugserver

Esto se puede solucionar instalando el código sin versión más reciente de libimobiledevice e ideviceinstaller agregando la opción --HEAD al hacer brew install.

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

Licencia

Licencia MIT

Descargar herramienta