iOS安全攻防-阻止lldb对app的依附
2016-10-14 13:49
169 查看
ptrace是一个用于断点调试的工具,取自于linux
使用方法:
int ptrace(int request, int pid, int addr, int data);
其中request为请求类型,当request为31时,会阻止断掉调试
所以我们通过在main函数中调用ptrace来阻止所以的断掉调试,代码如下:
dlopen: 当path 参数为0是,他会自动查找 $LD_LIBRARY_PATH,$DYLD_LIBRARY_PATH, $DYLD_FALLBACK_LIBRARY_PATH 和 当前工作目录中的动态链接库。
使用方法:
int ptrace(int request, int pid, int addr, int data);
其中request为请求类型,当request为31时,会阻止断掉调试
所以我们通过在main函数中调用ptrace来阻止所以的断掉调试,代码如下:
#import #import 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() { 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); } int main(int argc, charchar *argv[]) { #ifndef DEBUG disable_lldb(); #endif @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class])); } }
dlopen: 当path 参数为0是,他会自动查找 $LD_LIBRARY_PATH,$DYLD_LIBRARY_PATH, $DYLD_FALLBACK_LIBRARY_PATH 和 当前工作目录中的动态链接库。
相关文章推荐
- iOS安全攻防(四):阻止GDB依附
- ios安全攻防(四)阻止GDB依附
- ios--安全攻防-阻止GDB依附
- iOS安全攻防(四):阻止GDB依附
- iOS安全攻防(六):使用class-dump-z分析支付宝app
- iOS安全攻防(十四):Hack实战——支付宝app手势密码校验欺骗
- ios--安全攻防--使用Cycript修改支付宝app运行时
- iOS安全攻防(三):使用Reveal分析他人app
- iOS安全攻防(三):使用Reveal分析他人app
- ios--安全攻防03--使用Reveal分析他人app
- iOS安全攻防(十)dump自己的app
- iOS安全攻防(六):使用class-dump-z分析支付宝app
- iOS安全攻防(三):使用Reveal分析他人app
- iOS安全攻防(三):使用Reveal分析他人app
- iOS安全攻防(三):使用Reveal分析他人app
- ios安全攻防(三)使用Reveal分析他人app
- iOS安全攻防(三):使用Reveal分析他人app
- iOS安全攻防-使用reveal查看别人app的view结构
- iOS安全攻防(三):使用Reveal分析他人app
- iOS安全攻防(三):使用Reveal分析他人app