二进制安全学习笔记(2)
2022-3-9 二进制安全学习笔记(2)
二进制安全入门题目下载链接为:https://github.com/LiveOverflow/liveoverflow_youtube
使用的工具为radare2,下载链接:https://github.com/radareorg/radare2
还有gdb linux动态调试工具,下载方式为 apt install gdb
题目为:0x05_simple_crackme_intro_assembler
strings
这个工具能打印出程序里的字符串
strings 文件
这里我们也找到了密钥
objdump
objdump这个工具可以用来将二进制文件转成汇编代码让我们进行分析
objdump -d 文件 ##进入程序反汇编
objdump -x 文件 #打印程序里所有的内容
strace
strace是Linux环境下的一款程序调试工具,用来监控一个应用程序所使用的系统调用
strace ./文件
我们在程序后面随便跟上一个参数
strace ./文件 AAAA-KEY
我们可以看到,这个工具在系统里的调用
ltrace
这个工具是跟踪系统里的函数库调用的,我们随便输入一个参数
ltrace ./文件 AAAA-KEY
我们可以看到,这里的函数跟正确的密钥做了比较,也泄露了正确的密钥
radare2
radare2是一个linux动态调试工具,内置功能很强大,我们用radare2打开题目
radare2 -d 程序 ##-d 调用gdb
输入aaa #自动分析自动命名功能
输入afl #查看找到所有的函数
用s找到要用的函数位置
s main
输入pdf,显示所有的汇编代码
这里我们已经看到了密钥,但是我们还有其他方法获得密钥
我们先在main函数开头下一个断点
db [addres] #设置一个断点
输入VV,进入可视模式
我们就清楚的知道程序执行的流程
tab/shift tab 可以选择其他块
shift+hjkl移动该块
p 显示不同的表现模式
输入":" #命令模式
afvn 函数名 info #重命名函数
然后输入来运行程序
: dc #运行程序
这里可以看到,我们成功的到达了断点处,再敲击一下回车键就可以退出命令模式
按s/shift+s可在可视化图形界继续执行下一步的汇编操作
这个rip就是我们指针在指向的位置,非常的方便
按s继续执行
可以看到,我们没有输入参数,于是系统就调用了程序的提示字符串,来打印出提示的内容
继续按s,我们退出了程序,然后按q,回到之前的汇编模式
下一章节,将详细介绍radare2的使用和破解程序的教程
二进制安全学习笔记(2)相关推荐
- Oracle数据二进制传输,学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例...
天萃荷净 ORACLE 十进制与二进制互转函数,开发DBA向我咨询数值转换的方法,Oracle数值转换函数NUMBER_TO_BIT等函数可用 1.Oracle数值转换之十进制转换二进制 CREATE ...
- 浮点数的二进制表示学习笔记
基础知识: 十进制转十六进制: 十六进制转二进制: IEEE制定的浮点数表示规则: 了解: 目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算.这种结构是一种科 ...
- pythonutf-8是不是二进制_python学习笔记8-9(字符编码与二进制)
字符编码 python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII) 二进制 举例:古时候烽火台,点火和不点火只有两种状态,传递信息太少. 约定点火数1,代表1-100 点火数2 ...
- c语言float二进制输出代码_C语言学习笔记——学前知识概述
将我大一学习C语言时做的笔记拿来与大家分享,内容比较浅显,比较适合初学者,如有错误还请见谅,提出改正,谢谢! 前言:此C语言笔记是本人在自学时记录的一些重点或初学者常犯的错误,希望我的这本笔记能够对大 ...
- php 二进制移位,php移位运算、移位操作学习笔记
下面是一些常用的关于php移位运算.移位操作学习笔记,希望文章对各位同学带来价值. 位运算应用口诀 清零取位要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算 ...
- 学习笔记_使用二进制的方式修改图片
学习笔记_使用二进制的方式修改图片 1.学习目标 2.学习工具 3.开始操作 3.1 了解图片是怎样用二进制表示的 3.2 开始操作 4.参考文档 1.学习目标 掌握使用二进制的方式修改图片 了解BM ...
- CODE学习笔记一——构建二进制加法器
code用了一定的篇幅写编码以及进制的内容(毕竟书名就叫code),这部分内容我可能兴趣缺缺吧,所以第一篇学习笔记便从加法器写起啦. 目录 目录 用继电器构造简单的逻辑门 一个继电器: 反向器(非) ...
- python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)
[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...
- linux系统管理学习笔记之三----软件的安装
linux系统管理学习笔记之三----软件的安装 2009-12-29 19:10:02 标签:linux 系统管理 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...
最新文章
- Python小程序:你看?这千年难遇的雪景—简直“美到犯规” 【满屏雪花飞舞 】
- go语言中fallthrough与break的使用
- 一起学设计模式-观察者模式
- linux下父子进程共享socket,多进程共享socket(Linux,Win32)
- 走进武汉,解密多媒体开发新场景、新实践(内附资料下载)
- 入门训练 序列求和 c语言
- SAP Fiori Elements save按钮的实现细节
- Linux 命令(94)—— env 命令
- 如何修改html中字号大小,css怎么设置字体大小?
- mongodb更新语句_MongoDB更新
- 最痛苦的一周——第三周作业Collinear
- LintCode: Combination Sum
- 芝加哥大学终身教授:自然科学与社会科学的真正区别
- 为你的网站添加一个帅气的IP签名档吧 – 教程附源码
- unity游戏模型获取- AssertStudio(原GuiStudio)(以第二银河为例)
- “假努力”与“假关心”
- 优麒麟 20.04 pro更换内核
- android 扇形菜单动画,ArcMenu,仿path中带动画效果的扇形菜单
- 如何快速查找BUG?
- ITX-3568JQ四核ITX工业级主板