抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

黑客攻防学习

前置知识:汇编语言 系统篇栈溢出缓冲区是一片有限的、连续的内存区域。在C语言中最常见的缓冲区是数组。 因为在C和C++语言中没有考虑检查缓冲区的内在边界,所以使栈溢出成为可能。当输入的数据足够大时,将会溢出缓冲区的范围,从而改写从而改写其他缓存区域。 函数与栈调用函数的整个过程如下 把函数的参数压入栈 把函数的返回地址压入栈 主程序调用子程序,子程序结束后继续上次的位置执行主程序 ...

算法技巧

递归 从结束条件开始分析 字符串 遇到需要记录字符的情况,可以使用int a[26]代替map 双指针双指针的选择会出现在很多情况,如:快速排序算法m值的选择、列出排列组合的所有情况。 一般先对数组排序,然后从边界开始就能简单的定一议二 图判断二分图染色,然后使用bfs或dfs遍历所有节点,不应该存在相邻节点颜色一样。 复杂条件问题允许存在变量如判断一个字符串是否回文,而且允许删除一...

c++进阶

C++补完计划关键字decltype(c++11)关键字decltype(x)用于自动检测x的类型,并作为关键字。使用方法如下 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869...

汇编语言(Intel)

基础知识 地址总线 CPU通过地址总线来指定存储单元,N根导线可以传送N位二进制数,可选址$2^N$个内存单元,可表示最大的数为$2^N - 1$。 数据总线 CPU与内存或其他器件之间的数据传输是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传输速度。如8根数据总线一次可以传送8位(一个字节)二进制数据。 控制总线 CPU对外部器件的控制是通过控制总线来进行的。有多少...

密码学

密码学和数据安全导论可靠的密码体制必须遵守Auguste Kerekhoffs在1883年提出的一个假说,即Kerekhoffs原理: 即使密钥外的整个系统的一切都是公开的,这个密码体制也必须是安全的。尤其是即使攻击者知道系统的加密算法和解密算法,此系统也必须是安全的。 需要强调的是,设计上一个隐藏细节的系统看似是更安全的。但是历史经验告诉我们这样的系统其实是很脆弱的,系统的细节可以通过...

C语言中使用管道进行进程间通信

pipe1int pipe(int pipefd[2]); 创建一个管道,返回其文件描述符fd。pipefd[0]用于读,pipefd[1]用于写。 由于其是基于文件描述符(fd)的管道,所以仅能在 有亲缘关系的进程 间共享,也就是说要通过管道做进程间通信仅能在其父子兄弟进程间通信。 因为每个进程都维护自己的文件描述符表 fd table,fork时子进程继承了父进程的fd table。所...

进程/线程间使用信号量通信

信号量通信semaphore.h信号量创建和初始化sem_init1int sem_init(sem_t *sem, int pshared, unsigned int value); sem,初始化的信号量 pshared参数: pshared为0,表示信号量在线程间共享,放置在所有线程可见的位置,如全局变量 pshared非为0,表示信号量在进程间共享,放置在所有进程可见的位置,...

learn vimscript the hard way

Remenber to use :h <arg> for help Ref: https://learnvimscriptthehardway.stevelosh.com/ BasicEcho :echo "hello" :echom "hello" 区别在于echom会将消息放入消息队列中:messages Setting option...

用processing模拟自然系统

随机游走 processing中的random()函数生成的随机数是均匀分布的 可以利用random函数生成非均匀分布的随机数 创建一个非均匀的数组,用random来随机的取索引 也可用random来取概率,但是注意数据类型(float和int有区别) 随机数的正态分布 (float)generator.nextGaussian()返回一个高斯随机数,nextGaussian返回值的类型...

SQL注入

原理利用SQL拼接的安全性,将一些恶意的SQL语句传到服务器中执行。如: 12345678网页端登录页面: user: userpassword: ****传入服务器中可能就是SELECT * FROM users WHERE id='user' and password='1234' 如果程序员没有进行过滤,则可能会发生这种情况 ...