Linux逆向学习记录

逆向

Linux调试

gdb

基本命令
  • 运行:run -r
  • 继续执行:continue -c
  • 设置程序参数:set args xxx
  • 单步步过:n/next
  • 单步步入:s/step
  • 以汇编指令为单位执行:ni/si
  • 直接按回车可以重复上一条命令
  • break *0x400100 #在0x400100地址上下断点
  • break main # 在main函数入口下断点(在main函数内部)
  • info/del break # 显示/删除断点
  • break line-or-function if expr # 条件断点
  • save breakpoint bp_info # 保存断点信息
  • source bp_info # 载入断点信息
  • gdb program -x bp_info # gdb启动时载入断点数据
查看变量
  • print $rax 查看寄存器内容
查看内存数据

命令格式:x/nfu address

n:是一个正整数,表示显示内存的长度,也就是说从当前地指向后显示几个地址的内容

f:表示显示的格式

u:表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes

自动显示

display /i $rip # 执行一个命令后自动以"指令"的形式显示rip的值

查看寄存器的值

info registers

info all-registers

gdb-peda

帮助

peda help

查找函数的交叉引用

xrefs proc|data

检查程序的安全编译选项信息

checksec file

查看代码、栈、寄存器信息

context_code linecount 根据当前eip的值显示附近指定行数的指令数据

context_stack linecount 从当前esp开始显示linecount条栈中数据

context_register 等同于inforegister,但是更加详细

开始调试

start

显示进程的pid

getpid

显示各模块的地址和范围

vmmap

查看详细信息

xinfo address 显示内存中的信息

xinfo register reg1 reg2 显示寄存器中的信息

显示内存内容

telescope address linecount 默认从当前esp开始显示8行(可以智能对内存数据进行解析)

hexdump address count以类似于OD的方式显示内存数据

生成填充数据
  • pattern create size file

生成填充数据,可以保存到file文件

  • pattern offset value

判断溢出所需的大小,可以根据溢后的eip值或者ebp+4的值作为value

  • pattern search

判断哪些寄存器和内存地址出现了pattern数据

生成shellcode

shellcode generate

只能生成x86shellcode,详细内容:peda help shellcode

内存搜索

find string

目前在ctf中的逆向,遇到加壳的几乎都可以使用upx -d [file]解决。

相关推荐
差不多的周周3 小时前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
小蒋观天下3 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型
YoungStudyAI4 小时前
QA的下一个自动化阶段,可能不是再写更多脚本,而是设计测试Agent
运维·自动化
Century_Dragon4 小时前
从挂图到VR:汽修专业的一堂新能源原理课可以怎么上~
学习
分布式存储与RustFS5 小时前
纠删码到底吃掉了多少容量:EC:4、EC:8 的利用率与容错怎么算
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
小蒋观天下5 小时前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型
遇见小修修5 小时前
3步解决打印机0x00000709报错 ,广州深圳程序员可自行排查
运维·打印机·维修·打印机报错·打印机运维·打印机故障自查
知识分享小能手5 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
顺顺 尼5 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor5 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机