2013年3月14日

摘要: 转自:http://coanor.blog.hexun.com/38241166_d.html1.简介只要你在Unix环境中写过程序,你必定会邂逅神秘的Lex&YACC,就如GNU/Linux用户所熟知的Flex&Bison,这里的Flex就是由Vern Paxon实现的一个Lex,Bison则是GNU版本的YACC.在此我们将统一称呼这些程序为Lex和YACC.新版本的程序是向上兼容的(译注:即兼容老版本),所以你可以用Flex和Bison来尝试下我们的实例.这些程序实用性极广,但如同你的C编译器一样,在其主页上并没有描述它们,也没有关于怎样使用的信息.当和Lex结合使用时, 阅读全文
posted @ 2013-03-14 15:39 王维_ICT 阅读(429) 评论(0) 推荐(0)

2013年3月5日

摘要: 之前使用mysql都是用它的一些常用功能,现在由于最近一个项目的需要,后台的mysql数据服务器基本是由我在管理,学习到了很多以前没有接触过的mysql功能,总结一下。由于业务需要,数据库引擎用的是innodb,版本是5.5。mysql的基本功能我就不说了,主要说说学到的以前不是和了解的方面。一.独立表空间和共享表空间 共享表空间是mysql的默认方式,也算是推荐方式了,数据库的所有所有数据都在一个(或几个)文件中,比较好管理,而且数据库操作的时候打开这一个文件就可以了,相对来说代价较小。但是当数据的量级达到G后,一个很大的数据文件并不利于管理,读写都需要耗费巨大的资源。 独立表空间每个表.. 阅读全文
posted @ 2013-03-05 11:08 王维_ICT 阅读(433) 评论(0) 推荐(0)

2012年11月29日

摘要: 原文链接:http://blog.csdn.net/historyasamirror/article/details/5778378同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同。所以,为了更好的回答这个问题,我先限定一下本文的上下文。本文讨 阅读全文
posted @ 2012-11-29 11:52 王维_ICT 阅读(146) 评论(0) 推荐(0)

2012年9月3日

摘要: GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GD 阅读全文
posted @ 2012-09-03 15:09 王维_ICT 阅读(227) 评论(0) 推荐(0)
摘要: Using ptrace allows you to set up system call interception and modification at the user level.Have you ever wondered how system calls can be intercepted? Have you ever tried fooling the kernel by changing system call arguments? Have you ever wondered how debuggers stop a running process and let you 阅读全文
posted @ 2012-09-03 15:06 王维_ICT 阅读(446) 评论(0) 推荐(0)
摘要: 右侧的红色部分,写出了引发栈结构变化的对应的指令+| (栈底方向,高位地址) || ....................|| ....................|// call somefun(...)-->修改esp,栈向下增长,参数入栈,返回值入栈| 参数3 || 参数2 || 参数1 || 返回地址 |-| 上一层[EBP]|//push ebp --->修改esp,栈向下增长|局部变量1 |// sub esp 局部变量占用空间 -->修改esp,栈向下增长|局部变量2 ||.....................| 补充:栈一直随着函数调用的深... 阅读全文
posted @ 2012-09-03 15:05 王维_ICT 阅读(380) 评论(0) 推荐(0)
摘要: 直接 I/O 的动机在介绍直接 I/O 之前,这一小节先介绍一下为什么会出现直接 I/O 这种机制,即传统的 I/O 操作存在哪些缺点。什么是缓存 I/O (Buffered I/O)缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中,操作系统会将 I/O 的数据缓存在文件系统的页缓存( page cache )中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。缓存 I/O 有以下这些优点:缓存 I/O 使用了操作系统内核缓冲区,在一定程度上分离了应用程序空间 阅读全文
posted @ 2012-09-03 15:03 王维_ICT 阅读(450) 评论(0) 推荐(0)
摘要: 在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步所 谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的 LRESULT值返回给调用者。异步异步的概念和同步相对。当一个异步过 阅读全文
posted @ 2012-09-03 15:01 王维_ICT 阅读(196) 评论(0) 推荐(0)
摘要: Intel平台下Linux中ELF文件动态链接的加载、解析及实例分析(一): 加载当然从文章的题目就可以看出,intel平台下的linux ELF文件的动态链接。一则是因为这一方面的资料查找比较方便,二则也是这个讨论的意思比其它的动态链接要更为重要(毕竟现在是intel的天下)。当 然,有了这么一个例子,其它的平台下的ELF文件的动态链接也就大同小异。你可以在阅读完了本文之后"举一隅,而反三隅"了。由于这是一个系列的文章,我计划分三部分来写,第一部分主要分析加载,涉及dl_open这个函数的内容,但由于这个函数所包含的内容 实在太多。这里主要是它的_dl_map_objec 阅读全文
posted @ 2012-09-03 14:56 王维_ICT 阅读(2477) 评论(0) 推荐(0)
摘要: 共享库注射--injectso实例作者:grip2 <gript2@hotmail.com>日期:2002/08/16内容: 1 -- 介绍 2 -- injectso -- 共享库注射技术 3 -- injectso的工作步骤及实现方法 4 -- 目标进程调试函数 5 -- 符号解析函数 6 -- 一个简单的后门程序 7 -- 最后 8 -- 参考文献一、 ** 介绍本文介绍的是injectso技术,重点是使用现有技术去实际的完成一个injectso程序,而不是侧重于理论上的探讨。这里希望你在阅读这篇文章的时候对ELF、inject有一定的了解,当然你也可以选择在看完本文之后再去 阅读全文
posted @ 2012-09-03 14:55 王维_ICT 阅读(465) 评论(0) 推荐(0)

导航