美文网首页
iOS 项目中安全相关

iOS 项目中安全相关

作者: Airy_zhang | 来源:发表于2018-11-27 14:10 被阅读0次

动态调试攻击风险

非 DEBUG 模式下禁止调试


#import <UIKit/UIKit.h>
#import "AppDelegate.h"

#import <dlfcn.h>
#import <sys/types.h>

typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);
#if !defined(PT_DENY_ATTACH)
#define PT_DENY_ATTACH 31
#endif

void anti_gdb_debug() {
    void *handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
    ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");
    ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);
    dlclose(handle);
}


int main(int argc, char * argv[]) {
#ifndef DEBUG
    // 非 DEBUG 模式下禁止调试
    anti_gdb_debug();
#endif
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

相关文章

网友评论

      本文标题:iOS 项目中安全相关

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