gpt4 book ai didi

ios - 在 iOS 上禁用调试 session - 这有用吗?

转载 作者:行者123 更新时间:2023-11-29 10:33:36 25 4
gpt4 key购买 nike

我最近看到了这篇文章 ( http://www.splinter.com.au/2014/09/16/storing-secret-keys/ ),该文章讨论了 iOS 上的混淆。我引用:

To somewhat mitigate the risk of crackers attacking your app with a debugger (LLDB or GDB), you can insert some code in your app that makes it crash as soon as it detects a debugger attached. The iTunes app uses this technique, you can read about it here.

这是通过在main()中调用以下代码实现的

#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);
}

我知道这些代码行会使调试器在附加到进程时崩溃,但它是如何实现这种行为的?

此外,这会以任何方式损害应用程序的稳定性吗?

最佳答案

似乎 OS X 上的类似问题已经在这里得到回答:Implementing the PT_DENY_ATTACH anti-piracy code .

TL;DR - 正如 Jim Ingham 在评论中指出的那样,这是浪费时间。

关于ios - 在 iOS 上禁用调试 session - 这有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28213240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com