![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
notes
youkuxiaobin
快乐起来
展开
-
notes 09-02 APUE
Echo $?可以输出程序执行的状态值 Main函数中参数argc和argv。Iso c和posix1都要求 argv[argc]是一个空指针, Ateixt函数调用与注册相反 #include #include void func1() { pr原创 2011-09-04 22:26:49 · 453 阅读 · 0 评论 -
数据的描述方式
数据可以用不同的形式进行描述或存储在计算机存储器中。最常见的数据描述方法有:公式化描述、链接描述、间接寻址和模拟指针。 公式化描述借助数学公式来确定元素表中的每个元素分别存储在何处,也就通过公式计算元素的存储器地址。最简单的情形就是把所有元素依次连续存储在一片连续的存储空间中,这就是通常所说的连续线性表,即数组。复杂一点的情形是利用复杂的函数关系根据元素的某些特征来计算元素在内存中的位置,这种技原创 2011-08-28 23:09:10 · 1453 阅读 · 0 评论 -
黑客的一些攻击方法
XSS (CROSS-SITE SCRIPT)就是跨站脚本攻击,主要是服务器对用户客户端获得的数据没有进行合法性的验证,黑客把一些脚本发送到服务器,等待客户浏览器执行,获得用户的cookie,以此来伪装正常用户(做web开发的一定要对数据进行合法性验证哦,要不死的很惨的!!) Link Injection(链接注入)主要也是没对数据进行合法性验证,这样hack上传一个链接脚本 Phishing原创 2011-08-24 08:31:50 · 779 阅读 · 0 评论 -
linux 笔记
1有时候我们在编译程序的时候还要指定库的路径,这个时候我们要用到编译器的 -L选项指定路径.比如说我们有一个库在 /home/hoyt/mylib下,这样我们编译的时候还要加上 -L/home/hoyt/mylib.对于一些标准库来说,我们没有必要指出路径.只要它们在起缺省库的路径下就可以了.系统的缺省库的路径/lib /usr/lib /usr/local/lib 在这三个路径下面的库,我们可以原创 2011-08-21 22:29:26 · 518 阅读 · 0 评论 -
学习笔记
用户态到内核态,调用api ioctl是运行在用户态 中断的上下半部分 另外,与Linux中断息息相关的一个重要概念是Linux中断分为两个半部:上半部(tophalf)和下半部(bottom half)。上半部的功能是"登记中断",当一个中断发生时,它进行相应地硬件读写后就把中断例程的下半部挂到该设备的下半部执行队列中去。因此,上半部执行的速度就会很快,可以服务更多的中断请求。但是,仅有"原创 2011-08-18 23:01:36 · 511 阅读 · 0 评论 -
公式化描述
公式化描述 //line.h #ifndef LINE_H #define LINE_H #include using namespace std; class line_table { public : line_table(unsigned int max_line); ~line_table(){ delete [] element; } bool is_empty(原创 2011-08-28 23:09:31 · 689 阅读 · 0 评论 -
代码
#include #include #include using namespace std; #define PCAP_PATH_NAME "/fwlog/bugreport/pcap/" map> file_all; void initial_map() { DIR *dir_content; DIR *dir_file; struct dirent* dir_ent原创 2011-08-16 00:11:39 · 470 阅读 · 0 评论 -
c++ primer3
c++ primer 笔记 1. 类成员声明的名字查找(声明就是不要实体部分==“{}”) 首先在名字使用之前的类成员的声明 之后在包含类定义的作用域中出现的声明以及之前的声明 类成员定义的名字查找(定义就是实体部分 == “{}”) 首先检查在成员函数局部作用域中的声明 如果找不到,检查所有类成员的声明 如果再找不到,就找这个函数定义之前的作用域出现的声明 2.原创 2012-02-15 23:18:28 · 909 阅读 · 0 评论 -
再读c++ primer2
1. 通过指针赋值和指针赋值,这个概念一定要区分开来 通过指针赋值:表示是更新指针所指向的内存区域的值。 给指针赋值:表示更改指针所指向的地址,是指针指向另外一个地址。 int a = 3 ,b; int *p =&a; *p = 4;//通过指针赋值 p = &b;//给指针赋值 指向const对象的指针和const指针 指向const对象的指针:表示这个指针指向的原创 2012-02-08 00:23:38 · 801 阅读 · 0 评论 -
再读c++ primer
再读c++ primer 1. extern的使用 是当在a.cpp文件中想使用b.cpp文件中的全局变量extern_data的时候,当在b.cpp中定义了extern_data,a.cpp使用的时候要在a.cpp文件中声明externint extern_data。 2. 对于数组的初始化: 如果在定义数组的时候,没有初始化数组元素,而且是函数内的数组(不是全局原创 2012-02-06 23:34:59 · 787 阅读 · 3 评论 -
OllyDBG 入门教程
一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个ZIP压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个RAR压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考中文帮助: 反汇编转载 2011-12-25 20:50:08 · 1043 阅读 · 1 评论 -
函数调用的过程stack动态分析
一段代码的stack调用分析: 下面分析的代码: /* * ===================================================================================== * * Filename: stack.c * * Description: gdb 栈的使用,对栈的分析过程 * *原创 2013-02-16 21:48:51 · 1164 阅读 · 0 评论