Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
apk-medit — инструмент для поиска и патча памяти в отлаживаемом APK без root и ndk | Kitploit
Инструменты/GitHubGitHub/sterrasec/apk-medit
Безопасность AndroidКриминалистика памятиТестирование на ПроникновениеМобильная безопасностьАнализ Бинарных Файлов
GitHubsterrasec/apk-medit

apk-medit

инструмент для поиска и патча памяти в отлаживаемом APK без root и ndk

Репозиторий
431652010 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

apk-medit

GitHub release License: MIT typos workflow

Apk-medit — это инструмент поиска и изменения памяти для отлаживаемых apk без root и ndk. Он был создан для тестирования безопасности мобильных игр. Во многих мобильных играх есть обнаружение рута, но apk-medit не требует root-привилегий, поэтому модификацию памяти можно выполнять без обхода обнаружения рута.

Мотивация

Модификация памяти — самый простой способ читерства в играх, это один из пунктов, проверяемых при тестировании безопасности. Существуют также читерские инструменты, которые можно использовать без подготовки, например GameGuardian. Однако не было инструментов для устройств без root и CUI. Поэтому я сделал его как инструмент тестирования безопасности. Версия, ориентированная на приложения iOS — sterrasec/ipa-medit.

Демонстрация

Это демонстрация использования apk-medit для прохождения игры, для завершения которой требуется миллион нажатий.

Установка

Скачайте бинарный файл со страницы GitHub Releases, загрузите бинарный файл в /data/local/tmp/ на android-устройстве. Бинарные файлы предоставляются для arm64 (физические устройства) и amd64 (эмуляторы Android x86_64, например, на ПК с Windows). Проверьте ABI вашего устройства с помощью 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)

Как собрать

Вы можете собрать с помощью команды make. Требуется компилятор go. После завершения сборки, если adb подключён, собранный бинарный файл загружается в /data/local/tmp/ на 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)

Для сборки под эмулятор Android x86_64 используйте цель build-x86_64.

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

Использование

Консоли Windows

В Windows 10 Cmd и PowerShell постоянно отображаемая панель описания команд смещается вверх и перекрывает приглашение (#37). Когда medit обнаруживает консоль, похожую на Windows (нативная сборка для Windows или пустой/dumb TERM), он выводит список команд один раз при запуске и отключает живую панель; Tab по-прежнему дополняет имена команд.

  • APK_MEDIT_LIVE_HELP=1 / 0 принудительно включает или отключает живую панель.
  • APK_MEDIT_WINDOWS_CONSOLE=1 / 0 переопределяет определение консоли.

Используйте команду run-as для чтения файлов, используемых целевым приложением, поэтому apk-medit можно использовать только с приложениями, у которых включён атрибут debuggable. Чтобы включить атрибут debuggable, откройте AndroidManifest.xml, добавьте следующий xml-атрибут в xml-узел application:

android:debuggable="true"

Вы также можете использовать sterrasec/apkutil, чтобы легко включить атрибут debuggable без редактирования AndroidManifest.xml, это удобно.

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

После выполнения команды run-as каталог автоматически меняется. Поэтому скопируйте medit из /data/local/tmp/. Запуск medit открывает интерактивное приглашение.

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

Вы также можете отказаться от использования ptrace при записи в память. Это позволяет избежать обнаружения отладчика через ptrace, но не работает на Android 10 или новее из-за SELinux.

$ ./medit -without-ptrace

Команды

Ниже приведены команды, доступные в интерактивном приглашении.

find

Ищет указанное целое число в памяти.

> 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

Вы также можете указать тип данных, например string, word, dword, qword.

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

filter

Фильтрует предыдущие результаты поиска, соответствующие текущим результатам поиска.

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

patch

Записывает указанное значение по адресу, найденному при поиске.

> patch 10
...
Successfully patched!

ps

Находит целевой процесс и, если он только один, указывает его как целевой. ps запускается автоматически при старте.

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

attach

Если целевой pid установлен с помощью ps, присоединяется к целевому процессу, останавливает все процессы в приложении с помощью 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

Если целевой pid не установлен, его можно указать в командной строке.

> attach <pid>

detach

Отсоединяется от присоединённого процесса.

> 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

Отображает дамп памяти в стиле hexdump.

Скачать инструмент