CTF-PWN-kernel-前置

文章目录

  • 打包上传测试脚本
  • 检查保护
  • 调试
  • 脚本编写
      • Intel Syntax
        • 特点:
        • 示例:
      • AT&T Syntax
        • 特点:
        • 示例:
      • 对比总结
    • c库中asm的汇编
  • 用到啥更新啥,一直更新ing

打包上传测试脚本

#!/bin/sh
gcc expolit.c -static -masm=intel -g -o expolit
mv expolit fs/
cd core
find . | cpio -o --format=newc > core.cpio
mv core.cpio ..
cd ..
./start.sh

检查保护

在这里插入图片描述

调试

记得设置root,否则看不了
在这里插入图片描述
然后关闭kalsr,方便下断点
在这里插入图片描述
查看模块相关段和内核中存在的符号函数

在这里插入图片描述

gdb ./vmlinux -q
set architecture i386:x86-64target remote 127.0.0.1:1234# 先 continue, 在 insmod 之后手动 Ctrl+C 再设置断点,免得断点处于 pending 状态
add-symbol-file /home/llk/Desktop/pwn/kernel/babydriver/lib/modules/4.4.72/babydriver.ko 0xffffffffc0000000b babyread
b babywrite
b babyioctl
b babyopen
b babyreleasec

脚本编写

Intel和AT&T是两种不同的汇编语言语法风格,主要应用于x86架构的处理器上。虽然它们都用于编写低级别的机器代码,但两者在语法上有显著的不同,特别是对于操作数的顺序和一些细节的表达上。下面详细解释两者的区别:

Intel Syntax

Intel语法是最常见的x86汇编语言语法,也是Intel官方文档中推荐的语法。它的特点是操作数先于指令出现,即“目的操作数”通常放在前面,“源操作数”放在后面。

特点:
  • 目的操作数在前,源操作数在后。
  • 寄存器名称不带前缀。
  • 使用大括号 {} 来表示立即数的范围,例如 mov eax, {0x1234}(虽然这不是最常用的写法,通常我们写作 mov eax, 0x1234)。
示例:
; Intel Syntax
mov eax, ebx    ; 将ebx的值移动到eax
add eax, 1      ; 将eax的值加1

AT&T Syntax

AT&T语法起源于UNIX系统,由AT&T公司开发。它与Intel语法的主要区别在于操作数的顺序相反,以及在寄存器名称前加上百分号 %

特点:
  • 源操作数在前,目的操作数在后。
  • 寄存器名称前有百分号 %
  • 立即数通常在操作数中明确表示,没有特殊的大括号标记。
示例:
# AT&T Syntax
movl %ebx, %eax    # 将ebx的值移动到eax
addl $1, %eax      # 将eax的值加1

对比总结

Intel SyntaxAT&T Syntax
操作数顺序目的操作数在前,源操作数在后源操作数在前,目的操作数在后
寄存器标识不带前缀带有百分号 % 前缀
立即数标记通常无特殊标记明确表示,例如 $1 代表立即数1

c库中asm的汇编

默认按照 AT&T Syntax ,如果想使用

  __asm__("mov user_cs, cs;""mov user_ss, ss;""mov user_sp, rsp;""pushf;""pop user_rflags;");

需加上-masm=intel,否则按照

  asm("movq %%cs, %0\n\t""movq %%ss, %1\n\t""movq %%rsp, %2\n\t""pushfq\n\t""popq %3\n\t": "=r" (user_cs), "=r" (user_ss), "=r" (user_sp), "=r" (user_rflags):: "memory");

用到啥更新啥,一直更新ing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/42491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淮北在选择SCADA系统时,哪些因素会影响其稳定性?

关键字:LP-SCADA系统, 传感器可视化, 设备可视化, 独立SPC系统, 智能仪表系统,SPC可视化,独立SPC系统 在选择SCADA系统时,稳定性是一个关键因素,因为它直接影响到生产过程的连续性和安全性。以下是一些影响SCADA系统稳定性的因素: 硬件质量…

微服务-初级篇

微服务-初级篇 认识微服务1.1 单体架构1.2 分布式架构1.3 微服务 SpringCloud2.1 了解2.2 服务拆分原则2.3 服务拆分效果 Nacos注册中心3.1 认识和安装Nacos3.1.1 Nacos下载3.1.2 Nacos安装 3.2 服务注册到Nacos Feign远程调用4.1 Feign引入4.2 Feign配置 认识微服务 1.1 单体…

Zynq系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTX高速接口,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的以太网方案本博已有的FPGA图像缩放方案1G/2.5G Ethernet PCS/PMA or SGMII架构以太网通信方案AXI 1G/2.5G Ethernet Subsystem架构以太网通信方案本方案的缩放应用本方案在Xilinx--Kintex系列…

2024年全国青少年信息素养大赛复赛及决赛、我知道的有这些

周末两天2024年全国青少年信息素养大赛复赛部分赛区已经结束,还没有考试的同学加紧备考后面的2次,成绩预计(7月13日、7月20日两次考试)结束之后的2周左右出,2024年全国青少年信息素养大赛决赛将在2024年8月16日-20日在…

解决:Flink向kafka写数据使用Producer精准一次(EXACTLY_ONCE)异常

在使用flink向kafka写入数据报错:Caused by: org.apache.kafka.common.KafkaException: Unexpected error in InitProducerIdResponse; The transaction timeout is larger than the maximum value allowed by the broker (as configured by transaction.max.timeou…

文献解读-基准与方法研究-第十六期|《GeneMind 公司的 GenoLab M 测序平台 WGS 和 WES 数据基准测试》

关键词:基准与方法研究;基因测序;变异检测; 文献简介 标题(英文):Accuracy benchmark of the GeneMind GenoLab M sequencing platform for WGS and WES analysis标题(中文&#xf…

差分+前缀和习题集

&#xff08;luogu题号&#xff09; P6568 [NOI Online #3 提高组] 水壶 思路分析 前缀和优化问题。 其实题意就是让你求有k1个数的区间和最大值&#xff0c;那么直接前缀和优化&#xff0c;就可以通过本题。 代码 #include<bits/stdc.h> using namespace std;const in…

机器学习——关于极大似然估计法的一些个人思考

最近在回顾机器学习的一些相关理论知识&#xff0c;回顾到极大似然法时&#xff0c;对于极大似然法中的一些公式有些迷糊了&#xff0c;所以本文主要想记录并分享一下个人关于极大似然估计法的一些思考&#xff0c;如果有误&#xff0c;请见谅&#xff0c;欢迎一起前来探讨。当…

【Linux】升级FastJSON版本-jar

摘要 在长期运行的应用服务器上&#xff0c;近期的安全漏洞扫描揭示了fastjson组件存在潜在的安全隐患&#xff08;FastJSON是一个Java 语言实现的 JSON 解析器和生成器。FastJSON存在远程代码执行漏洞&#xff0c;恶意攻击者可以通过此漏洞远程执行恶意代码来入侵服务器&…

Dynadot 2024年第一季度回顾

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

java进程把服务器CPU打满问题排查

1、top命令定位问题进程 2、查看进程的所有线程信息&#xff0c;记下占用最高的进程 top -Hp 38080553、将第2步得到的线程号转化为十六进制 printf %x\n 38080594、结果里搜索 jstack 3808055|grep -A 10 3a1b3b5、定位问题 根据上步搜索到的结果&#xff0c;可以看到是GC…

关闭这八个电脑设置,保护个人隐私

你知道吗&#xff1f;电脑可能一直在偷窥你的小秘密。朋友们&#xff0c;一定要记得关闭这8个电脑设置哦&#xff0c;这样可以有效地保护我们的个人隐私。 按住键盘Windows键加i键&#xff0c;快速打开Windows设置。然后点击隐私选项。 我们来看基本的常规设置。里面有四个设置…

在表格中选中el-radio后, 怎么获取选中的这一行的所有数据?

演示: 图中, 选中这行数据后, 怎么获取到当前的数据? 代码: <tr v-for"item in gridData"><td><input type"radio" v-model"checkout" change"getDateFn" :data-type"item.articleType" :data-channelNam…

百川工作手机实现销售管理微信监控系统

在瞬息万变的商业战场中&#xff0c;每一分效率的提升都是企业制胜的关键。传统销售管理模式已难以满足现代企业对精准、高效、合规的迫切需求。今天&#xff0c;让我们一同探索如何利用工作手机这一创新工具&#xff0c;为您的销售团队装上智能翅膀&#xff0c;开启销售管理的…

基于springboot+vue实现的厨艺交流平台(文末源码+Lw)093

93基于SpringBootVue的实现的厨艺交流平台&#xff08;源码数据库万字Lun文流程图ER图结构图演示视频软件包&#xff09; 系统功能&#xff1a; 这次开发的厨艺交流平台功能有个人中心&#xff0c;食材分类管理&#xff0c;用户管理&#xff0c;菜品分类管理&#xff0c;菜谱信…

解锁敦煌网成功秘籍:批量注册买家号测评的高效策略

敦煌网&#xff08;DHgate&#xff09;作为一个跨境电商平台&#xff0c;搭建境外本土网络环境并实现批量注册买家号下单&#xff0c;需要遵循一系列严谨的步骤和考虑多个关键因素。以下是一个概括性的指南&#xff1a; 一、环境要求 国外服务器&#xff1a;首先&#xff0c;…

HumbleBundle7月虚幻捆绑包30件军事题材美术模型沙漠自然环境大逃杀模块化建筑可定制武器包二战现代坦克飞机道具丧尸士兵角色模型20240705

HumbleBundle7月虚幻捆绑包30件军事题材美术模型沙漠自然环境大逃杀模块化建筑可定制武器包二战现代坦克飞机道具丧尸士兵角色模型202407051607 这次HumbleBundle捆绑包是UE虚幻军事题材的&#xff0c;内容非常多。 有军事基地、赛博朋克街区、灌木丛景观环境等 HB捆绑包虚幻…

深度学习的数学PDF

链接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取码: 9gj9 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

【苍穹外卖】Day2 手把手敲完细节

目录 1. 新增员工 1.1 需求分析和设计 1.2 代码开发 ①定义DTO类&#xff1a;(在sky-pojo里&#xff09; ②EmployeeController中创建新增员工方法save() ③EmployeeService里声明save方法&#xff08;altenter&#xff09; ④EmployeeServiceImpl中实现save方法 ⑤在E…

顶刊文献阅读及代码复现

前提:每个无人机都有 (i)自己的机载计算机,用于执行控制其自身动作所需的计算 (ii)自己的传感器系统,用于测量相对位置和速度, (iii)自己的通信设备,用于与相邻代理进行数据交换。 模型:短期的排斥力、中间范围的速度一致性和长距离的吸引力