美文网首页
防止lldb调式

防止lldb调式

作者: super_2e20 | 来源:发表于2020-08-13 13:58 被阅读0次
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import <dlfcn.h>

//定义一个函数指针用来接收动态加载出来的函数ptrace
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 disable_lldb() {
#if defined(DEBUG) ||defined(_DEBUG)

#else
 //动态加载并链接指定的库
 void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
//动态加载ptrace函数,ptrace函数的参数个数和类型,及返回类型跟 ptrace_ptr_t函数指针定义的是一样的

 ptrace_ptr_t ptrace_ptr = (ptrace_ptr_t)dlsym(handle, "ptrace");
 //执行ptrace_ptr相当于执行ptrace函数

 ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);
#endif
}

int main(int argc, char * argv[]) {
disable_lldb();
@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
  }

相关文章

  • 防止lldb调式

  • lldb使用

    lldb 为什么学习LLDB 工作中花大量时间调试 lldb 减少调式时间,增加乐趣 不写不必要的打印 log 代...

  • iOS逆向实战--024:lldb高级调式

    虚拟内存 早期的操作系统早期的操作系统,并没有虚拟内存的概念。系统由进程直接访问内存中的物理地址,这种方式存在严重...

  • LLDB工具使用

      授人以鱼不如授人以渔,我们常常看到别人使用屌屌的LLDB指令,完成屌屌的动态调式,我们总是送上仰望的眼神(大神...

  • 【调式】调式总结

    1. 自然大调,清乐音阶。流行乐,以及风格积极愉快的古风歌 1,2,3,4,5,6,7 2.多利亚调式,雅乐音阶,...

  • 大哥!老说你是学乐器,你知道啥调?题文章

    1 调的定义 调是调式的音高位置。调名是由调式(一般是以大调式)的主音位置来命名的,大调式主音(而不是小调式的主音...

  • 调式中的和弦的名称与标记(上)——Overture乐理小课堂

    在西方音乐的调式体系中,用不同的调式音级所构成的和弦,且在我们的调式中具有调式的某种功能性意义,就叫做调式中的和弦...

  • LLDB-iOS高效开发必备利器详解

    LLDB 一、什么是lldb lldb官网文档地址:https://lldb.llvm.org/[https://...

  • 编曲漫谈17五声调式

    民族调式通俗的讲就是每个具有民族色彩的调式 举例 比如中国五声调式 日本调式 当然这里面有很多的精华可以细讲 。这...

  • 动态调试高级用法

    LLDB - lldb_commands 下载地址LLDB 安装将下载文件解压,并将lldb_commands目录...

网友评论

      本文标题:防止lldb调式

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