摘要:Pwn学习笔记:printf格式化字符串漏洞原理与利用 基本介绍 Format String 介绍 在C语言中,我们常用的输出函数有printf、 fprintf、 vprintf、 vfprintf、 sprint等。对于这些输出函数,Format String是其第一个参数,我们一般称之为格式化
阅读全文
文章分类 - c
1
摘要:0x01 前言 操作系统通常使用动态链接的方法来提高程序运行的效率。 在动态链接的情况下,程序加载的时候并不会把链接库中所有函数都一起加载进来,而是程序执行的时候按需加载,如果有函数并没有被调用,那么它就不会在程序生命中被加载进来。 这样的设计就能提高程序运行的流畅度,也减少了内存空间。而且现代操作
阅读全文
摘要:刚刚看到了一个比较有意思的C/C++重定向 标准输入输出 的库函数。在此总结。 所谓重定向输出,就是可以把原本只是输出在控制台的字符,输出到你指定的路径文件中。(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入。)重定向函数可以在任何时候开启、关闭。 函数名:freopen 标准声明:F
阅读全文
摘要:图着色算法详解 图着色算法简介 图的 m- 着色判定问题 —— 给定无向连通图 G 和 m 种不同的颜色。用这些颜色为图 G 的各顶点着色,每个顶点着一种颜色,是否有一种着色法使 G 中任意相邻的 2 个顶点着不同颜色 ? 图的m-着色优化问题——若一个图最少需要m种颜色才能使图中任意相邻的2个顶点
阅读全文
摘要:链接地址: https://www.zhihu.com/question/26161033/answer/43447161
阅读全文
摘要:setjmp和longjmp简介 1setjmp和longjmp简介 与刺激的abort函数和exit函数相比,goto语句看起来是处理异常的更可行方案。但是goto是本地的,它只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点(当然,除非你的所有代码都在main体中)。 为了解决
阅读全文
摘要:学习地址: http://c.biancheng.net/cpp/danpianji/rumen_2/
阅读全文
摘要:下载: https://download.csdn.net/download/qq_42403326/10656581
阅读全文
摘要:下载: https://download.csdn.net/download/qq_33846125/10202453
阅读全文
摘要:地址 http://www.qter.org/portal.php?mod=view&aid=25&page=2
阅读全文
摘要:Windows具有良好的界面和丰富的工具,所以目前linux开发的流程是,windows下完成编码工作,linux上实现编译工作。 为了提高工作效率,有必要在windows环境下搭建一套gcc,gdb,make环境。 MinGW就是windows下gcc的版本。 下载地址http://sourcef
阅读全文
摘要:1、下载QT安装包 下载网址:http://download.qt.io/ 或者http://download.qt.io/archive/qt/ 选择一个你需要的版本,例如 5.10 点击进去后,选择对应操作系统的安装包下载,例如qt-opensource-windows-x86-5.10.0.e
阅读全文
摘要:下载 mingw 首先打开 www.mingw.org 。 www.mingw.org 直接点击右上方的 Download Installer 即可下载。 点击 Download Installer 进入下载页面 在打开的新页面会提示我们等待几秒秒后将开始下载。如果十多秒后也没有反应,可以点击进度条
阅读全文
摘要:实验室的demo是之前一位师兄用MFC写的一个大程序,里面复杂的让人头大,之前的梦想就是希望能够在毕业之前把那一套搞明白,随着他的离开,如今这个梦想已搁浅,MFC着实难懂,我也是把图形用户这一块搁置了好久,最近这个又被另一个师兄提起来,但是转战于Q他,我之前是听说过这个的,貌似比MFC简单,心中窃喜
阅读全文
摘要:ddd是一个优秀的调试器,安装ddd破费周折 必须安装x开发环境 1.下载 http://ftp.gnu.org/gnu/ddd/,下载最新的ddd-3.3.12.tar.gz # wget http://ftp.gnu.org/gnu/ddd/ddd-3.3.12.tar.gz # tar zxv
阅读全文
摘要:Linux主流调试器是gdb,但它是纯命令行界面的,调试起来不方便,我需要更强大的力量。在试用了各种工具之后,我相信我找到了,是的没错,就是它——宇宙最强调试器——DDD。 DDD介绍 DDD全称Data Display Debugger,当我第一次见到它时,它的界面着实让我吃了一惊,如此的简陋,如
阅读全文
摘要:函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果,还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢? 对于程序,编译器会对其分配一段内存,在逻辑上可以分为代码段,数据段,堆,栈 代码段:保存程序文本,指令
阅读全文
摘要:C语言中不存在引用,所以当你试图改变一个指针的值的时候必须使用二级指针。 1.当不用指针时,参数传入子函数的过程为值传递,子函数中修改的局部变量的值对原来的实参并没有影响。 2.当用一级指针时,参数传入子函数的过程为地址传递,子函数的实际操作是对指针的操作,那就可以通过子函数中对于实参指针的修改达到
阅读全文
摘要:缓冲区溢出攻击方法是黑客入门的基础,本文以具体实例一步步介绍如何进行最初级的缓冲区溢出攻击。 攻击前准备 本文介绍的利用方法是最原始的方法,高版本Linux已启用数据执行保护和地址随机化安全特性防止这种初级的利用方法。为了向大家展示这种攻击方法,需要做如下的事情: 禁止地址随机化功能: echo 0
阅读全文
1