检测调试器和trace
2015-12-04 19:59
465 查看
网络搜集好久才完成的初步成果,分享给大家:检测程序是否调试模式和trace,如果是则退出程序。
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, char * argv[])
{
// DEBUG模式下定义了 宏 “DEBUG” release模式下则没有
}
import
import
include
include
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, char * argv[])
{
// DEBUG模式下定义了 宏 “DEBUG” release模式下则没有
ifdef DEBUG
disable_gdb();
endif
//#ifndef DEBUG
// disable_gdb();//#endif
if (check_debugger()) {
disable_gdb();}
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
相关文章推荐
- 在网页里看flash的trace数据的js类
- 通过Android trace文件分析死锁ANR实例过程
- 如何关闭http Methods中的Trace 提高安全意识
- SQL Server Profiler – 存储过程调试
- 跟踪考虑及设计
- VC中TRACE ASSERT VERIFY之用法
- ORACLE 10046 TRACE
- Bug追踪系统Redmine
- 基于NDK的Android防破解
- Flex开发学习——环境简介
- Mac OS X的利器dtrace,能实现process/file monitor,特别便于排错
- Android trace 文件含义
- 转载:爱内测 1分钟找APP漏洞,开发者就可以开心「捉虫」
- 说明一下packer tracer的使用
- 关注应用安全 请走出“代码混淆”误区
- 怎样反编译 Android APK?
- 使用TraceMon分析TimesTen查询最大连续内存块瞬间Hang问题[TimesTen运维]
- How to set trace for others sessions, for your own session and at instance level
- SQL Trace
- Oracle SQL跟踪