阻止GDB依附
来源:互联网 发布:淘宝客免费建站 编辑:程序博客网 时间:2024/05/16 04:10
GDB是大多数hackers的首选,阻止GDB依附到应用的常规办法是:
- #import <sys/ptrace.h>
- int main(int argc, charchar *argv[])
- {
- #ifndef DEBUG
- ptrace(PT_DENY_ATTACH,0,0,0);
- #endif
- @autoreleasepool {
- return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class]));
- }
- }
但遗憾的是,iPhone真实的运行环境是没有sys/ptrace.h抛出的。虽然 ptrace 方法没有被抛出, 但是不用担心,我们可以通过dlopen拿到它。
dlopen: 当path 参数为0是,他会自动查找 $LD_LIBRARY_PATH,$DYLD_LIBRARY_PATH, $DYLD_FALLBACK_LIBRARY_PATH 和 当前工作目录中的动态链接库.
- #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);
- }
- int main(int argc, charchar *argv[])
- {
- #ifndef DEBUG
- disable_gdb();
- #endif
- @autoreleasepool {
- return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class]));
- }
- }
0 0
- 阻止GDB依附
- ios--安全攻防-阻止GDB依附
- iOS安全攻防(四):阻止GDB依附
- iOS安全攻防(四):阻止GDB依附
- ios安全攻防(四)阻止GDB依附
- iOS安全攻防-阻止lldb对app的依附
- 阻止GDB调试
- 线程依附性
- tomcat项目依附
- QObject 之 Thread依附性
- UIPickerView两列依附关系
- C9 :领域,依附集和内聚
- 文件依附软件 v1.0 绿色
- 依附适合自己的先进技术,少走弯路
- UIAttachmentBehavior-动画效果:依附,关联
- Fragment和Activity之间的依附使用
- GDB
- gdb
- linux第一个用户进程init--sysvinit
- RTP发送H264图像发灰解决方法
- stm32+mpu6050+四元数解算
- SolrCloud使用Zookeeper管理集群的基本流程
- 12.27(2)
- 阻止GDB依附
- GIT大话流程介绍
- linux-共享内存
- soj 4392 double类型的使用和二分查找
- 并发程序—线程池
- [Elasticsearch] 控制相关度 (五) - function_score查询及field_value_factor,boost_mode,max_mode参数
- Java的IO流之文件随机读写
- Firemonkey for IOS OSX 10.9 XCode6.1
- poj解题报告——3267