摘要:
1.Python中的对象模型python中所有东西都是对象class对象:表示Python内置的类型和定义的类型instance对象(实例对象):表示由class对象创建的实例1.1 对象间的关系is-kind-of关系:对应于面向对象中的基类与子类之间的关系is-instance-of关系:对应于面向对象中类与实例之间的关系<class A>表示名为A的class对象<instance a>表示名为a的instance对象class A 定义了一个名为A的classclass 对象表示在Python中的实现通过对象的__class__属性或Python内置的type方 阅读全文
摘要:
Python虚拟机中的函数机制x86平台上函数调用发生时,系统会在运行时栈中创建新的栈帧,用于函数的执行在Python中,PyFrameObject对象是对栈帧的模拟,Python虚拟机在执行函数调用时会动态地创建新的PyFrameObject对象。随着函数调用链的增长,这些PyFrameObject对象之间也会连接成一条PyFrameObject对象链。1.PyFunctionObject对象在Python中,任何东西都是一个对象,函数也不例外函数是通过PyFunctionObject来实现的typedef struct {PyObject_HEADPyObject *func_code; 阅读全文
摘要:
struct Student{ int id; float stor; }; struct scool{ int id; int count; Student A; //嵌套另一个结构体,应该没问题}; struct scool{ int id; int count; scool A; //嵌套自身,出现问题!}; struct scool{ int id; int count; scool *A; //定义为指针,问题消失!};结构体不能嵌套(自己),只能通过指针的方式。假如定义了一个结构 体:struct test {int a, float b ,t... 阅读全文
摘要:
连接操作符(+)seq1+seq2,把两个序列内容合并的概念,但是这个操作不是最快或者最有效的相比而言,把所有的子字符串放到一个列表或可迭代对象中,然后调用join把所有的内容连接在一起节约内存对列表来说,推荐使用列表类型的extend()方法来把两个或者多个列表对象合并 阅读全文
摘要:
$ cat ifname.c#include <stdio.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <errno.h>#include <string.h>#include <net/if.h>#include <netinet/ether.h>int main(int argc,char **argv){ int s; struct ifreq ifr; if (argc != 3) { fprintf(stderr,"Usag 阅读全文
摘要:
内核编写基础使用global、extern,使C和汇编语言之间来回切换实例:demo1.cvoid myprintf(char* msg,int len);int demo(int a){if(a == 2){myprintf("ok,equal\n",10);}else{myprintf("no,wahaha\n",11);}}demo2.asmextern demo[section .data]numa dd 2[section .text]global _startglobal myprintf_start:push dword [numa]cal 阅读全文
摘要:
http://blog.donews.com/qiaolin/archive/2006/11/07/1073617.aspx 阅读全文
摘要:
//每一个支持802.1q协议的主机,在发送数据包时,都在原来的以太网帧头中的源地址后增加了一个4字节的802.1q帧头#define VLAN_HLEN 4 /* The additional bytes (on top of the Ethernet header) * that VLAN requires. *///VLAN以太网头部的地址长度字节#define VLAN_ETH_ALEN 6 /* Octets in one ethernet addr *///VLAN以太网头部的长度字节#define VLAN_ETH_HLEN 18 /* Total octets in heade 阅读全文
摘要:
需要学习的方向:1. Linux协议栈的彻底学习以及相关的协议栈漏洞的研究2. 加强基础知识学习 (操作系统,算法,数据结构)3. 加强英语学习4. 加强逆向调试能力,开始加强对协议分析的理解,5. 加强网络安全学习 (漏洞挖掘,漏洞利用)6.加强内核的学习需要动手的例子:1.实际crackme的练习,每天都要练习一下,坚持下来2.实际操作系统的编写,争取今年完成一个小型操作系统的编写3.内核的分析,输出分析文档4.协议分析,加强各类的学习分析2012年重点在于对协议栈的理解,对逆向的理解,对漏洞的理解 阅读全文
摘要:
http://hi.baidu.com/lettoo/blog/item/6980f086b8223a2b67096ef7.htmlhttp://www.codegood.com/archives/1292.7的经常不行,这个好用 阅读全文