瞬间让你的程序高上大

iOS iOS

strip功能

代码Strip可以把二进制文件中的symbol剥离出来,防止代码被轻易的逆向工程,并且可以大幅度减少二进制文件的体积,对控制安装包大小很有好处。

开启strip只须下面几步

  1. 编译选项中搜索Strip

  2. Strip Linked Product = Yes

  3. Deployment Postprocessing = YES

阻止GDB调试

#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  // !defined(PT_DENY_ATTACH)

void disable_gdb() {  
    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, charchar *argv[])  
{  
    #ifndef DEBUG  
        disable_gdb();  
    #endif  
    @autoreleasepool {  
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class]));  
    }  
}