zoukankan      html  css  js  c++  java
  • Android 中的反调试技术

    比较简单的有下面这两种

    调试端口检测, 23946(0x5D8A)

    Demo:

    void CheckPort23946ByTcp()
    {
        FILE* pfile=NULL;
        char buf[0x1000]={0};
        // 执行命令
        char* strCatTcp= "cat /proc/net/tcp |grep :5D8A";
        //char* strNetstat="netstat |grep :23946";
        pfile=popen(strCatTcp,"r");
        if(NULL==pfile)
        {
           LOGA("CheckPort23946ByTcp popen打开命令失败!
    ");
           return;
        } 
        // 获取结果
        while(fgets(buf,sizeof(buf),pfile))
        {
            // 执行到这里,判定为调试状态
            LOGA("执行cat /proc/net/tcp |grep :5D8A的结果:
    ");
            LOGB("%s",buf);
         }//while
         pclose(pfile);
    }
    

    Android设备中调试器进程名检测, android_server, gdbserver, gdb 等

    Demo:

    void SearchObjProcess()
    {
        FILE* pfile=NULL;
        char buf[0x1000]={0};
        // 执行命令
        //pfile=popen("ps | awk '{print $9}'","r"); // 部分不支持awk命令
        pfile=popen("ps","r");
        if(NULL==pfile)
        {
            LOGA("SearchObjProcess popen打开命令失败!
    ");
            return;
        } 
        // 获取结果
        LOGA("popen方案:
    ");
        while(fgets(buf,sizeof(buf),pfile))
        {
            // 打印进程
            LOGB("遍历进程:%s
    ",buf);
            // 查找子串
            char* strA=NULL,strB=NULL,strC=NULL,strD=NULL;
            strA=strstr(buf,"android_server");
            strB=strstr(buf,"gdbserver");
            strC=strstr(buf,"gdb");
            strD=strstr(buf,"fuwu");
            if(strA || strB ||strC || strD)
            {
                // 执行到这里,判定为调试状态
                LOGB("发现目标进程:%s
    ",buf);
            }//if
        }//while
        pclose(pfile);
    }
    
  • 相关阅读:
    BZOJ 1257 余数之和
    BZOJ 1251 序列终结者
    BZOJ 2716 [Violet 3]天使玩偶
    BZOJ 2648 SJY摆棋子
    HDU 1007 Quoit Design
    BZOJ 3504 危桥
    BZOJ 1877 晨跑
    玩转Web之SSH--Heibernate (一)---第一个demo
    网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
    2013-09-16 构建C1000K的服务器(1) – 基础
  • 原文地址:https://www.cnblogs.com/seliote/p/9313641.html
Copyright © 2011-2022 走看看