elf
  • 2024-09-26VScode开发STM32笔记(一)生成bin文件
    操作步骤软件条件1、基于stm32-for-vscode工具开发;2、项目处于打开状态,且生成elf文件;具体的安装环境详见文档:https://blog.csdn.net/weixin_42435984/article/details/141894449具体操作1、通过VScode打开对应的STM32项目;2、使用stm32-for-vscode工具对其进行编译;3
  • 2024-09-20在链接与运行地址不同时gdb的调试方法
    搭建一个链接和运行不同的环境SECTIONS{ .=0xffff000000080000, /*.=0x80000,*/ .text.boot:{*(.text.boot)} .text:{*(.text)} .rodata:{*(.rodata)} .....}-s还可以看到符号都链接到高地址去了但是elf文件中有详细的地址信息,如果后续qemu加载
  • 2024-09-18菜鸟笔记之PWN入门(1.1.3)Linux基础操作和ELF文件保护
    这里不讨论Linux的历史及其与Windows的比较。直接介绍一些简单基础的操作。首先我们需要安装一个Linux操作系统(首先推荐Ubuntu),我们需要安装一个VM虚拟机,然后在里面搭建一个Ubuntu的虚拟机可以直接百度搜索,这里推荐一个文章安装虚拟机(VMware)保姆级教程(附安装包)_vmware虚拟机-
  • 2024-09-18菜鸟笔记之PWN入门(1.1.0)ELF 文件格式和程序段解析(简版)
    ELF(ExecutableandLinkableFormat):是一种用于可执行文件、目标文件和库的文件格式,类似于Windows下的PE文件格式。ELF主要包括三种类型的文件:可重定位文件(relocatable):编译器和汇编器产生的 .o 文件,由 Linker 处理。可执行文件(executable): Linker 
  • 2024-09-18ELF加载内存
    当一个ELF(ExecutableandLinkableFormat)文件加载到内存后,它的各个段会根据文件中的描述被映射到内存的不同区域。ELF文件被广泛用于Unix/Linux系统中的可执行文件、共享库和目标文件。典型的ELF文件包含多个段(sections),这些段被加载到内存中用于不同的目的,例如代码、数据、
  • 2024-09-03【ELF系列】一文手撕ELF文件
    一、ELF文件是什么二、ELF可重定位文件2.1.shstrtab和.strtab2.2.rel.text和.symtab2.3.text节三、ELF可执行文件四、参考原创嵌入一下?谦益行在一文了解ECU软件刷写文件HEX和S19格式(qq.com)中介绍汽车控制器的刷写软件的格式,不管是编译生成的目
  • 2024-08-31一个操作系统的设计与实现——第20章 加载64位内核,64位显卡驱动与内存管理系统
    20.164位ELF格式在64位模式下,由于内存地址变宽,ELF格式中的内存地址也要跟着变宽。这并不是一个麻烦的问题,因为ELF格式的整体结构没有发生变化,仍然由一个文件头,加上若干程序头表组成。对于64位ELF格式的文件头,我们需要关注的信息如下表所示:偏移量字节数含义0x188程
  • 2024-08-09Android dex、odex、oat、vdex、art区别
    1.dexjava程序编译成class后,dx工具将所有class文件合成一个dex文件,dex文件是jar文件大小的50%左右.2.odex(Android5.0之前)全称:OptimizedDEX;即优化过的DEX.Android5.0之前APP在安装时会进行验证和优化,为了校验代码合法性及优化代码执行速度,验证和优化后,会产生ODEX文件,运行Apk的
  • 2024-07-15buuctf-FLAG1
    1.下载后发现是一张图片;按照做题思路首先打开010Editor查看里面有没有东西,这个图片中我没发现什么东西,于是将图片放在Stegsolve.jar中查看看图片没啥问题后,进行数据提取(dataextract),进行预览发现了504b0304,也就是说里面藏了一个压缩包,这个时候进行保存打开后只发现了一
  • 2024-07-140176-打印错误提示信息
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/entering-longmode//目标为了方便在出错的时候,看到错误代码,新增一个打印错误代码的函数。汇编代码section.multiboot_headerheader_start:dd0x1BADB002;
  • 2024-07-13ToolChain工具链命令介绍
    1ToolChain官方下载地址下载地址:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/2readelf2.1elf格式elf是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格文件的文件格式。是UNIX系统实验室(USL)作为应用程序
  • 2024-07-130174-QEMU 从 kernel 启动
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/参考:https://megtechcorner.medium.com/a-tutorial-on-os-and-compiler-3-5d14f7448415目标使用编写好的内核可执行文件,直接从QEMU启动。kernel
  • 2024-07-130175-GDB 调试 multiboot 启动
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/目标使用编写好的内核可执行文件,直接从QEMU启动,启动时暂停CPU,使用GDB调试。汇编代码section.multiboot_headerheader_start:dd0x1BAD
  • 2024-07-09ELF文件的四种分类
    可重定位文件(RelocatableFile):文件类型:.o文件用途:包含代码和数据段,供链接器(Linker)在链接过程中使用。这种文件并不能直接执行,而是需要与其他可重定位文件和库链接,生成可执行文件或共享库。标识:文件头中的e_type字段值为ET_REL。可执行文件(ExecutableFile):文件类型:实际的二进
  • 2024-07-0908 内核第一条指令
    了解QEMU启动指令qemu-system-riscv64\-machinevirt\-nographic\-bios../bootloader/rustsbi-qemu.bin\-deviceloader,file=target/riscv64gc-unknown-none-elf/release/os.bin,addr=0x80200000-machine virt 表示将模拟的64位RISC-V计算机
  • 2024-07-02ELF 文件与链接
    ELF文件与链接Created:2024-07-02T11:03+08:00Published:2024-07-02T16:44+08:00Categories:OperatingSystem目录工具:readelf和objdump程序=指令+数据符号表静态链接与重定位不知道的地址先用0填充重定位表记录那些暂时用0填充的位置链接后修改位置*.o没有seg
  • 2024-06-05BUUCTF1 19-22 wp
    19html文件打开js源码,分类讨论大小写,解密20elf文件算法:奇数左移i,偶数乘i特点:分类中没有对0的处理,因此从第二个数据开始,第一个数据用1占位。21elf文件使用linux系统的upx脱壳器脱壳22二次加密先输入一段数据,大小为6,加上六个硬编码字符,sha1加密后与硬编码密文比较。
  • 2024-06-02一些题目练习。
    picoctf_2018_echoback32位格式化字符串,可写got表。fmtstr_payload写puts@got为vuln、printf@got为system@plt一把梭frompwncyimport*context(log_level="debug",arch="i386")filename="PicoCTF_2018_echo_back"remote_libc="/home/tw0/D
  • 2024-05-18CTFshow pwn075
    CTFshowpwn075题目描述:栈空间不够怎么办?首先检查保护:32位开启NX保护,部分开启RELRO,放入ida中看有两次输入点,输入只能到返回地址,所以考虑用到栈迁移exp:frompwnimport*p=remote("pwn.challenge.ctf.show",28276)elf=ELF("./pwn75")#p=process([elf.path])#l
  • 2024-05-03C语言解析FLM(ELF)格式文件
    代码下载:https://gitee.com/jhembedded/flmparse 写这篇博客的目的是因为最近在做一个STM32的离线编程器,离线下载需要用到FLM文件的下载算法,所以实现了一下提取FLM文件中下载算法的C程序。有关ELF格式的详细说明可查看这个文件:http://flint.cs.yale.edu/cs422/doc/ELF_Format.
  • 2024-05-02Buildroot+RISC-V+QEMU(@Ubuntu)运行
    1RISC-V相关Buildroot代码下载和编译下载Buildroot代码并切换特定分支:gitclonehttps://github.com/buildroot/buildroot.gitgitcheckout2024.02.1编译RISC-V的Buildroot:makeqemu_riscv64_virt_defconfigmake-j322在QEMU上运行RISC-V镜像进入output/images目录
  • 2024-04-24ELF文件格式解析器 原理 + 代码
    参考:https://bbs.kanxue.com/thread-259901.htm写在前面:   读《Linux二进制》,发现作者对ELF文件格式部分并没有做详细介绍,为了加深对elf文件格式理解,我自己着手写了个解析器,会和readelf工具协同对比。 原理:  ELF文件(目标文件)格式主要三种:1.可重定向文件(Re
  • 2024-04-11ARM DS-5 加载 ELF 文件运行
    1.1.1DS-5工程创建在使用ARMDS-5连接board(或者PFGA)之前首先需要能够扫描到相应的硬件信息,比如对应的cpu的相关信息:coresight相关组件信息,Cache信息等。创建好工程项目后按照下图黄线的指示进行扫描操作(通常是完成扫描后才会去执行“buildplatform”): 如果更换平台
  • 2024-04-08RISC-V CPU流水线仿真
    RISC-VCPU流水线仿真1.简介RISC-V是一个开源体系结构和指令集标准,源于伯克利。该项目要求您实现一个基于标准的五级管道。您将需要实现指令的子集来自RISC-V规范2.2中指定的RV32I指令集。实施完整的CPU模拟器可以有效地锻炼系统编程能力加深对建筑相关知识的理解。2.项目简介
  • 2024-04-02第一届“长城杯”信息安全铁人三项赛初赛-第四场-pwn-all
    第一届“长城杯”信息安全铁人三项赛初赛-第四场-pwn-all这次打了个第二。onetime逆向分析经典菜单堆,free分支存在uaf,然后第五个分支和第一个分支可以达成fastbinattack漏洞利用利用fastbinattack申请0x60208d,然后修改分支判断变量与p指针,做到利用show分支泄露和修改atoi