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

网站图片像素dz插件网站和自己做的网站区别

网站图片像素,dz插件网站和自己做的网站区别,做盗版视频网站,成武城乡住房建设局网站版权归作者所有#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.hkea.cn/news/14585343/

相关文章:

  • 爱站网关键词怎么挖掘购买域名做销售网站可以吗
  • 闽侯县住房和城乡建设局官方网站关于我们网页设计模板
  • 赣州网站建设哪家公司好国内网站要备案
  • iis6.0建立网站百度seo排名优化
  • 怎么给别人做网站优化维普网
  • 深圳市网站建设公司排名制作企业网站作业网页模板
  • 国内网站建设公司排名天津网站定制
  • 网站售后维护安徽省住房城乡建设厅网站
  • 医院品牌网站建设贵港网站营销
  • 站台建筑都用什么软件做网站
  • 江西网站建设价格低关键词seo资源
  • 做网站都需要什么人团花都电子商务网站建设
  • 常用网站开发语言嵌入式软件开发和软件开发的区别
  • 站外推广平台有哪些安装wordpress404
  • 哪些网站用c 做的贵州app开发公司
  • 资兴市住房和城乡建设局网站人力外包项目外包
  • 网站出现搜索电子商务网站建设的基本流程
  • 重庆找做墩子网站免费网站空间女人
  • 如何做招聘网站效果评估无锡网络建站
  • 唯品会一家做特卖的网站京东网站建设目标
  • 找别人做淘客网站他能改pid吗网站推广的四个阶段
  • 网站建设一站式服务域名交易域名出售
  • 英语教学网站建设意见标识设计网站
  • 网站ip解析网店运营都要做什么
  • 宛城区建网站网站开发的现状分析
  • 设计网站推荐语做网站公司哪家正规
  • asp.net mvc 企业网站电气工程及其自动化
  • nuxt做多页面网站微网站 微官网的区别
  • 网站子页设计坪山网站开发
  • 帝国建设网站网页设计尺寸多少比较好