• 2024-11-20性能测试解决方案
        现代的车载电子电气系统与行车安全的关联愈发紧密,诸如转向、刹车、引擎控制等功能已实现电子化控制,电控系统的失控会危及相关交通参与者的人身及财产安全,针对车载电子电气系统进行严格的安全把控也成为多家厂商的一贯标准。汽车功能的不断完善带动控制器的数量剧增,多种
  • 2024-11-19零基础逆向学习记录6
    逆向学习记录之汇编基础61.什么是堆栈平衡?<1>如果要返回父程序,则当我们在堆栈中进行堆栈的操作的操作的时候,一定要保证ret这条指令之前,esp指向的是我们压入栈中的地址,即返回call的下一行。<2>如果通过堆栈传递参数了。那么在函数执行完毕之后,要平衡参数导致的堆栈变化。
  • 2024-11-19如何理解Lua 使用虚拟堆栈
    虚拟堆栈的基本概念Lua使用虚拟堆栈来实现Lua和C(或其他宿主语言)之间的交互。这个虚拟堆栈是一个数据结构,用于存储Lua的值,如数字、字符串、表、函数等。它在Lua状态机(lua_State)内部维护,为不同类型的数据提供了一个统一的存储和访问机制。例如,当C语言调用Lua函数或者从Lu
  • 2024-11-19数据结构之堆栈的操作实现(实验报告版)
    一、堆栈是什么(原理)    在数据结构中,堆栈(Stack)是一种特殊的线性表,它遵循后进先出(LIFO,LastInFirstOut)的原则。堆栈的基本操作主要包括压栈(Push)、弹栈(Pop)、查看栈顶元素(Peek或Top)、检查栈是否为空(IsEmpty)以及获取栈的大小(Size)。以下是一个简单的堆栈操作实现,使用
  • 2024-11-19【Linux-进程信号】详谈信号捕捉
    详谈信号捕捉内核如何实现信号的捕捉如果信号的处理动作是用户自定义函数(调用signal函数自定义处理函数),在信号递达时就调用这个函数,这称为信号捕捉。由于信号处理函数的代码是在用户空间的,处理过程比较复杂典型的操作系统中信号处理的机制1.进入内核态:当程序因为中断、异
  • 2024-11-18.NET 简介
    文章目录一、组件二、免费且开源三、支持四、.NET生态系统.NET是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序。.NET可以运行使用多种语言编写的程序,其中C#是最常用的语言。.NET依赖于许多大规模应用在生产中使用的高性能运行时。
  • 2024-11-17堆栈图
    一、1、找到画堆栈图从401168开始画,ctrl+g出来一个弹窗,在弹窗上输入要找到哪一行输入0x401168,他会直接跳转2、在那一行f2下断点点开始运行让cpu运行到该行停止(画堆栈图要关注栈底EBP,栈顶ESP两个寄存器)(1)调用前(2)push2:栈顶减4,2被压入,为压栈push2之后栈顶减了4,2被压入,为压栈
  • 2024-11-14【linux漏洞】环境搭建
    第一步:设置环境1.1安装所需工具在开始之前,确保你的Linux机器上安装了以下工具:GCC(GNU编译器集合):用于编译我们的易受攻击程序。GDB(GNU调试器):用于调试程序和检查内存。Python:用于制作payload。pwntools(可选):一个帮助开发漏洞利用的Python库(后期有用)。你可
  • 2024-11-0951c嵌入式~单片机合集2
    我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395一、不同的电平信号的MCU怎么通信?下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。    先说一说这个电路的用途:当两个MCU在不同的工作电压下工作(如MCU1工作电压5V;MCU2工作电压3.3V
  • 2024-11-07PWN(栈溢出漏洞)-原创小白超详细[Jarvis-level0]
    ​题目来源:JarvisOJ https://www.jarvisoj.com/challenges题目名称:Level0题目介绍:属于栈溢出中的ret2text意思是Returntotext当程序中有可利用的危险函数控制程序的返回地址到原本的函数实现溢出利用 基础过程(看个人习惯):运行程序查看程序流程file查看文件内存
  • 2024-10-27记一次内存溢出排查(dump文件)
    问题某天晚上七点多,我们的一个服务节点挂掉了,查看了服务器状态,内存使用异常此时间段是业务量较少的时间段,仅有此节点挂掉了,另外3个节点正常我们使用Springcloud微服务架构,该服务部署了4个节点,一个节点挂掉暂不影响服务的正常使用使用jps命令查看了gc情况使用jmap-dump
  • 2024-10-26Linux 操作系统下 dris 命令介绍和使用案例
    Linux操作系统下dris命令介绍和使用案例dris命令在Linux中用于显示和清空目录堆栈中的内容dris命令简介功能:dris命令用于显示当前的目录堆栈,并可以清空堆栈中的内容。语法:bashdris[选项]常用选项+n:显示从左边算起第n个目录。-n:显示从右边算起第n个目录。
  • 2024-10-26关于栈
    栈的图一.什么是堆栈平衡(比较抽象)含义就是当函数在一步步执行的时候一直到ret执行之前,堆栈栈顶的地址一定要是call指令的下一个地址。也就是说函数执行前一直到函数执行结束,函数里面的堆栈是要保持不变的。如果堆栈变化了,那么,要在ret执行前将堆栈恢复成原来的样子。第
  • 2024-10-25STM32,堆栈,RAM,FLASH
    收藏评论0刚拿到STM32时,你只编写一个死循环编译后,就会发现这么个程序已用了1600多的RAM,这要是在51单片机上,会心疼死了,这1600多的RAM跑哪儿去了,分析.map文件,你会发现是堆和栈占用的在startup_stm32f10x_md.s文件中,它的前面几行就有以下定义:这下明白了吧,STM32在启动
  • 2024-10-24修改eip
    一、eip1、eip中存储了一个决定cpu下一行执行什么代码的地址,若想改变cpu的行为就修改eip寄存器二、JMP指令(修改eip) 修改eip为4183FD,cpu自己跳转到相应位置SHORT是跳转的位置离它所在的位置小于128字节会自动加上的,大于则没有执行之后寄存器和堆栈都没有变化,只有eip改变
  • 2024-10-20101 - Lecture 9
    CPU的内部操作,包括寄存器、堆栈和指令执行过程CPURegistersCPU寄存器•CPU寄存器是CPU内用于临时存储数据的特殊存储器。寄存器的操作速度比主存储器(内存)更快。Pentium处理器中各种寄存器,包括通用寄存器、基地址寄存器、指令指针(EIP)等。CPUstatusflagsCPU状态标志(F
  • 2024-10-20学期:2024-2025-1 学号:20241303 《计算机基础与程序设计》第四周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第四周作业)这个作业的目标<写上具体方面>计算机科学概论(第七版)第4章,第5章并完成云班课测试《C语言程序设计
  • 2024-10-19递归的优缺点以及应用
    目录Java中的递归概念例子1.斐波那契数列(FibonacciSequence)2.汉诺塔(TowerofHanoi)3.数字之和(SumofDigits)4.回文检查(PalindromeCheck)优点缺点解决递归缺点的方法Java中的递归概念递归是计算机科学中一种重要的编程技巧,它是指一个方法直接或间接地调用自
  • 2024-10-18堆栈!言简意赅理解!
    前言        在我们的生活中,常常会遇到需要整理和管理物品的情况,比如在玩具箱中放置玩具。我们可以把最后放进箱子的玩具放在最上面,这样我们每次玩耍时,只需从最上面拿出玩具即可。这种管理方式称为“堆栈”。在计算机科学中,堆栈是一种重要的数据结构,能够以“后进先出
  • 2024-10-18平衡堆栈
    理解并观测函数调用母函数做什么,子函数做什么cdecl调用约定#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>int__cdeclmethod(intx,inty){returnx+y;}intmain(){__asmmoveax,eax;//此处设置断点method(1,2);return0;}可以看出__cdecl就是C
  • 2024-10-01堆栈实现
    1、用数组实现堆栈#include<stdio.h>#include<stdlib.h>#defineMAXSTACK100/*定义堆栈的最大容量*/intstack[MAXSTACK];/*堆栈的数组说明*/inttop=-1;/*堆栈的顶端*//*判断是否为空堆栈*/intisEmpty(){if(top==-1)return1;elsereturn0;}/*将指
  • 2024-10-01STM32出现HardFault_Handler故障的原因1. **内存溢出或访问越界** 2. **堆栈溢出**
    STM32出现HardFault_Handler故障的原因STM32系统中,HardFault_Handler故障主要有两个方面的原因:内存溢出或访问越界堆栈溢出最近我遇到的问题是栈溢出,情况如下:staticchardata[10000];voidfun1(unsignedchar*buf){inti=0;for(i=0;i<5000;i++)
  • 2024-09-28从汇编视角解析函数调用中的堆栈运作
    引言汇编语言是计算机硬件操作的最直接表达方式,通过汇编代码可以深入理解计算机底层的工作机制。本文将以一个简单的C语言代码为例,深入分析其对应的汇编代码中的堆栈变化,探讨计算机在执行过程中如何通过堆栈来进行函数调用、参数传递和结果返回。C语言代码与汇编代码概述我们
  • 2024-09-26执行上下文和调用堆栈
    为顶级代码创建全局执行上下文,即不在任何fn内的代码。因此,首先执行fn之外的代码。fn-decln/exprsn的fn主体内的代码仅在调用时执行。执行上下文(ec)一段js执行的环境。存储一些要执行的代码的所有必要信息,例如局部变量、传递给fn的args。js代码始终在ec内运行
  • 2024-09-24堆栈使用
    栈stack存在内存高地址部分类似压子弹先进后出,后进先出printf("Elementattopofthestack:%d\n",peek());printf("Elements:\n");//printstackdatawhile(!isempty()){intdata=pop();printf("%d\n",data);}printf("Stackfull:%s