美文网首页
Android逆向之绕过双进程保护

Android逆向之绕过双进程保护

作者: parkerpeng | 来源:发表于2016-10-17 10:10 被阅读219次

    修改$AOSP/bionic/libc/bionic/fork.c,让程序fork失败即可,修改的代码如下:

    #include <unistd.h>
    #include <stdlib.h>
    #include <fcntl.h>
    #include "pthread_internal.h"
    #include "bionic_pthread.h"
    #include "cpuacct.h"
    
    extern int  __fork(void);
    
    #define BUF_LEN 512
    
    int block()
    {
        char buf[BUF_LEN] = {0};
        char cmd[128] = {0};
        sprintf(cmd , "/proc/%d/cmdline" , getpid());
        int fd = open(cmd , O_RDONLY);
        read(fd , buf , BUF_LEN);
        close(fd);
        char targetPath[BUF_LEN] = {0};
        sprintf(targetPath , "/data/data/%s" , buf);
        if (access(targetPath , F_OK) == 0)
        {
             return 1;
        }
        return 0;
    }
    
    int  fork(void)
    {
        int  ret;
        if (block())
        {
            return -1;
        }
    //......
    }
    

    虽然这种小技巧很容易在以后的加固版本会被针对,但是至少目前是有效的

    相关文章

      网友评论

          本文标题:Android逆向之绕过双进程保护

          本文链接:https://www.haomeiwen.com/subject/lszosttx.html