Я использую несколько приложений для Android, которые подключаются к другому процессу, просматривают выделенную память и редактируют ее. Очевидно, я использовал его для игры в некоторые игры.
Затем он заставил меня подумать: "Как они это делают?" Я знаю, как получить список запущенных приложений, но подключиться к другому процессу, и сканирование и редактирование памяти процесса... Вне моего знания.
Кажется, мне нужны какие-то "корневые" привилегии для выполнения такого кода, но я не против. Я просто хочу знать, как эти разработчики приложений сделали это, чтобы удовлетворить мое любопытство.
Итак.. Предполагаются привилегии root.
1) Как я могу подключиться к текущему запуску другого приложения?
2) Как сканировать области памяти?
3) Как изменить области памяти?
inb4 "Вы пробовали искать?"
Я подумал об этом и сделал тонну Googling (1+ часов), но никаких результатов, потому что слова "RAM" и "memory" просто дают мне что-то вроде того, как отслеживать текущие распределения памяти приложения и еще много чего. Другими словами, не то, что я ищу.
Итак, я, наконец, обратился к открытию потока здесь.