![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
调试器
文章平均质量分 87
各种静态分析、动态调试器的使用
大灬白
没有绝对安全的系统
展开
-
XCTF-攻防世界CTF平台-Reverse逆向类——65、reverse-box(Linux32位ELF文件、gdb脚本调试)
这里写目录标题1、查看程序信息2、main函数3、sub_804858D()函数:4、程序逻辑5、方法一:gdb脚本获得内存中的数组6、gdb脚本分析:7、将输出转换会输入的flag8、C语言复现程序得到数组挑战描述$ ./reverse_box ${FLAG}95eeaf95ef94234999582f722f492f72b19a7aaf72e6e776b57aee722fe77ab5ad9aaeb156729676ae7a236d99b1df4aflag格式:TWCTF{}1、查看程序信息先原创 2021-09-11 21:12:46 · 1883 阅读 · 3 评论 -
XCTF-攻防世界CTF平台-Reverse逆向类——31、hackme
先用ExeinfoPE查壳查看文件信息:是Linux ELF 64位文件,没有加壳然后用IDA64打开文件,打开字符串窗口:可以看到“Give me the password:”、“Congras\n”、“Oh no!\n”字符串,可能是程序输出的字符串,双击 “Give me the password:”找到它在数据段中存储的位置:选中aGiveMeThePassw按X快捷键,找到使用该变量的地方:跳转到函数中使用aGiveMeThePassw变量的地方:尝试按F5反编译代码:我原创 2021-08-27 15:59:15 · 689 阅读 · 0 评论 -
bugku-逆向-13、Take the maze(VC++32位逆向、IDC脚本使用)
文章目录一级目录二级目录1、IDA静态分析2、主函数分析3、OD动态分析4、关键sub_463480函数分析(1)byte_541168数组分析(2)迷宫游戏的方向和形状5、脚本寻找路径6、路径转换得到flag一级目录二级目录首先下载运行ConsoleApplication1.exe:是需要输入一个字符串或者数字之类的之后PEid查壳:32位的控制台程序,没有壳。1、IDA静态分析再用IDA打开静态分析,找到main函数,按F5反编译:main_0函数带注释的源代码:__int64原创 2020-10-25 00:44:46 · 2346 阅读 · 0 评论 -
逆向工程实验——lab9(linux的elf文件逆向)
文章目录第一关:第二关:第三关:第四关:第五关:第六关:第七关-隐藏关:将bomb拖入linux虚拟机,赋权限4755之后运行:再用IDA打开bomb:第一关:主要目的就是将输入的字符串和Public speaking is very easy.比较。所以我们输入Public speaking is very easy.即可过关:第二关:第二关就是将输入的字符串转换成长度为6的数组:因为数组的第一个数字如果不为1就爆炸:所以字符串的第一个数字为1又因为v3[v1]不等于re原创 2021-07-01 16:43:36 · 1918 阅读 · 0 评论 -
OD调试器断点——消息断点
Windows消息被广泛用于各种事件的通知上面,如果你想操作窗口或者控件(UI元素其实也是一种窗口,如:按钮,编辑框,工具栏,树形控件等)的话,给它发送消息即可。消息也可以来至于其他应用程序。你也可以通过消息来实现系统通知,移动鼠标,按下键盘上的某键等操作。正如我们前面所讨论的,OD中大部分的API函数我们可以使用普通CC断点来下断,但是少数检测CC断点的情况,使用消息断点会更加有效。消息断点在内核调试器SoftICE中也称为BMSG。Windows窗口程序至少有一个消息循环,消息循环有特定的API函数原创 2021-05-25 21:35:26 · 2062 阅读 · 1 评论 -
OD调试器断点——条件断点
文章目录条件断点条件记录断点条件断点条件断点实际上就是普通的CC断点,只不过该断点的触发需要满足设置的条件,如果满足设置的条件,那么程序就会中断下来,如果不满足条件的话,就和没有设置CC断点差不多。我们来看一个例子:重启OD并清除我们之前设置的所有硬件断点,我们在40100E处设置一个条件断点,在40100E处单击鼠标右键选择-Breakpoint-Conditional。就会弹出设置条件的窗口。举个例子,如果你想当前EAX等于400000的时候,程序中断下来,那么条件应该写成:“EAX原创 2021-05-24 21:16:07 · 2785 阅读 · 3 评论 -
OD调试器断点——硬件断点
硬件断点(简称:HBP)是处理器的特性之一,它的工作原理我不是很了解,但是我们会用就行了,我们可以设置硬件断点使程序中断下来。在OD中我们最多可以设置4个硬件断点,如果想设置第5个的话,你需要删除已经设置了的4个中的其中一个。硬件断点分为:硬件执行断点(ON EXECUTION),硬件写入断点(ON WRITE),硬件访问断点(ON ACCESS)3种。硬件执行断点与内存的CC断点作用一样,但硬件执行断点并不会将指令首字节修改为CC,所以更难检测。但是有些程序会使用一些技巧来清除硬件断点,应对方法我们原创 2021-04-11 08:26:27 · 2697 阅读 · 0 评论 -
IDA的def.h文件
IDA在反编译exe的时侯,会在IDA目录下plugins文件夹内,生成C/C++的头文件#include<defs.h>的defs.h 文件defs.h源代码如下:/* This file contains definitions used by the Hex-Rays decompiler output. It has type definitions and convenience macros to make the output more readable.原创 2020-12-28 13:44:17 · 2711 阅读 · 0 评论 -
OD调试器断点——内存断点
我们选择Whole line拷贝整行,Whole Table可以拷贝整个列表的断点信息。Breakpoints, item 0 Address=00401018 Module=CRACKME Active=Always Disassembly=OR EAX,EAX拷贝下来的信息显示了断点的地址,对应的指令以及激活状态。程序中断在断点处会在状态栏显示暂停状态。暂停的原因如下:接下来我们来了解一下当设置一个断点以后,OD调试器在底层二进制代码是如何将程序中断的,会发生什么变化。单击鼠标原创 2021-04-11 07:24:59 · 1098 阅读 · 0 评论