gdb的简单练习

17 篇文章 0 订阅
订阅专栏

题目来自《ctf安全竞赛入门》

1.用vim写代码

vim  gdb.c

#include "stdio.h"
#include "stdlib.h"
void main()
{
    int i = 100;
    int j = 101;
    if (i == j)
    {
        printf("bingooooooooo.");
        system("/bin/sh");
    }
    else
        printf("error............");
}

如果i==j

也就是100=101

那么就输出:bingooooooooo.

然后执行shellcode

但是这两个怎么可能相等嘛

2.用gcc生成可执行文件

首先用生成目标文件、gcc后边是源文件名字、-o后边的是目标文件名字

gcc   -g gdb.c  -o  gdbshouxi

然后会有一个文件,就叫做gdbshouxi

3.gdb

用gdb调试他

打开方式:

gdb  gdbshouxi

就进入gdb了

可以反汇编main函数

disassemble   main

3.1书上说让先下断点main

b main

断点下错了可以用d 标号删除

如果不运行下断点到下边那个地址的话到某个地址的话可能会出错

3.2然后运行

r

箭头所指就是即将要运行的

红色的是cmp比较函数,就是刚刚写的if

3.3下断点

b  *0x555555555162

3.4直接运行到断点处

c

发现要比较的是eax和rbp-0x4

3.5

查看下,给他改了

p $eax
x/w  $rbp-0x8
set $eax =0x65

x的用法参考这个

(1条消息) GDB查看指定内存地址的内容——指令x_Jeremy_ku的博客-CSDN博客_gdb查看地址内容

比较的是dword嘛双字节所以就是w了

或者改rbp-0x8也可以

但是set $rbp-0x8改的是它所指向的地址,并不是地址所指向的内容

改内容要set *地址

改的话记得加0x十六进制

3.6然后c

c

就可以执行到shellcode了

实验基础练习gdb
qq_53092426的博客
11-04 101
实验基础练习gdb基础操作
GDB调试及opencv练习
vic_to_ry的博客
10-29 161
GDB调试器及调试方法 1、GDB的作用 设置断点使程序停住 监视或修改程序中变量的值 跟踪代码执行过程 2、GDB的使用 1、首先创建一个c源文件代码 2、编译程序时,通过gcc的-个选项为程序添加调试信息。 gcc -g -o 123 123.c ...
gdb练习
qianxun168168的专栏
03-21 568
1.编译的时候添加选项    -g 2.gdb [程序执行文件] 3.list 1 //从第一行开始按Enter下翻 4.b [行号] 5.run 6.c //执行 7.display [变量名]
GDB的一些运用练习
clyrjj的博客
10-29 457
文章目录GDB简介gdb的使用gdb调试举例1、整型数反转程序的调试2、段错误调试3、生成和使用core文件 GDB简介 • GDB : GNU Debugger,是GNU工程为GNU操作系统开发的 调试器,但它的使用不局限于GNU操作系统, GDB可以运行 在UNIX、Linux甚至Microsoft Windows。 • GDB可以调试C、C++、Objective-C、Pascal、Ada等语言编 写的程序;被调试的程序可以跟GDB运行于同一台电脑,也可 运行于不同电脑。 • 使用GDB我们可以: –
gdb的调试的小练习
shursulei的博客
05-30 841
一、gdb调试 1、创建一个文件夹test:[root@localhost zhaoh]# mkdir test 2、编写水仙花的文件:[root@localhost zhaoh]# vim shuixianhua.c 代码程序的内容: 1 #include <stdio.h>
GDB调试实例.pdf
10-14
实战中,可以通过编写简单的C语言程序,如上述例子所示,来练习GDB的基本操作。通过设置断点,观察变量值的变化,单步执行代码,了解程序的运行流程。这有助于提高调试技能,及时发现和修复程序中的错误。 总之,...
leetcode中国-CGdbTutorial:C语言的基础语法和Gdb的一些内容
06-29
上一次,我们讲了一些简单的内容,希望同学们有完成上次布置的练习。这节课,我们主要讲讲struct和union, 指针,以及GDB。malloc和free留在下节课讲。还是扯几句题外话吧,目前,C语言还是非常流行的。我们班有同学...
实验3使用gcc编译器.pdf
10-02
本实验的目的是巩固 vi 的使用、练习用 Linux 下 gcc 编译器运行 c 或 c++程序、练习使用 make工具和调试工具 gdb,以及编写简单的c 或 c++程序。 二、实验内容 实验内容包括使用 vi 建立 C++/C 程序,学习使用gcc...
Dev-Cpp:一种快速,可移植,简单且免费的CC ++ IDE
01-30
快速,可移植,简单且免费的C / C ++ IDE。 自2000年以来,Dev C ++已被下载67,796,885次。 Embarcadero Dev-C ++是Bloodshed Dev-C ++和Orwell Dev-C ++的新改进版(由Embarcadero赞助)。 它是功能齐全的集成...
SP2019-LAB2.2-3170103456-应承峻1
08-03
在本实验“SP2019-LAB2.2-3170103456-应承峻1”中,我们将学习如何在Ubuntu虚拟机上使用C语言编写和调试一个简单的“Hello World”程序,利用GCC编译器和Pico文本编辑器。实验目标分为两部分:熟悉用gcc运行程序以及...
GDB使用(需反复练习
weixin_30546189的博客
03-22 94
内容来自《linux_c编程一站式学习》第10章内容。细节忘了的话查书 文件temp.c 普通编译命令: gcc temp.c -o temp 调试:单步执行和跟踪函数调用 编译命令:gcc -g temp.c -o temp -g 在可执行文件中加入源代码的信息,比如可执行文件中第几条机器指令对应源代码的第几行,但并不是把整个源文件嵌入到可执行文件中,所以在调试时...
gdb调试学习
伊始的博客
08-04 177
1. 隐藏gdb进入时的版本信息 gdb -q 2. gdb输出信息较多时、gdb会暂停输出、打印提示信息、关掉提示、可以使用 set pagination off 或者 set height 0 3. info functions 查看所有的函数列表 4. info functions thread* 查看所有以thread开头的函数列表 5. n 执行下一句代码 s 进入自...
gdb断点相关——在行号打上断点以及保存设置的断点
CSDN_dzh的博客
11-29 760
测试代码 #include &amp;amp;lt;stdio.h&amp;amp;gt; int func() { return 3; } int main (int argc, char *argv[]) { int a = 0; a = func(); printf(&amp;quot;%d\n&amp;quot;, a); return 0; } 测试过程 在打完一
2016.7.9 GDB功能 GDB指令 Makefile举例
Zero_HL的博客
07-09 809
一.GDB    GDB功能:            (1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。             (2)可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)             (3)当程序被停住时,可以检查此时你的程序中所发生的事。             (4)动态的改变你程序的执行环境。     1.GDB是一款
GDB 打印内存的值
布袋和尚
05-05 5549
栗子 #include <stdio.h> int main(void) { int i = 0; char a[100]; for (i = 0; i < sizeof(a); i++) { a[i] = i; } return 0; } gdb 中使用“x”命令来打印内存的值,格式为“x/nfu addr”。含义为以 f 格式打印从 addr 开
攻防世界(动态调试题)
qq_54929422的博客
02-07 994
目录 1:纪念一下第一个自己独立做出来re题(虽然很简单): 2:攻防世界新手区no-strings-attached复现: 3:攻防世界simple-check-100复现: 1:纪念一下第一个自己独立做出来re题(虽然很简单): open-source复现: 给出一段c源码: #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { if (argc != 4...
Gcc 和 gdb 习题
码呀Bug呀的博客
11-20 3823
一、  简答题 1、 gcc 编译流程包括哪 4 个过程? 预处理,汇编,编译,链接。 2、 利用 gdb 进行调试时,可通过哪个命令进行单步执行。 step 3、 在 Linux 下调试 c 程序时,在提示符(gdb)下输入 b10 表 示 。 在第10行添加断点 二、选择题 1、以下关于 GCC 选项说法错误的是: B。 A.-c 只编译并生成目标文件 B.-w 生成警告
GDB简明教程
yqtao的博客
11-28 6234
声明:本博客内容是由本人经过实验楼教程整理得来。GDB的相关概念GDB, 是 The GNU Project Debugger 的缩写, 是 Linux 下功能全面的调试工具。GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。在 Linux 环境软件开发中,GDB 是主要的调试工具,用来调试 C 和 C++ 程序。GDB的相关操作下面给出一个具有buging.c的程序:
GDB十分钟教程
热门推荐
Liigo's blog
01-17 39万+
GDB十分钟教程作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试
android gdb
最新发布
01-17
Android GDB是一种用于动态调试Android应用程序的工具。它可以与设备上的gdbserver进行通信,以便在设备上调试原生代码。以下是使用Android GDB进行动态调试的一些步骤: 1. 确保你的设备已经连接到计算机,并且...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 如何用两台二层交换机实现不同vlan之间的通信 4648
  • kali root 密码忘记 2866
  • Linux2 1504
  • vscode中写汇编 以及我所遇到的 File not found解决方法 1482
  • Linux 笔记3 1434

分类专栏

  • 1篇
  • BUUCTF 20篇
  • linux 9篇
  • pwn 17篇
  • 数据结构 4篇
  • 一些好玩的 1篇
  • python 29篇
  • 汇编小白笔记 22篇

最新评论

  • picoctf_2018_rop chain

    yufeiyu66: 讲的很好了,加油

  • vscode中写汇编 以及我所遇到的 File not found解决方法

    hello_worldpyy: 谢谢!

  • jarvisoj_level3

    Hi Qiyun: 为什么我的libcsearcher找不到版本

  • BUUCTF bjdctf_2020_babystack

    y6y6y666: 对于64位程序,参数存在于寄存器中,函数的调用顺序是先设置参数然后调用函数

  • BUUCTF bjdctf_2020_babystack

    Mr.Ha: 想问一下为什么payload里边顺序是pop_rdi、bin_sh、sys呢,顺序不应该是先调用函数然后用寄存器处理参数嘛

大家在看

  • 隐语课程学习笔记10-基于SPU的机器学习建模实操
  • 民革中央许少辉《乡村振兴战略下传统村落文化旅游设计》提参政议辉少许
  • 蓝易云 - 有哪些值得推荐的服务器?
  • 驾校预约管理系统
  • 摄影约拍管理系统

最新文章

  • 堆基础1_小白垃圾笔记
  • rust 环境搭建linker link.exe not found
  • picoctf_2018_rop chain
2023年98篇
2022年20篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y6y6y666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司西乡网站优化按天计费坪山SEO按天扣费坪山SEO按天收费丹竹头优化横岗百度标王平湖seo网站优化深圳网站建设福田网站优化按天收费大芬百度标王沙井网站推广双龙英文网站建设惠州关键词排名包年推广大浪网站优化软件福永网络广告推广观澜网站建设坂田高端网站设计坪山网站定制深圳网站推广方案坪山网络营销丹竹头设计公司网站坑梓企业网站制作大芬外贸网站设计福田模板制作南山网站改版龙岗seo广州设计公司网站布吉网站优化按天计费坪山建设网站光明推广网站松岗SEO按天扣费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化