• 2024-10-1020222313 2024-2025-1《网络与系统攻防技术》实验一报告
    1.实验内容本次实践的对象是一个名为pwn1的linux可执行文件。该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常情况下这个代码是不会被运行的。我们实践的目标就是想办法运行这个
  • 2024-10-0920222314 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    网络攻防实验报告姓名:陈振烨学号:20222314实验日期:2024/09/29—2024/10/09实验名称:缓冲区溢出和shellcode指导教师:王志强实验要求: 1.掌握NOP,JNE,JE,JMP,CMP汇编指令的
  • 2024-10-0820222417 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容(1).掌握反汇编与十六进制编程器(2).能正确修改机器指令改变程序执行流程(3).能正确构造payload进行bof攻击2.实验过程(1).直接修改程序机器指令,改变程序执行流程将pwn1文件放入共享文件夹,后续在kali中使用,再将文件复制到实验文件夹share路径下找到本次实验所用的三个代码片
  • 2024-10-08计算机系统层次结构中的微程序设计
    错题考查的知识点是关于计算机系统层次结构中的微程序设计。微程序设计是一种低级编程方式,它使用微指令来控制计算机硬件的操作。微指令是控制计算机硬件操作的基本命令,通常由硬件实现,并且是不可编程的。微程序则是由一系列微指令组成的程序,用于实现更复杂的操作。以下是关于微
  • 2024-09-19【操作系统】1.3.1操作系统的运行机制
    这一小节我们会学习操作系统的运行机制,即操作系统在计算机上是怎么运行的:程序是如何运行的?(计算机底层只能识别二进制机器指令,即只能识别0和1)注意:先前所说的小黑框,是交互式命令接口;而本节所提指令是二进制机器指令。在操作系统这门课中,我们需要区分两种类型的程序:“内
  • 2024-09-04鸿蒙内核源码分析 (编码方式篇) | 机器指令是如何编码的?
    本篇说清楚 ARM指令是如何被编码的,机器指令由哪些部分构成,指令有哪些类型,每种类型的语法又是怎样的?代码案例|C->汇编->机器指令看一段C语言编译(clang)成的最后的机器指令(armv7)intmain(){inta=0;if(a!=1)a=2*a+1;returna;}生成汇
  • 2024-08-27【408精华知识】控制器考点总结
    CPU由运算器和控制器构成,控制器包括PC、IR、MAR、MDR、CU等部分构成,其中CU是控制单元,负责分析指令并发出各种微操作命令序列,其分为硬布线控制器与微程序控制器两种,常考硬布线控制器的概念、微程序控制器的概念和工作原理、两种控制器的对比、RISC与CISC的对比。文章目
  • 2024-08-23初学 Delphi 嵌入汇编[1] - 汇编语言与机器语言
    非科班出身,现在才接触汇编,惭愧呀,好好学!主选课本是清华大学王爽老师的《汇编语言》.推荐 王爽老师的汇编网汇编语言之前是机器语言.机器语言是机器指令的集合,机器指令是一系列二进制数字,计算机将之转换为一系列高低电平,而实现运算.在PC机上运行机器指令的是CPU;
  • 2024-08-22【OS系列】程序是怎么一步步变成机器指令的?
    程序是怎么一步步变成机器指令的?2024年08月22日12:03四川以下文章来源于码农的荒岛求生,作者码农的荒岛求生大家好,今天简单聊聊程序是怎么一步步变成机器指令的。左边是我们写的代码,右边是CPU执行的机器指令:想让CPU执行代码只需要简单的点击一下这个按钮:可是你知道这个
  • 2024-07-16计算机组成复习——第二章机器指令知识点总结
  • 2024-07-15认识JVM
    类加载器运行时数据区执行引擎执行引擎的任务就是将字节码指令解释/编译为对应平台上的本地机器指令JVM架构图
  • 2024-07-02learncpp网站学习笔记
    0.1课程简介教程特点:零基础适用、示例丰富课程结构:第0章介绍c++编程的相关概念及软件;第1章介绍c++基础,后面章节深入研究;每章都有一个主题目标涵盖一般的编程主题:编程风格、常见陷阱、调试、好/坏的编程实践、测试提供大量示例(尽量不在示例中省略内容、引入未解释过的概念
  • 2024-04-25为什么objdump的-S选项要配合gcc的-g选项
    为什么objdump的-S选项要配合gcc的-g选项objdump的-S选项需要配合gcc的-g选项使用,以便在反汇编输出中包含源代码。首先,objdump是一个用于显示二进制目标文件信息的工具,而-S选项是其中的一个标志,它的作用是在反汇编的机器指令旁边显示相应的源代码行。这有助于理解程序的执行流程
  • 2024-04-048086 汇编学习 Part 1
    学习汇编语言的重要性编程语言发展不可替代性效率:用于开发软件的核心部件,可以快速执行和实时响应。底层:开发操作系统内核,嵌入式系统等计算机及外围设备的驱动程序作用:直击计算机系统的核心,可以加深对计算机原理和操作系统的理解。学习内容理解硬件结构,掌握指令集,理解
  • 2024-02-21《程序是怎么跑起来的》第十章
    阅读了程序集是怎么跑起来的第十章,我了解了通过汇编语言了解程序的实际构成,对于本章的总结我认为本章的前半部分讲的是CPU运行本地代码的关系,而后半部分则讲述的是局部变量和全局变量的不同。汇编语言和本地代码之间存在一一对应的关系。汇编语言是一种低级语言,它提供了一种与计
  • 2024-01-28程序是怎么跑起来的(1)
    当人类步入信息时代,编程已经逐成为一项基本技能。最近我读了《程序是如何跑起来的》这本书,让我对程序的运行原理有了更深的理解。这本书从二进制计算机的基本原理入手,详细解析了程序从源代码到机器指令的执行过程。我印象深刻的是书中关于二进制的描述。二进制作为计算机内部信息
  • 2023-10-11【转】Java字节码漫画
    引言最近刷到一篇短漫画,讲的是Java语言的字节码特性,非常有趣生动。V8引擎最初是把JavaScript编译成了机器指令,后来发现了一些弊端,转而使用了字节码。这就激起了我的好奇心,又去看了一下别的语言,发现真是不得了,大部分的语言都采用了字节码的实现方式,Java,Python,Ruby,PHP,P
  • 2023-09-07Java是如何实现跨平台的
    "Java跨平台"是指Java编程语言的特性,使得开发的应用程序可以在不同的操作系统和硬件平台上运行,而无需进行额外的修改或适配。这意味着使用Java编写的程序可以在Windows、Mac、Linux等不同的操作系统上运行,而不需要针对每个平台进行单独的开发。这种跨平台的能力是由Java虚拟机(Java
  • 2023-07-27Flutter如何实现Dart到iOS机器指令
    Flutter使用了自定义的编译工具链,称为FlutterEngine,将Dart代码编译成iOS设备的机器指令。以下是Flutter在iOS上编译和链接的一些关键步骤和涉及的文件:1.**编译步骤**:-Dart代码编译:首先,Flutter使用Dart编译器将Dart代码编译成中间代码(AOT编译),生成的中间代码
  • 2023-07-12JVM(九)执行引擎
    JVM(九)执行引擎1执行引擎概述执行引擎是Java虚拟机核心的组成部分之一虚拟机是一个相对于物理机的概念,这两种机器都有代码执行能力,区别在于物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎是由软件自主实现的,因此可以不受物理条件
  • 2023-05-21计算机组成原理:控制器实验
    实验名称:4控制器实验实验目的掌握微程序控制器的组成原理。掌握微程序的编制、写入,观察微程序的运行过程。基于数据通路图,掌握微程序控制器的工作原理。基于微程序流程图,掌握微程序控制器的工作原理。基于信号时序图,掌握微程序控制器的工作原理。掌握一个简单CPU的组成
  • 2023-05-20来谈谈jvm虚拟机
    JVM(JavaVirtualMachine)是Java虚拟机的缩写,它是一种能够在多个平台上运行Java字节码的虚拟计算机。JVM是Java语言跨平台的关键技术之一,它使得Java程序可以在不同操作系统和硬件平台上运行,而无需进行修改或重新编译。在Java编程中,开发人员将Java代码编译成字节码,然后将字节码交给JV
  • 2023-05-17计算机组成原理-第四章 指令系统
    指令系统概述指令指令:特指要计算机执行某种操作的命令。本章所讨论的指令特指机器指令。指令系统一台计算机中所有机器指令的集合,称为这台计算机的指令系统(指令集)。指令系统的性能要求1.完备性用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实
  • 2023-05-111、基础语法
    1、代码是如何被执行的1.1、解释型、编译型、混合型语言(1)编译型语言对于类似C++这样的编译型语言,代码会事先被编译成机器指令(可执行文件),然后再一股脑儿交给CPU来执行在执行时,CPU面对是已经编译好的机器指令,直接逐条执行即可,执行效率比较高但因为每种类型的CPU(比如Inte
  • 2023-04-14jvm 初识
    总结jvm是一套规范,只要实现了相关规定就可以视为是一个jvm,jdk的是hotSpot,不同jdk版本的jvm也有细微差异jvm不仅可以作为java的运行环境,还能作为别的语言的运行环境,比如kotlin、groovy等java能跨平台是因为不同平台都有对应的jvm,jvm能把同样的java文件生成