汇编

2024/5/28 3:03:12

CTFshow-PWN-栈溢出(pwn43)

32位的 system(); 但是好像没"/bin/sh" 上面的办法不行了,想想办法 检查:32 位程序 ida 分析: 跟进 ctfshow 函数 定义了一个长度为 104 的字符数组 s,gets() 函数被用来从标准输入(键盘)中读取…

8086 汇编学习 Part 6

用 MUL 指令做乘法 格式 MUL 寄存器MUL 寄存单元 8 位乘法16 位乘法被乘数(默认)ALAX乘数8 位寄存器或内存单元16 位寄存器或内存字单元结果AXDX (高位) 和 AX (低位) 模块化程序设计 调用子程序 &…

Golang 程序运行报汇编错误

错误提示如下:C:/Program Files/Go1.22.0/src/runtime/sys_windows_amd64.s:75 0x7a fp0x31f590 sp0x31f570 pc0x11300fa 错误原因:Go sdk 1.22.0版本对service pack 1系统的兼容性有问题。我们将go1.20升级到go1.22后编译的可执行程序体积明显变小&…

《汇编语言》- 读书笔记 - 综合研究

《汇编语言》- 读书笔记 - 综合研究 研究试验 1 搭建一个精简的 C 语言开发环境1. 下载2. 配置3. 编译4. 连接 研究试验 2 使用寄存器1. 编一个程序 ur1.c ( tcc 用法)tcc 编译连接多个源文件tlink 手动连接 2.用 Debug 加载 ur1.exe,用u命令…

17 内核开发-内核内部内联汇编学习

​ 17 内核开发-内核内部内联汇编学习 课程简介: Linux内核开发入门是一门旨在帮助学习者从最基本的知识开始学习Linux内核开发的入门课程。该课程旨在为对Linux内核开发感兴趣的初学者提供一个扎实的基础,让他们能够理解和参与到Linux内核的开发过程中…

C/C++中的逻辑运算与汇编指令的交互

本节课在线学习视频: ​​​https://pan.quark.cn/s/ac291414101c​​​ 逻辑操作是编程中的基础,它们在C/C中广泛使用,并在底层汇编语言中由专门的指令对应执行。本文将通过探讨C/C中的逻辑或运算(​​||​​)和逻辑非运算(​​!​​)&…

探究汇编中的栈帧和局部变量

本节视频学习链接:https://pan.quark.cn/s/2db92a03734d 汇编语言中的函数调用和局部变量的管理是通过栈帧(Stack Frame)来实现的。栈帧是在函数调用时创建的,它存储了函数的局部变量、参数以及返回地址。本文将详细讲解栈帧的概…

【汇编】#6 80x86指令系统其二(串处理与控制转移与子函数)

文章目录 一、串处理指令1. 与 REP 协作的 MOVS / STOS / LODS的指令1.1 重复前缀指令REP1.2 字符串传送指令(Move String Instruction)1.2 存串指令(Store String Instruction)1.3 取字符串指令(Load String Instruct…

数据结构 - C/C++

快速跳转 数组链表栈队列串树 目录 数据结构 逻辑结构 物理结构 数据结构 数据 数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。 计算机可以理解并按照指定格式处理。 结构 元素相互之间存在一种或多种特定关系的数据集合。 …

RISC-V异常处理相关内容

异常处理相关内容 异常处理相关内容异常处理准备工作异常处理函数Opensbi系统调用的注册异常处理相关内容 异常处理准备工作 这里需要特殊强调的是异常处理构建的相关内容: 这里会将a4寄存器中的值存储到CSR_MTVEC这个状态寄存器,也就是异常处理程序的的入口;如果遇到异常…

第三章、汇编1

编译选项知识 -Og:这是 GCC 和 Clang 编译器提供的优化选项之一。-Og 的含义是“优化级别为 g”,其中的 “g” 代表了"g优化"。这个选项的作用是启用一些基本的优化,以尽量保持生成的代码易读易调试。它通常会保留变量名和源代码结…

[周问周答]bss段是否占目标文件空间

程序由哪些段组成?静态变量占用可执行文件(如bin文件)大小吗? 答:程序一般由代码段(text)、数据段(data)和未初始化的数据段(bss)等组成。静态变…

Golang汇编之通过map地址找到value的值

文章目录 背景gdb调试Go程序为什么不用dlvgdb调试Go可执行程序gdb打印地址内容 go汇编快速入门常用的寄存器和用法AMD64ARM64loong64riscv64 Go汇编常用命令及含义Go汇编和x86的区别找到map的赋值指令 Go中map的内存布局gdb中查看map结构map的存储结构map的内存布局计算bmap偏移…

第三章、汇编1

编译选项知识 -Og:这是 GCC 和 Clang 编译器提供的优化选项之一。-Og 的含义是“优化级别为 g”,其中的 “g” 代表了"g优化"。这个选项的作用是启用一些基本的优化,以尽量保持生成的代码易读易调试。它通常会保留变量名和源代码结…

第三章、汇编3

过程 运行时栈 首先看看运行时栈的布局: 解释一波: 当函数P调用Q的时候,首先为要为Q准备参数,6个参数的时候可以放在寄存器里,当多于6个参数的时候可以暂存在栈里。这里注意,实际Q的第七个参数是从rsp的…

汇编基础-----通过x64dbg了解什么是堆栈

汇编基础-----通过x64dbg了解什么是堆栈 什么是堆栈 在汇编语言中,堆栈(stack)是一种用于存储临时数据和执行函数调用的内存结构。堆栈是一种后进先出(Last-In-First-Out, LIFO)的数据结构,通常用于保存函…