gdb入门指北
发表于|更新于
|浏览量:
这只是一个简单的对于gdb的学习
要调试时需要保留调试信息
对于c程序可以在编译时加上-g参数
没有调试信息无法进行调试
文章作者: 无夜
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 wuye的博客!
相关推荐
2026-02-02
VNctf
ez_maze这回v&N也是爆零了,等我有实力第一个投的绝对就是v&n,所以也是来wp大学习这是mfc逆向,mfc是微软提供的一种c++的类库,当然这道题还有upx壳 红了一片,upx0,upx1,upx2,upx!,upx的各种标志全没有了 一边来说运行两次然后找push就行了但这道题upx代码与源代码在 但是这道题并非常见的在两次运行,跳过前面的系统代码,并没见到pushad(通用寄存器),pushfd(标志寄存器),push,还有lea但是三次运行找到了jmp 112419_ezre.7FF6518D102A这一看就是主程序入口, 进去一看这题将显示的push rax等给整没了 1LEA 目标寄存器, [内存寻址表达式] //通过内存地址(相对地址,偏移量)计算出有效地址 不过还后留下了lea与push rdx,下访问断点,运行程序,直接到一堆pop这太对了 首先得用cff-exploer改配置 在头文件的characteristics选上executable 再在可选头文件的dllcharacteristics去除dll可移动 之后一直...
2026-05-05
htmllearning
开始(html叫超文本标记语言)众所周知html有tags,attibute,elements HTML标签HTML标签是由尖括号突出的关键词<html> HTML标签通常成对出现<b>与</b>(第一个是开始标签,)第二个是结束标签 <标签>内容</标签> HTML元素一个元素包含开始标签与结束标签 <p>这是一个段落</p> 123456789101112<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><h1>我的第一个标题</h1><p>我的第一个段落</p>3</body></html> 入土级代码讲解 <!DOCTYPE html>声明为HTML5文档(html升级版) <html>HTML页面的...
2026-01-01
reverseweekn
1**[Week2] CPPReverse**一开始n个小时我直接看着c++原程序,结果抽象的一批(附带PDB文件),这个提醒 pdb存着什么(源代码文件路径与行号信息,局部变量、全局变量和类型,函数名和参数信息,类、结构体的成员信息)其实其实映射表(可以类比Android逆向的so层处理) 当然由于笨蛋的我并未发现这点,导致ida程序十分抽象,难度直线飙升,所以先来个禁pdb的 进来直接被一堆不知道什么的东西吓哭了,直接开始动调 这明显是输入,按n改名,一定要改名,后面再次出现就知道他是干什么的 v13 = (unsigned __int8)sub_7FF626234970(v16, “flag{“) || *(_BYTE *)sub_7FF626233C10(v30) != 125; 注意这个 *(_BYTE *)明显是字符125按r变成’}’ 这很明显是输入验证 不妨输入flag{123456}123456最白不要是000000那么反序就看不出来了 接下来是重头戏 这是输入突然被推入栈顶,多半是要进行操作了 下一步flag{}没了,这事就知道...
2026-05-30
vm
原理程序运行时通过解释操作码,选择对应的函数(handle)执行 本质上是作者自己实现了一套指令集 比如x86汇编中的0xFF是jmp,而0xE0, 0x48 mov 在虚拟机中既可以自定义指令对应的操作码 还可以自定义数组实现cpu的功能 pc指针是程序计数器,指向下一条指令 原始代码->前端编译器->虚拟指令(vmcode)->虚拟cpu解释执行->计算结果 0x01从零到一实现虚拟机先从正向了解虚拟机 1.常量定义12345678#define REG_COUNT 8/*通用寄存器的数量*/#define MEM_SIZE 256/*内存大小(字节)*/#define STACK_SIZE 64 /*栈深度*/#define INSN_SIZE 4 /*每条指令的字节数(定长编译)*//*标志寄存器可能的取值,由CMP指令设置*/#define FLAG_EQ 0/*两个操作数相等*/#define FLAG_LT 1/*dst<src*/#define FLAG_GT 2/*dst>src*/ 2.指令集定定义(Opcode枚举)...
2026-05-20
polarisctf招新赛-2026~
1.Illusion这标着是简单题,我倒要看看是怎么样的 用detect it easy看了一下并没有加壳 开头就有个字符串验证LABEL_12有exit(0)一看就是有异常退出 所以 123456789101112if ( n28024[0] != 'x' ) goto LABEL_12;{} if ( *(_WORD *)&n28024[1] != 'cm' ) goto LABEL_12; if ( n116 != 't' ) goto LABEL_12; if ( n102 != 'f' ) goto LABEL_12; if ( n123 != '{' ) goto LABEL_12; if ( Source[18] != '}' ) goto LABEL_12; 可以看出来最后一个下标18为}所以猜测字符串长为19 这道题应该有反调试首先是 输入之后直接来这个沉浸在幻术之中...
2026-01-24
逆向手的自我修养
逆向魔法师学习法术的目标(去想,去学,去征服) des加密(已解决) frida的使用,安卓逆向 去平坦化 aes加密 混淆 反调试 sm4 go与rust的处理 linux内核与gdb z3, dfs, smc 还有每日的练题,语言和wp学习 1.try-catch与结构化异常处理(SEH)(全称[Structure Exception Handler]seh是windows系统对c/c++程序做的语法拓展,用于处理异常事件的程序控制结构, #include <windows.h>//包含windows中的api与seh的相关定义 seh含有-try{}-catch函数 与-try{}_final函数 由于ida的反编译语言是c/c++,于是我了解一下c/c++中的seh 主要是(windows的seh检验)(块检验) 1234struct _EXCEPTION_REGISTRATION_RECORD { struct _EXCEPTION_REGISTRATION_RECORD* Next; ...
公告
This is my Blog
