美文网首页
iOS逆向-ptrace反调试

iOS逆向-ptrace反调试

作者: l富文本l | 来源:发表于2019-03-19 17:06 被阅读0次
ptrace头文件不能直接导入app工程,可以直接复制ptrace.h的文件到自己新建的MyPtrace.h中,然后调用
ptrace.h路径:/usr/include/sys/ptrace.h
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import "MyPtrace.h"
#import <dlfcn.h>

int main(int argc, char * argv[]) {
    
    /**
     反调试
     */
    #ifndef PT_DENY_ATTACH
    #define PT_DENY_ATTACH 31
    #endif
    //第一次,通过符号直接调用ptrace
    typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);
    ptrace(PT_DENY_ATTACH, 0, 0, 0);
    
    //第二次,通过dlopen,dlsym调用
    void *handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
    ptrace_ptr_t ptrace_ptr = (ptrace_ptr_t)dlsym(handle, "ptrace");
    ptrace_ptr(PT_DENY_ATTACH,0,0,0);
    
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

Xcode运行之后会直接断开连接

相关文章

  • iOS 逆向 Ptrace 反调试

    attribute((always_inline)) (强内联) 的意思是强制内联,所有加了attribute(...

  • iOS逆向-ptrace反调试

    ptrace头文件不能直接导入app工程,可以直接复制ptrace.h的文件到自己新建的MyPtrace.h中,然...

  • iOS高级调试&逆向技术

    iOS高级调试&逆向技术 iOS高级调试&逆向技术

  • 反ptrace反调试

    一、前言 上次学习到ptrace反调试,我是将反调试的代码放在主程序的main函数内部,最近学习了一下dyld加载...

  • 反调试与反-反调试

    1. 反调试与反-反调试 1.1 常用反调试 1.1.1 ptrace 为了方便应用软件的开发和调试,从Unix的...

  • iOS逆向目录

    越狱最新进展 一.逆向基础 iOS逆向基础01-越狱iOS逆向基础02-编译&调试iOS逆向基础03-符号表iOS...

  • iOS 逆向 -- 动态调试防护

    ptrace debugserver通过ptrace函数调试app ptrace是系统函数,此函数提供一个进程去监...

  • iOS安全防护之ptrace反调试

    一、debugserver如何调试app? debugserver通过ptrace函数调试appptrace是系统...

  • iOS防护 ptrace反调试

    在 iPhone 上运行 App,然后通过 GDB 进行动态调试,是大多数攻击者的首选。本文主要介绍两种反调试的方...

  • iOS安全----ptrace反调试

    常规的ptrace反调试都已经烂大街了,这里来个新思路,使用函数指针调用:

网友评论

      本文标题:iOS逆向-ptrace反调试

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