Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
apk-medit — herramienta de búsqueda y parcheo en memoria para APK debuggable sin root y NDK | Kitploit
Herramientas/GitHubGitHub/sterrasec/apk-medit
Seguridad AndroidForensia de MemoriaPruebas de PenetraciónSeguridad MóvilAnálisis de Binarios
GitHubsterrasec/apk-medit

apk-medit

herramienta de búsqueda y parcheo en memoria para APK debuggable sin root y NDK

Ver Repositorio
4316522hace 10 díasRevisado 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

apk-medit

GitHub release License: MIT typos workflow

Apk-medit es una herramienta de búsqueda y parcheo de memoria para apk depurables sin root ni ndk. Fue creada para pruebas de seguridad en juegos móviles. Muchos juegos móviles tienen detección de root, pero apk-medit no requiere privilegios de root, por lo que la modificación de memoria se puede realizar sin eludir la detección de root.

Motivación

La modificación de memoria es la forma más sencilla 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 con facilidad como GameGuardian. Sin embargo, no había herramientas disponibles para dispositivos sin root y CUI. Así que la creé como una herramienta de prueba de seguridad. La versión dirigida a aplicaciones iOS es sterrasec/ipa-medit.

Demo

Esta es una demostración que usa apk-medit para completar un juego que requiere un millón de toques para superarlo.

Instalación

Descarga el binario desde GitHub Releases, por favor sube el binario a /data/local/tmp/ en un dispositivo Android. Se proporcionan binarios para arm64 (dispositivos físicos) y amd64 (emuladores Android x86_64, por ejemplo en PCs con Windows). Verifica la ABI de tu dispositivo con adb shell getprop ro.product.cpu.abi.

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

Cómo compilar

Puedes compilar con el comando make. Requiere un compilador de Go. Una vez completada la compilación, si adb está conectado, sube el binario compilado a /data/local/tmp/ en un dispositivo Android.

$ 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)

Para compilar para un emulador Android x86_64, usa el objetivo build-x86_64 en su lugar.

$ make build-x86_64 deploy
GOOS=linux GOARCH=amd64 go build -o medit
/bin/sh -c "adb push medit /data/local/tmp/medit"

Uso

Consolas de Windows

En Windows 10 Cmd y PowerShell el panel de descripción de comandos siempre visible se desplaza hacia arriba y cubre el prompt (#37). Cuando medit detecta una consola tipo Windows (una compilación nativa de Windows, o TERM vacío/dumb), imprime la lista de comandos una vez al inicio y desactiva el panel en vivo; Tab sigue completando los nombres de los comandos.

  • APK_MEDIT_LIVE_HELP=1 / 0 fuerza el panel en vivo a activado o desactivado.
  • APK_MEDIT_WINDOWS_CONSOLE=1 / 0 anula la detección de consola.

Usa el comando run-as para leer archivos usados por la aplicación objetivo, por lo que apk-medit solo se puede usar con aplicaciones que tengan habilitado el atributo debuggable. Para habilitar el atributo debuggable, abre AndroidManifest.xml, añade el siguiente atributo xml en el nodo xml application:

android:debuggable="true"

También puedes usar sterrasec/apkutil para habilitar fácilmente el atributo debuggable sin editar AndroidManifest.xml, es útil.

$ apkutil debuggable <target-apk-name>.apk

Después de ejecutar el comando run-as, el directorio se cambia automáticamente. Así que copia medit desde /data/local/tmp/. Ejecutar medit lanza un prompt interactivo.

$ adb shell
$ pm list packages # to check <target-package-name>
$ run-as <target-package-name>
$ cp /data/local/tmp/medit ./medit
$ ./medit

También puedes optar por no usar ptrace al escribir en memoria. Esto evita la detección de depurador por ptrace, pero no funciona en Android 10 o posterior debido a SELinux.

$ ./medit -without-ptrace

Comandos

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

find

Busca el entero especificado en memoria.

> 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

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

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

filter

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

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

patch

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

> patch 10
...
Successfully patched!

ps

Encuentra el proceso objetivo y, si solo hay uno, lo especifica como objetivo. ps se ejecuta automáticamente al inicio.

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

attach

Si el pid objetivo está establecido por ps, se adjunta al proceso objetivo, detiene todos los procesos de la aplicación mediante ptrace.

> 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 el pid objetivo no está establecido, se puede especificar en la línea de comandos.

> attach <pid>

detach

Se separa del proceso adjunto.

> 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

Muestra un volcado de memoria como hexdump.

Descargar herramienta