20145311王亦徐《网络对抗技术》MAL_逆向与Bof基础 实践目标 运行一个可执行文件,通过逆向或者Bof技术执行原本不应该执行的代码片段采用的两种方法: 1、利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。 2、手工修改可执行文件,改变程序执行流程 ...
分类:
其他好文 时间:
2017-02-28 21:51:48
阅读次数:
150
之前想验证一些关于堆栈的问题,但是没什么好方法,printf实在局限,流于表面,只间表象(值、范围、规律)不见真身(地址、寄存器、过程),所以想到了gdb——一个强大的调试工具,还能看汇编代码,现在先把这两天学的常用的命令做一个小结,以后有用到的可能再来更新一下: 括号内为全称补全,缩写全称均可用。 ...
分类:
数据库 时间:
2017-02-25 12:10:56
阅读次数:
255
1、查看哪个二进制文件生成core文件,及其生成时间 #file core core.* 2、加载core文件 #gdb [exec file] [core file] 3、查看堆栈信息 (gdb)bt<n> n代表查看n层堆栈信息,可选 4、打印当前函数的参数及其值 (gdb)info args ...
分类:
数据库 时间:
2017-02-24 15:25:01
阅读次数:
195
By francis_haoFeb 9,2017 概要 这里只列出了最常用的选项 选项解释 -c|-S|-E 启动gcc编译器时,它会顺序执行预处理、编译、汇编和连接(四个阶段的详细介绍见【参考1】)。这几个选项可以指定gcc停止位置。 -c程序不执行连接阶段,生成.o目标文件 -S程序不执行汇编阶... ...
分类:
其他好文 时间:
2017-02-09 23:40:45
阅读次数:
353
如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试器是CDB(对应MinGW的Qt使用GDB调试器)。本文介绍如何下载安装CDB,并在Qt Creator配置之。 示例环境:Windows 7 64bit + ...
假设我当前有文件test.cpp,要gdb调试,先shell上执行:g++ test.cpp -o test -g 1. gdb调试针对的文件是debug模式的可执行文件。 上面-g参数即加上debug选项,-o生成可执行文件。 2. 一般使用步骤: file+文件名指导入可执行文件,不导入则调试没 ...
分类:
数据库 时间:
2017-01-03 21:50:39
阅读次数:
195
1、调试原理 GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试,PC机运行GDB,开发板上运行GDBServer。在应用程序调试的时候,pc机上的gdb向开发板上的GDBServer发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成 ...
分类:
数据库 时间:
2017-01-01 11:44:18
阅读次数:
229
1、查看源码: list [函数名][行数] 2、暂停程序 (1)设置断点: a、break + [源代码行号][源代码函数名][内存地址] b、break ... if condition ...可以是上述任一参数,condition是条件。例如在循环体中可以设置break ... if i = ...
分类:
数据库 时间:
2017-01-01 11:39:34
阅读次数:
234
gdb 调试: 1.得到包含调试信息的可执行性程序: gdb -g main.c -o app -I ../include ; 2.运行调试程序: gdb 可执行程序名; 3.命令: 1)执行命令:两种 start 一行一行执行,执行过程中可以添加其他参数调试。 run 直接执行到程序结束。 2)查 ...
分类:
数据库 时间:
2016-12-29 08:27:48
阅读次数:
195
Gdb调试多进程程序 程序经常使用fork/exec创建多进程程序。多进程程序有自己独立的地址空间,这是多进程调试首要注意的地方。Gdb功能强大,对调试多线程提供很多支持。 方法1:调试多进程最土的办法:attach pid Attach是调试进程的常用办法,只要有可执行程序以及相应PID,即可工作 ...
分类:
数据库 时间:
2016-12-26 18:44:06
阅读次数:
218