Android プロセスにライブラリを挿入するアプリケーションを作成したいと考えています。何よりも私はしなければならない
インジェクションの機能を実行するために使用される、リモート プロセス内のセキュア メモリをマップします。
ここで問題が発生し、Zygote を除くすべてのプロセスでメモリ マッピングを実行できます。
LRレジスタを0x00000000に設定しましたが、waitpid()でブロックしています
----- SIGSEVG シグナルを受信できませんでした。助けていただければ幸いです。ありがとうございます。
//fake saved return address, triggering a SIGSEGV to catch
regs->ARM_lr = 0x00000000;
ptrace_setregs( pid, regs );
ptrace_cont(pid);
int status;
int id = 0;
do {
id = waitpid(pid, &status, WUNTRACED);//The process was blocked ....! Why..?
printf("[+] id:%d,signal:%d\n",id,WSTOPSIG(status));
} while ((id != pid) || (WSTOPSIG(status) != SIGSEGV));