美文网首页ios 逆向
iOS安全攻防: GDB依附的攻与防

iOS安全攻防: GDB依附的攻与防

作者: 司空123 | 来源:发表于2019-08-15 15:41 被阅读0次

    一 、GDB动态调试:

    1、首先在越狱机中打开你要调试的app。

    2、通过ssh远程连接到iOS设备。
    $ yueyuhui:~ root# ssh root@172.20.10.2

    3、使用adv-cmds的工具,查询系统中正在运行中的进程号。
    $ yueyuhui:~ root# ps -ax

    4 、在查询结果中搜索app,找到要附件的进程id。


    WechatIMG29466.jpeg

    5、使用GDB 附加1698号(微信)进程。
    $ yueyuhui:~ root# gdb -p 1698

    6、开始正式调试app....

    二 、阻止GDB依附:

    1. 首先在main.m中导入函数库;
    #import <dlfcn.h>
    #import <sys/types.h>
    

    2.编写GDB附加检测函数

    #if !defined(PT_DENT_ATTACH)
    #define PT_DENT_ATTACH 31
    #endif
    typedef int (*ptrace_ptr_t)(int _request, pid_t pid, caddr_t _addr, int _data);
    void disable_gdb() {
        void * handle = dlopen(0, RTLD_GLOBAL|RTLD_NOW);
        ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");
        ptrace_ptr(PT_DENT_ATTACH, 0, 0, 0);
        dlclose(handle);
    }
    

    3.在main函数中调用函数;

    int main(int argc, char * argv[]) {
        
        /**防止GDB挂起*/
    #ifndef DUBUG
        disable_gdb();
    #endif
    
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
    }
    

    相关文章

      网友评论

        本文标题:iOS安全攻防: GDB依附的攻与防

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