- 博客(9)
- 资源 (27)
- 收藏
- 关注
原创 Linux Epoll介绍和程序实例
1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnecti
2013-09-27 17:45:06 900
原创 Linux c 汇编语言参数传递解析
一般规则为, 当参数少于7个时, 参数从左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9。当参数为 7 个以上时, 前 6 个与前面一样, 但后面的依次从 "右向左" 放入栈中。例如: CODE(1) 参数个数少于7个: f (a, b, c, d, e, f); a->%rdi, b->%rsi, c->%rdx, d->%rcx, e->%r8, f
2013-09-27 17:21:04 1899
原创 FNV-1a Hash 算法代码实例
1 #include "stdio.h" 2 #include "string.h" 3 4 unsigned int FNV_Hash(unsigned int uiSrcData) 5 { 6 /* FNV_prime = 224 + 28 + 0x93 = 16777619 7 32 bit offset_basis = 2166
2013-09-27 17:03:22 2418
原创 FNV与FNV-1a Hash算法说明
The core of the FNV hashThe core of the FNV-1 hash algorithm is as follows:hash = offset_basisfor each octet_of_data to be hashed hash = hash * FNV_prime hash = hash xor octet_of_datar
2013-09-27 13:33:58 5756
原创 epoll使用介绍及举例
深入了解epoll 一、 介绍 Epoll是一种高效的管理socket的模型,相对于select和poll来说具有更高的效率和易用性。传统的select以及poll的效率会因为socket数量的线形递增而导致呈二次乃至三次方的下降,而epoll的性能不会随socket数量增加而下降。标准的linux-2.4.20内核不支持epoll,需要打patch。本文主要从linux-2.4.32和l
2013-09-27 13:31:32 916
原创 linux c 字符编码转换函数 iconv
一、利用iconv函数族进行编码转换在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。iconv函数族的头文件是iconv.h,使用前需包含之。#include iconv函数族有三个函数,原型如下:(1) iconv_t iconv_open(const c
2013-09-24 10:39:57 4146
原创 Gcc 优化选项注意事项
Gcc -O0 不优化,-O1 -O2 -O3对代码进行了优化,减小目标文件大小,减小代码段及栈空间的大小,同时也会带来一些意想不到的问题,所以良好的编程风格和规范至关重要,避免类型直接来回转换,进可能用小内存表示,而且不同平台要求4或8字节对齐。如:1、函数临时变量为short a,而函数内部对a地址赋值一个32位的整数,则会覆盖栈地址,导致程序崩溃。2、部分指令寄存器要求地址16字
2013-09-12 19:03:18 7565
原创 Linux 物理内存减少了原因说明
总有很多朋友对于Linux的内存管理有疑问,之前一篇[转]理解Linux的性能日志似乎也没能清除大家的疑虑。而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下。最后,还附上我对这方法的意见,欢迎各位一同讨论。 当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有
2013-09-12 18:47:37 6140
转载 ASLR/DEP绕过技术概览
ASLR/DEP绕过技术概览by WinsOn@Cybersword 在经典的栈溢出模型中,通过覆盖函数的返回地址来达到控制程序执行流程(EIP寄存器),通常将返回地址覆盖为0x7FFA4512,这个地址是一条JMP ESP指令,在函数返回时就会跳转到这个地址去执行,也就是执行JMP ESP,而此时ESP刚好指向我们在栈上布置的Shellcode,于是就执行了Shellcode。
2013-09-12 17:18:58 4935
ImmunityDebugger_mona_vulnserver_python
2015-09-16
http2文档报文及分析
2015-04-16
OpenSSL_HeartBleed_POC_Pcap
2014-06-12
报文发送软件
2013-11-06
ftpfuzz(infigo ftpstress fuzzer)
2012-09-14
URL内容提取工具
2012-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人