4

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));
4

0 に答える 0