ptrance 反调试--1

ptrance 反调试 就是 不能进行debug 和 使用debugserver 

debugserver 在xcode 镜像可以找到

 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.3


ptrance 代码

1、新建 macOS项目 commond line tool 工程

2、在main函数中导入 #import <sys/ptrace>

3、点击头文件进入ptrance 找到相关api

4、在ios工程中建一个.h的头文件 复制ptrance api到头文件

5、在ios工程中引入即可使用

使用

    /* 作用反调试 不能进行debug 和 使用debugserver

        arg1 ptrace 要做的事情

        arg2 要操作的进程id

        arg3 地址

        arg4 数据 取决于arg1

     */

    ptrace(PT_DENY_ATTACH, 0, 0, 0);

例子

#import "ViewController.h"

#import "XCPtrance.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {  

  [super viewDidLoad];

//加入此代码即可达到简单的反调试效果  (app运行后闪退)

    ptrace(PT_DENY_ATTACH, 0, 0, 0);

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 调试器究竟是怎么工作的?如何阻止一个进程attach(挂载)到app上以及又如何破解这些保护(所谓反调试和反反调试...
    blueshadow阅读 11,912评论 8 10
  • 一、iOS调试 iOS调试里面非常常见的就是LLDB调试,LLDB是Xcode自带的调试工具,既可以本地调试Mac...
    KinKen阅读 9,879评论 0 5
  • 在逆向和保护的过程中,总会涉及到反调试和反反调试的问题,这篇文章主要是总结一下几种常见的反调试手段。 当我们上线一...
    含笑州阅读 7,850评论 1 4
  • 一、debugserver如何调试app? debugserver通过ptrace函数调试appptrace是系统...
    king_jensen阅读 6,238评论 1 3
  • 一: ptrace 作用 ptrace系统调从名字上看是用于进程跟踪的,它提供了父进程可以观察和控制其子进程执行的...
    ldzSpace阅读 14,406评论 1 26

友情链接更多精彩内容