美文网首页iOS Developer众汇iOS开发——智慧树
怎样阻止GDB依附应用问题的解决方式!!!(开发者须知)

怎样阻止GDB依附应用问题的解决方式!!!(开发者须知)

作者: iOS断桥念雪 | 来源:发表于2018-06-06 23:35 被阅读171次

GDB是大多数hackers的首选,阻止GDB依附到应用的常规办法是:

1.  #import <sys/ptrace.h>  

3.  int main(int argc, charchar *argv[])  
4.  {  
5.  #ifndef DEBUG  
6.  ptrace(PT_DENY_ATTACH,0,0,0);  
7.  #endif  
8.  @autoreleasepool {  
9.  return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class]));  
10.  }  
11.  }  

但遗憾的是,iPhone真实的运行环境是没有sys/ptrace.h抛出的。虽然 ptrace 方法没有被抛出, 但是不用担心,我们可以通过dlopen拿到它。

dlopen: 当path 参数为0是,他会自动查找 $LD_LIBRARY_PATH,$DYLD_LIBRARY_PATH, $DYLD_FALLBACK_LIBRARY_PATH 和 当前工作目录中的动态链接库.

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

4.  typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);  
5.  #if !defined(PT_DENY_ATTACH)  
6.  #define PT_DENY_ATTACH 31  
7.  #endif  // !defined(PT_DENY_ATTACH)  

9.  void disable_gdb() {  
10.  void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);  
11.  ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");  
12.  ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);  
13.  dlclose(handle);  
14.  }  

16.  int main(int argc, charchar *argv[])  
17.  {  
18.  #ifndef DEBUG  
19.  disable_gdb();  
20.  #endif  
21.  @autoreleasepool {  
22.  return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class]));  
23.  }  
24.  }

--------“不积小流,无以成江海;不积跬步,无以至千里。 ”--------

(机会永远是留给那些有准备的人) ↓ ↓ ↓

相关文章

  • 怎样阻止GDB依附应用问题的解决方式!!!(开发者须知)

    GDB是大多数hackers的首选,阻止GDB依附到应用的常规办法是: 但遗憾的是,iPhone真实的运行环境是没...

  • 阻止 GDB 依附

    GDB 是大多数 hackers 的首选,阻止 GDB 依附到应用的常规办法是: #importint main(...

  • 0x04 阻止 GDB 依附

    注:原文---念茜的博客 GDB 是大多数 hackers 的首选,阻止 GDB 依附到应用的常规办法是: 但遗憾...

  • iOS安全防护方案

    1.阻止动态调试 GDB、LLDB是Xcode内置的动态调试工具。使用GDB、LLDB可以动态的调试你的应用程序(...

  • 哲科思维

    这段时间在想什么问题? 为什么有这些问题, 怎样解决问题? 我想是方式的问题。 什么方式?思维方式。 那应该要怎样...

  • macOS High Sierra下无法使用gdb的解决办法

    原因 主要是因为 gdb8.1 的问题和苹果系统的SIP机制,更换版本为8.0.1就可以解决问题 步骤 更换gdb...

  • 在 macOS Sierra 10.12.5 上安装并使用 gd

    用 Homebrew 安装 gdb 然而安装成功后还是无法使用 gdb,会有如下报错: mac 的安全机制阻止了 ...

  • 办理社区就业服务岗位资助须知

    办理社区就业服务岗位资助须知 为帮助大龄下岗失业人员灵活的就业方式解决再就业问题,根...

  • Bmob 小程序源码交易教程

    源码交易介绍 如何购买? 如何读取到之前应用的数据? 如何上线? 1. 源码交易介绍 解决问题:对于开发者。开发者...

  • GDB的断点调试

    前言 之前在GDB的极致运用一文中,我们讲到了GDB启动调试的多种方式,分别应用于多种场景。今天我们来介绍一下断点...

网友评论

    本文标题:怎样阻止GDB依附应用问题的解决方式!!!(开发者须知)

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