时 间: 2008-12-19,19:33
链 接: http://bbs.pediy.com/showthread.php?t=79022
<网页排版老是打乱格式,索性截图吧.有兴趣的可以看看,没什么技术含量,关键是我们要在调试中提高自己; >
无聊了下,简单遍历所有进程所有线程当前的状态和调用链. 很好很好,遇到某些情况,可以揪出木马,什么栈欺骗的就算了,玩玩可以
...
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
1.3k累计阅读
1.4k平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄25年
...
windows底层核心編程
病毒汇编和调试逆向技术加脱壳
当前文章被以下社区和专栏收录:
Kernel Stack栈溢出攻击及保护绕过
本文介绍Linux内核的栈溢出攻击,和内核一些保护的绕过手法,通过一道内核题及其变体从浅入深一步步走进kernel世界。
kernel:堆(heap)和栈(stack)区别
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap...
新能源知识库(62)组串式、集中式和高压直挂式
因需多台PCS及独立监控设备,单位功率成本比集中式高15%–20%。高压直挂式因省去变压器,大容量项目成本更低(>5MW时优势显著)。组串式储能、集中式储能和高压直挂式储能是当前主流的三类技术路线,其核心差异源于系统架构和控制逻辑的设计差异。组串式交流侧需变压器升压至10kV/35kV,高压直挂式可直接输出6kV/35kV电压,减少转换损耗。多台小功率PCS并联(每簇独立管理)单台大功率PCS(多簇直流侧并联)环流导致容量衰减(损失5%–8%)无变压器损耗(效率>99%)高压直挂电站(≥10MW)
Linux进程内核栈与thread_info结构详解--Linux进程的管理与调度(九)
日期 内核版本 架构 作者 GitHub 优快云 2016-06-03 Linux-4.5 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度-之-进程的描述 前言为什么需要内核栈 进程在内核态运行时需要自己的堆栈信息, 因此linux内核为每个进程都提供了一个内核栈kernel stack, struct
Camera Sensor接口协议全解析(六)聚焦onsemi HiSPi接口的技术突破与应用实践
摘要: Onsemi HiSPi是一种高速并行接口协议,专为高分辨率图像传感器设计,具备1600 Mbps传输速率、低功耗和高兼容性特点。通过对比DVP、MIPI CSI-2等主流协议,HiSPi在工业/医疗领域表现突出,支持动态功耗控制、多ROI和CRC校验。其创新架构包含多PHY设计,提供分组SP、流SP等多种工作模式,满足灵活传输需求。实际应用中,HiSPi在PCB缺陷检测(5μm精度)和液晶面板检测(0.3% Mura检出率)等场景展现卓越性能,成为高速成像领域的关键技术。
四类九种移位寄存器总结(循环(左、右、双向)移位寄存器、逻辑和算术移位寄存器、串并转换移位寄存器、线性反馈移位寄存器LFSR|verilog代码|Testbench|仿真结果)
移位寄存器有哪些分类呢? 按移位方向分类:①单向移位寄存器(包括左移、右移)②双向移位寄存器 按循环方式分类:①循环移位寄存器②非循环移位寄存器 按部位的不同分类:①逻辑移位寄存器②算术移位寄存器 按输入输出方式分类:①串入串出②串入并出③并入串出④并入并出
arm64之linux kernel的stack
研究了一下基于arm64的kernel的stack。
Cartographer全局重定位优化:无初始位姿约束的2万平工厂秒级定位实践
本文深入解析了Cartographer在2万平工业场景中的全局重定位优化实践,通过分支定界优化、子图动态加载和多传感器融合等关键技术,实现了无初始位姿约束下的秒级重定位。特别针对大场景下的快速重定位需求,优化后的系统在RK3588平台上表现出色,定位耗时从47秒降至1.8秒,成功率提升至91%,为工业自动化提供了高效解决方案。
内核栈是什么
当进程或线程在内核模式下执行时,例如在中断处理、系统调用或内核函数调用期间,需要使用内核栈来保存临时变量和上下文信息,以确保函数调用的正确性和一致性。内核栈(Kernel Stack)是操作系统内核为每个运行中的进程或线程分配的一块内存区域,用于保存内核级别的函数调用过程中的局部变量、参数以及返回地址等信息。需要注意的是,与用户栈一样,内核栈也是有限的,具有一定的大小限制。由于内核栈是为每个进程或线程分配的,因此在进程切换或线程切换时,内核栈也需要相应地进行切换,以确保每个进程或线程的内核栈独立且隔离。
Kubernetes多网卡环境下Calico网络配置避坑指南:如何精准指定业务网卡
本文针对Kubernetes多网卡环境下Calico网络配置的常见痛点,提供了精准指定业务网卡的实战指南。通过深入分析Calico的IP自动检测机制,详细解读并对比了五种IP_AUTODETECTION_METHOD配置方法(如interface、cidr、can-reach等),帮助运维人员从根源上解决网络分区和Pod通信失败问题,确保生产集群网络的稳定与可靠。
YOLO+OpenClaw缺陷检测智能体 | 低代码工业质检自动化方案 | 含YOLO模型训练/智能体集成/任务全流程,支持离线日报/预警/趋势分析,解决实时性瓶颈问题(下篇)
某PCB板制造商需要对生产线上的PCB板进行缺陷检测,主要检测划痕、凹坑、污渍和裂纹等缺陷。原有人工检测方式效率仅为200件/小时,漏检率达5%,且检测人员长期工作易疲劳。
linux环境查看当前内核栈已使用过的最大值及对应内核栈调用链信息
1、挂载debugfs 2、启用内核栈追溯 3、查看内核栈已用最大值及对应调用链信息 4、使用watch动态查看 5、使用function tracer动态追踪内核函数堆栈
基于Django+Vue3的智能目标检测系统设计与实现,Vue3前台系统+Django后台管理系统开发,Web前后端分离,YOLOv8 Web目标检测,实现图片、视频和摄像头检测等功能,全网独发
目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 Django + Vue3,构建一个Vue3前台系统+Django后台管理系统开发,便于用户进行目标检测的操作和展示,实现对图片、视频实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持更换自己模型、图片检测、实时视频检测、置信度调节和IoU参数调节。同时支持目标检测、实例分割、关键点检测等任务
关于查内核态内存泄露(转自zh-kernel)
<br />>> 有没有那种不改动程序的工具?<br />>><br />>><br />> 如果不用工具的话,有两个办法可以查看是否存在内存问题,<br />> 1. 跟踪/proc/buddyinfo的变化,比如<br />> #!/bin/sh<br />> while test 1 -eq 1<br />> do<br />> echo -n `cat /proc/buddyinfo` " "; date<br />> sleep 1<br />> done<br />> 将这个
2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案
2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
Linux 0.11 进程切换机制对比:TSS硬件切换 vs 内核栈软件切换性能分析
本文深入分析了Linux 0.11内核中TSS硬件切换与内核栈软件切换两种进程切换机制的性能差异。通过详细的实验数据和代码解析,揭示了内核栈切换在寄存器保存、内存访问等方面的性能优势,为操作系统内核优化提供了重要参考。文章特别结合哈工大实验环境,展示了进程切换技术的实际应用与验证方法。
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
Linux Kernel Stack Overflow/Linux 内核栈溢出
Linux内核会分配一页(4K stack)或两页连续(8K stack)不可交换(non-swappable)内存来作为内核栈使用。可以看到,一个地方(kernel_stack_init函数)的栈占去$0x400(有几个局部变量是直接使用的寄存器,所以才没有消耗栈),而另外一个地方(just_copy_half函数)的栈占去%rax是个不定值,这就需要继续看对应的汇编来进行分析(因为数组是动态数组),这只是个示例,如果在真实内核代码中有这样的函数,那是相当危险的。,好吧,继续8K内核栈。
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
kernel 3.10内核源码分析--内核栈及堆栈切换
1、概念 Linux中有3种栈: 1)用户栈。当进程处于用户态时使用,位于进程地址空间(用户态部分(如:0-0xc0000000))底部,用户态分配局部变量和函数调用时时,使用该栈,跟平时我们见到和理解的一样,就是虚拟地址空间中的一段。 2)内核栈。跟用户栈独立,属于进程,即每个进程都有自己的内核栈,单独分配,大小为8k,跟thread_info结构放在一起,在用户态和内核态切换时,需要进行
基于内核栈切换的进程切换(李治军操作系统课实验5)
分析: TSS作用 找到当前内核栈:进程内核栈在线性地址空间中的地址是由该任务的TSS段中的ss0和esp0两个字段指定的,依靠TR寄存器就可以找到当前进程的TSS。也就是说,当从用户态进入内核态时,CPU会自动依靠TR寄存器找到当前进程的TSS,然后根据里面ss0和esp0的值找到内核栈的位置,完成用户栈到内核栈的切换。TSS是沟通用户栈和内核栈的关键桥梁,这一点在改写成基于内核栈切换的进程切...
kernel内核栈的检测
目前内核(4.12)栈的大小是16K liclude/linux/sched.h union thread_union { #ifndef CONFIG_THREAD_INFO_IN_TASK struct thread_info thread_info; #endif unsigned long stack[THREAD_SIZE/sizeof(long)];
新手玩转Linux Kernel漏洞之Kernel_Stack_Buffer_Overflow
新手玩转Linux Kernel漏洞之Kernel_Stack_Buffer_Overflow 序言 这是Linux内核漏洞入门的第二篇, 由于其他大佬已经将整个提权流程将的很清楚, 此处不再赘述, 本文说一些其他大佬没讲到的地方–exp的解读. 驱动代码 提醒: 关闭内核canary的保护, 将.config的CONFIG_...
这里为啥有个kernel_stack,没有定义,没有声明。。。。
Linux内核代码current是通过thread_info来找到task_struct地址的。而寻找thread_info是通过current_thread_info函数来的。其实就是要读取内核态的栈顶指针即可。\linux-2.6.34.13\arch\x86\include\asm\Thread_info.h中215行代码:static inline struct thread_info *
linux kernel中的栈的介绍
目录1、linux kernel中的中断irq的栈stack(1)、arm32体系的irq的栈(2)、arm64体系的irq的栈2、linux kernel中的进程栈stack(1)、概念介绍:内核栈、内核空间进程栈、用户空间进程栈(2)、内核栈 的实现(2)、内核进程栈、用户进程栈 的实现 1、linux kernel中的中断irq的栈stack (1)、arm32体系的irq的栈 如下结构体描述了IRQ mode的栈,很小,只有12bytes。那是因为在linux kernel arm32体系中,真正的
Linux Kernel Stack
整理一些杂乱的内容。以下x86架构。 Linux 内核栈大小 内核栈大小是固定的,默认为8k,曾经有选项可以设置为4k栈。由于大小固定,申请过大的栈内存,或者函数调用层次过深,都可能导致栈溢出。 关注默认4k还是8k栈,社区曾有过长时间讨论。 其中8k栈的缺点如下: 浪费内存。 由于内核4k分页,要创建一个内核栈就需要申请2块连续的4k页。当内存碎片严重,尤其内存紧张的...
查看kernel调用栈对应的代码行号
我们在分析watchdog问题时经常会遇到D状态的线程,然后它的调用栈如下:"ActivityManager" prio=5 tid=11 Native| group="main" sCount=1 dsCount=0 obj=0x12c567e0 self=0x7f77a35a00| sysTid=2180 nice=-2 cgrp=default sched=0/0 handle=0x7f7c...
3254

被折叠的 条评论
为什么被折叠?



