当前位置: 首页 > news >正文

泊头网站排名优化做网站平台需要多少钱

泊头网站排名优化,做网站平台需要多少钱,免费加速器试用一小时,网站换肤代码版权归作者所有#xff0c;如有转发#xff0c;请注明文章出处#xff1a;https://cyrus-studio.github.io/blog/ 详细的 Linux 信号列表 Linux 信号是一种用于进程间通信#xff08;IPC#xff09;和异常处理的机制。以下是详细的 Linux 信号列表#xff0c;包含信号名… 版权归作者所有如有转发请注明文章出处https://cyrus-studio.github.io/blog/ 详细的 Linux 信号列表 Linux 信号是一种用于进程间通信IPC和异常处理的机制。以下是详细的 Linux 信号列表包含信号名称、默认行为及用途 信号编号信号名称默认行为说明1SIGHUP终止进程终止控制终端或配置文件发生变化时发出。2SIGINT终止进程来自用户输入通常是 CtrlC。3SIGQUIT终止进程并生成core文件来自用户输入通常是 Ctrl\。4SIGILL终止进程并生成core文件非法指令执行。5SIGTRAP终止进程并生成core文件调试陷阱。6SIGABRT终止进程并生成core文件调用 abort 函数时发出。7SIGBUS终止进程并生成core文件总线错误内存访问不对齐。8SIGFPE终止进程并生成core文件浮点运算错误。9SIGKILL终止进程强制终止进程无法被捕获或忽略。10SIGUSR1终止进程用户自定义信号 1。11SIGSEGV终止进程并生成core文件无效的内存访问。12SIGUSR2终止进程用户自定义信号 2。13SIGPIPE终止进程向没有读取端的管道写入数据时发出。14SIGALRM终止进程由 alarm 函数发出的定时器信号。15SIGTERM终止进程请求终止进程可以被捕获和忽略。16SIGSTKFLT终止进程协处理器栈错误。17SIGCHLD忽略子进程停止或终止时发出。18SIGCONT继续执行让停止的进程继续运行。19SIGSTOP停止进程停止进程无法被捕获或忽略。20SIGTSTP停止进程来自用户输入的停止信号通常是 CtrlZ。21SIGTTIN停止进程后台进程尝试从终端读取输入时发出。22SIGTTOU停止进程后台进程尝试向终端写入输出时发出。23SIGURG忽略套接字有紧急数据到达时发出。24SIGXCPU终止进程超出 CPU 时间限制。25SIGXFSZ终止进程超出文件大小限制。26SIGVTALRM终止进程虚拟时钟信号由27SIGPROF终止进程定时器到期由28SIGWINCH忽略终端窗口大小改变时发出。29SIGIO忽略I/O 事件发生时发出。30SIGPWR终止进程电源故障时发出。31SIGSYS终止进程并生成core文件非法的系统调用。 此外Linux 还支持实时信号Real-Time Signals编号从 32 开始通常是用于用户自定义的信号应用程序可根据需要使用这些信号。 利用 SIGTRAP 检测调试器 SIGTRAP 是一个陷阱信号通常由调试器在调试被调试程序时触发。 如果一个程序主动触发 SIGTRAP 信号并且信号处理函数被成功调用则意味着没有调试器存在因为信号并未被拦截。 反之如果信号处理函数没有被调用则意味着调试器捕获并处理了该信号从而可以推测出程序正处于被调试状态。 Android下反调试的流程 1. 我们通过 JNI 调用 C 代码来设置一个 SIGTRAP 信号处理器。 2. 当触发 SIGTRAP 时信号处理器将会捕获信号。如果信号处理器成功处理了信号则表明没有调试器。 3. 如果调试器存在SIGTRAP 信号不会到达我们的信号处理器程序将检测到这一情况并在 3 秒后退出。 Android下反调试实现 1. 定义信号处理器并检测调试器 首先我们在 C 代码中编写反调试逻辑核心是通过 raise(SIGTRAP) 触发 SIGTRAP 信号并判断信号是否被捕获。 #include jni.h #include signal.h #include stdlib.h #include unistd.h #include android/log.h#define LOG_TAG AntiDebug #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)// 标志变量判断 SIGTRAP 是否被捕获 volatile int sigtrap_caught 0;// SIGTRAP 信号处理函数 void sigtrap_handler(int sig) {LOGI(Caught SIGTRAP. No debugger present.);sigtrap_caught 1; // 标记 SIGTRAP 被捕获 }// JNI 方法触发 SIGTRAP 信号并检测调试器 JNIEXPORT jboolean JNICALL Java_com_cyrus_example_antidebug_AntiDebug_detectDebugger(JNIEnv *env, jobject instance) {// 注册 SIGTRAP 处理器signal(SIGTRAP, sigtrap_handler);// 触发 SIGTRAP 信号raise(SIGTRAP);// 检查信号是否被捕获if (sigtrap_caught) {LOGI(No debugger detected.);return JNI_FALSE; // 没有检测到调试器} else {// 如果信号未被捕获说明有调试器LOGI(Debugger detected! The program will exit in 3 seconds...);sleep(3); // 等待 3 秒exit(EXIT_FAILURE); // 退出程序return JNI_TRUE; // 返回 true表示检测到调试器} }配置 CMakeLists.txt 文件 cmake_minimum_required(VERSION 3.4.1)find_library( # 查找 log 库log-lib# 库名log )add_library( # 库名称antidebug# 库类型SHARED# 源文件anti_debug.c )target_link_libraries( # 绑定库到 log 库antidebug${log-lib} )2. Kotlin 层调用 JNI 方法 在 Kotlin 层我们通过 JNI 调用 detectDebugger 函数以检测是否存在调试器。根据结果程序可以作出不同的响应。 package com.cyrus.example.antidebugimport android.util.Logobject AntiDebug {init {// 加载 native 库System.loadLibrary(antidebug)}external fun detectDebugger(): Booleanfun isDebuggerDetected(): Boolean {val detected detectDebugger()if (detected) {Log.i(AntiDebug, Debugger detected!)} else {Log.i(AntiDebug, No debugger detected.)}return detected} }3. 调用反调试功能 val debuggerDetected AntiDebug.isDebuggerDetected() if (debuggerDetected) {Toast.makeText(this, Debugger Detected, Toast.LENGTH_SHORT).show() } else {Toast.makeText(this, No Debugger Detected, Toast.LENGTH_SHORT).show() }测试反调试 1. 无调试状态 无调式状态 App 中点击 “SIGTRAP 反调试” 按钮调用反调试功能未检测到调试器程序正常运行。 2. 调试状态下 通过 IDA Pro 附加到当前应用 关于如何使用 IDA Pro 动态调试 Android App 可以参考这篇文章【使用IDA Pro动态调试Android APP】 App 中点击 “SIGTRAP 反调试” 按钮调用反调试功能SIGTRAP 信号 被 IDA Pro 调试器捕获。 触发程序反调试机制程序在 3 秒后退出。 源码 完整源码https://github.com/CYRUS-STUDIO/AndroidExample
http://www.w-s-a.com/news/502339/

相关文章:

  • 更改各网站企业信息怎么做张家港企业网站制作
  • 郑州网站建设咨询银川做网站哪家好
  • 微信网站 微信支付合肥seo排名收费
  • 织梦做的网站如何上线广东省广州市番禺区南村镇
  • 网站设计的导航栏怎么做太原有网站工程公司吗
  • 苏州虎丘区建设局网站如何在一个数据库做两个网站
  • 淘宝天猫优惠券网站建设费用腾讯邮箱企业邮箱登录
  • 深圳福田做网站公司海航科技网站建设
  • 网站降权查询wordpress更换文章背景色
  • 大型电商网站开发金融企业网站建设公司
  • 成都营销型网站建设价格化妆品品牌推广方案
  • 深圳公司手机网站制作苏州网站推广哪家好
  • 网站建设开发方式包括购买学校网站建设费计入什么科目
  • 做简单网站的框架图中小微企业查询平台
  • 哪些网站可以免费做产品推广建设建设部网站
  • 网站开发销售怎么做django做网站
  • 淘宝客网站做百度竞价万网域名怎么绑定网站
  • 建设网站找哪个公司北京知名大公司有哪些
  • 专业彩票网站开发网站流量在哪设置
  • 网站建设对应的岗位榆林做网站公司
  • 网站建设公司怎么算专业js网站分页怎么做
  • 网和网站的区别phpcms和帝国cms哪个好
  • wordpress改网站名字长沙网络营销外包
  • 宝塔怎么做第二个网站网站内容设计遵循的原则有
  • 网站违反了 google 质量指南免费ppt模版网站
  • 郑州网站建设郑州网站建设成都那家网站建设好
  • 温州网站排名优化公司如何招聘软件网站开发人员
  • 成都 网站建设公司哪家好襄阳行业网站建设
  • wordpress 调用时间做网站seo的公司哪家好
  • 手机上网站搭建网站账户系统