My main goal is to make an android memory manipulating application similar to CheatEngine in PC.
After a few weeks of researching, I've found out there are 3 ways of doing memory manipulating.
ptrace
process_vm_readv / process_vm_writev
/ Proc / $ pid / mem
First Method (Ptrace): Only one Ptrace can be active on single process, Android applications.
Second Method: process_vm_readv / process_vm_writev do not exist in android.
Third Method: / proc / $ pid / mem This method can be done by opening the file.
Now back to issue. I'm looking for a way to bypass the application's memory.
For third method i was faced with a deamon binary file in Linux called inotifyd, This deamon will notify user when a file get touched (read / open / write / access) I think applications have applied inotifyd.
My simple code to open file descriptor in C / C ++
After a few weeks of researching, I've found out there are 3 ways of doing memory manipulating.
ptrace
process_vm_readv / process_vm_writev
/ Proc / $ pid / mem
First Method (Ptrace): Only one Ptrace can be active on single process, Android applications.
Second Method: process_vm_readv / process_vm_writev do not exist in android.
Third Method: / proc / $ pid / mem This method can be done by opening the file.
Now back to issue. I'm looking for a way to bypass the application's memory.
For third method i was faced with a deamon binary file in Linux called inotifyd, This deamon will notify user when a file get touched (read / open / write / access) I think applications have applied inotifyd.
My simple code to open file descriptor in C / C ++
C++:
int Open (int ProcessID)
{
char FileMem [64] = {};
sprintf (FileMem, "/ proc /% d / mem", ProcessID);
int ProcMemID = open (FileMem, O_RDWR);
// MAGIC HAPPENS HERE
if (ProcMemID == -1)
printf ("Error:% s \ n", strerror (errno));
if (ProcMemID! = -1)
close (procmemıd);
}