自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乘风的专栏

是谁告诉我有了梦想就不再寂寞、、、、

  • 博客(43)
  • 资源 (4)
  • 收藏
  • 关注

转载 IOCP原理-----转载至tiwlin(写的非常不错)

IOCP原理要想彻底征服IOCP,并应用好IOCP这个模型,首先就让我们穿越到遥远的计算机青铜器时 代(以出现PC为标志),那时候普通的PC安装的还是DOS平台,微软公司主要靠这个操作系统在IT界的原始丛林中打拼,在DOS中编写程序,不得不与很 多的硬件直接打交道,而最常操作的硬件无非是键盘、声显卡、硬盘等等,这些设备都有一个特点就是速度慢,当然是相对于PC平台核心CPU的速度而言,尤

2013-04-26 15:12:23 819

原创 send()发送结构体

send()默认第二个参数只能发送char*类型数据,怎么发送一个结构体呢?方法一:          定义一个结构体,实例化结构体对象。通过memcpy()给结构体变量的成员赋值,这样是直接赋值到对象所在的内存中。代码如下: struct SNewStruct{ char lenth[10]; char str[20];};//发送数据

2013-04-25 11:46:19 3930

转载 使用socket发送http请求(GET/POST)

转载出处:http://blog.163.com/zongyuan1987@126/blog/static/13162315620108104825970/1.socket的原理 在相关文章中已经提及,不再赘述。2.http头的格式 (1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP

2012-08-16 23:23:06 1875

转载 如何学习网络编程

如何学习网络编程?这是我的经验之谈,我从来就没有系统的学习过网络编程(非科班么),学习过程中走了不少弯路。最近在读经典的《Linux程序设计(第3版)》,第十五章讲的是套接字Socket编程,读完之后,产生了一些想法,觉得有必要写下来。学习网络编程我遇到的主要两个困惑是:      第一:计算机网络中的一个个协议都是抽象的,怎么和具体实际结合起来呢?       第二:知道了soc

2012-08-14 23:32:59 987

原创 学数据结构对一些C语言语法的反思

第一个反思:typedef与结构体的反思例1.1typedef struct LNode { int data; struct LNode *next;}LNode_A;这个是在学习链表时,其定义的一个结构体引起的反思。typedef在C中的语法:①给已有的数据类型(char int long)定义一个别名,例如 tyepdef int bit_4;

2012-08-10 22:23:23 1476

原创 C实例

综合应用 1.用C语言实现遗传算法  2.人工神经网络的C语言实现  3.K_均值算法  4.ISODATA算法  5.快速傅立叶变换  6.求解野人与传教士问题  7.简单专家系统

2012-08-05 00:42:51 845

转载 自学之路——七年之痒 ----------BY小生我怕怕前辈

呵呵!都凌晨了,一夜没睡!看了一夜小甲鱼的视频!突然内心有一些话,想和大家分享下,都是自己走过的路,自己的心理话,希望能给予大家一些启示!         《七年之痒——之引子前序》        接触电脑七年,具体年龄之前在网络上从未透漏,呵呵!感觉老了,现在后起之辈,真是可怕!我算是比较早接触电脑的吧,虽然老家是农村的,但从一上初中开始就接触电脑,什么夜不归宿,网吧通宵,沉迷游戏,疯狂

2012-08-02 04:51:04 14728 1

转载 C、c++经典面试题

近期有空消化掉1      编程基础1.1   基本概念1.        的理解:const char*, char const*, char*const的区别问题几乎是C++面试中每次   都会有的题目。事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:把一个声明从右

2012-08-02 04:08:29 960

转载 信息安全专业

5555,看得哥激动+泪奔,考研想考这个专业,但是只有牛X学校才开设这种专业。想死的心都有了。。。。  信息安全专业   培养目标   本专业是计算机、通信、数学、物理、法律、管理等学科的交叉学科,主要研究确保信息安全的科学与技术。培养能够从事计算机、通信、电子商务、电子政务、电子金融等领域的信息安全高级专门人才。信息安全的概念在本世纪经历了一个漫长的历史阶段,90年代以来得到了深

2012-08-01 03:25:36 2770

原创 部分C库函数重写以及反汇编分析之memch()

/*////////////////////////////////////////////////////////////////////////////////////从buf所指内存区域的前count个字节查找字符ch。   说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。 *///////////////////////////

2012-07-31 16:51:29 2247

原创 严重失眠

凌晨2点7分..............................................躺下去2个多小时,愣是没睡着。又像感冒了,又像是鼻炎发作,总之呼吸很不顺畅。最近为什么持续失眠呢?压力很大啊,学业压力、毕业压力、就业压力、前途的压力、媳妇的压力纷沓而来。感觉N多东西没学,更恐惧的是学了又能怎样的希望渺茫。          既然睡不着,就起来踏

2012-07-31 02:06:51 496

原创 部分C库函数重写以及反汇编分析之memset()

/*///////////////////////////////////////////////////////////////////////////////////////函数解释:将s中前n个字节替换为ch并返回s;   memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。////////////////////////////

2012-07-30 15:08:38 3611

转载 调试入门

调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建

2012-07-30 01:57:46 614

原创 汇编零碎知识点

条件码: ①OF(Overflow Flag)溢出标志,溢出时为1,否则置0.标明一个溢出了的计算,如:结构和目标不匹配. ②SF(Sign Flag)符号标志,结果为负时置1,否则置0. ③ZF(Zero Flag)零标志,运算结果为0时置1,否则置0. ④CF(Carry Flag)进位标志,进位时置1,否则置0.注意:Carry标志中存放计算后最右的位. ⑤AF(Auxi

2012-07-29 23:26:33 477

原创 部分C库函数重写以及反汇编分析之memmov()

/*/////////////////////////////////////////////////////////////////////////////////////功能:由src所指内存区域复制count个字节到dest所指内存区域。   说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针。 //////////////////

2012-07-29 22:19:09 1170

原创 暑假学习计划

目标: 打算在这个暑假结束前(8.26),好好消化掉一下东西,预计如下:1.部分C库函数的重写与反汇编学习;2.加密与解密(第三版)视频教程看到5.16.3节;3.PE结构的复习,并用16进制编辑器完全手写一个“helloword”的PE程序;4.有时间看看LordPE的源码;(可选,视情况而定吧)。5.axure建模。(这个只能说是尽量学了,师父的硬性要求,搞个留言板

2012-07-28 04:20:24 674

原创 部分C库函数重写以及反汇编分析之 toupper()

/*//////////////////////////////////////////////////////////////////////////////////// toupper()将字符串中小写字母全部转为大写////////////////////////////////////////////////////////////////////////////////////*/#in

2012-07-27 21:31:50 1907

原创 部分C库函数重写以及反汇编分析之memcpy()

为了打牢基本功,重写部分C库函数(参考C库与别人的代码,并给出了测试代码),并对部分进行反汇编分析(用VC自带反汇编和OD)。在写程序过程中,会仔细验证很多以前模棱两可的知识点。1./*从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中1.source和destin所指内存区域不能重叠,函数返回指向destin的指针。   2.与st

2012-07-27 21:02:48 3173

转载 部分C库函数重写(经典c/c++面试题)

#include #include #include //////////////////////////////////////////////////////Convert character to uppercase.const char *toupper(char *s){ for(char *t=s;*t!='\0';t++) {  if(*t>='a

2012-07-26 22:18:58 3321

原创 学习方向

借鉴一下某培训机构的课程安排,作为自己学习方向的一个参考吧。第二阶段(预计1个半月)                   汇编:                       1.机器指令                       2.汇编指令                       3.编码(OPCode)                   C语言:

2012-07-26 22:05:50 935 2

转载 小甲鱼PE详解之资源(PE详解11)

小甲鱼PE详解之资源(PE详解11)我们知道,Windows 将程序的各种界面定义为资源,包括加速键(Accelerator)、位图(Bitmap)、光标(Cursor)、对话框(Dialog Box)、图标(Icon)、菜单(Menu)、串表(String Table)、工具栏(Toolbar)和版本信息(Version Information)等。为了吸引大家的兴趣和目光,咱先

2012-07-25 15:07:17 1114

转载 小甲鱼PE详解之基址重定位详解(PE详解10)

小甲鱼PE详解之基址重定位详解(PE详解10)这一节对于讲来研究病毒原理的研究影响比较大,大家务必要深入理解~但是吧,咱的权威教材看雪的《加密与解密》在这一节的讲解上实在不给力,很多初学者看得云里雾里的。大家意见一致啵 ?! 为了让大家能够更容易的接受,小甲鱼决定通过自问 - 自答循环渐进的模式给大家讲解基址重定位的原理和应用。问题一:什么是基址重定位?

2012-07-25 15:05:28 1328

转载 小甲鱼PE详解之输入表(导出表)详解(PE详解09)

小甲鱼PE详解之输出表(导出表)详解(PE详解09)当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一并装入地址空间,再根据DLL 文件中的函数导出信息对被执行文件的IAT 进行修正。基础补充:很多朋友可能看到这里会有点懵,各位看官请允许小甲鱼啰嗦一下,照顾初学者。我们都明白Wind

2012-07-24 15:24:58 800

转载 小甲鱼PE详解之输入表(导入表)详解2(PE详解08)

输入表结构回顾一下,在 PE文件头的 IMAGE_OPTIONAL_HEADER 结构中的 DataDirectory(数据目录表) 的第二个成员就是指向输入表的。而输入表是以一个 IMAGE_IMPORT_DESCRIPTOR(简称IID) 的数组开始。每个被 PE文件链接进来的 DLL文件都分别对应一个 IID数组结构。在这个 IID数组中,并没有指出有多少个项(就是没有明确指明有多少

2012-07-24 15:24:11 1007

转载 小甲鱼PE详解之输入表(导入表)详解(PE详解07)

在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯!首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分成很多区块(节),并有区块表(节表)的数据来描述这些区块。这里我们需要注意的问题是:一个区块中的数据仅仅只是由于属性相同而放在一起,并不一定是同一种用途的内容。例如接着要讲的输入表、输出表等就

2012-07-24 15:23:09 841

转载 小甲鱼PE详解之区块描述、对齐值以及RVA详解(PE详解06)

各种区块的描述:很多朋友喜欢听小甲鱼的PE详解,因为他们觉得课堂上老师讲解的都是略略带过,绕得大家云里雾里~刚好小甲鱼文采也没课堂上的教授讲的那么好,只能以比较通俗的话语来给大家描述~通常,区块中的数据在逻辑上是关联的。PE 文件一般至少都会有两个区块:一个是代码块,另一个是数据块。每一个区块都需要有一个截然不同的名字,这个名字主要是用来表达区块的用途。例如有一个区块叫.rdata

2012-07-24 15:21:52 1408

转载 小甲鱼PE详解之区块表(节表)和区块(节)续(PE详解05)

这一讲我们结合实例来谈谈区块表的定义以及各个属性的含义。首先,我们先用之前学过的一点知识在二进制文件中手动翻找区块表,这样做的好处是可以使你很快的对PE结构牢记于心。学来的东西就是能用的东西,不能用的理论是空谈,是瞎扯。(具体过程演示大伙可参考小甲鱼的视频教程:《解密系列》系统篇.第五讲)这里我们经过千辛万苦终于找到了我们的区块表了(当然将来我会教大家写一个自己的工具,让工具去

2012-07-24 15:20:00 1972

转载 小甲鱼PE详解之区块表(节表)和区块(节)(PE详解04)

PE文件到内存的映射在执行一个PE文件的时候,windows 并不在一开始就将整个文件读入内存的,二十采用与内存映射文件类似的机制。也就是说,windows 装载器在装载的时候仅仅建立好虚拟地址和PE文件之间的映射关系。当且仅当真正执行到某个内存页中的指令或者访问某一页中的数据时,这个页面才会被从磁盘提交到物理内存,这种机制使文件装入的速度和文件大小没有太大的关系。

2012-07-21 18:24:27 1437

转载 小甲鱼PE详解之IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用(PE详解03)

typedef struct _IMAGE_OPTIONAL_HEADER{    //    // Standard fields.      //+18h    WORD    Magic;         // 标志字, ROM 映像(0107h),普通可执行文件(010Bh)+1Ah    BYTE      MajorLinkerVersion;     //

2012-07-21 18:23:51 1175

转载 小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)

IMAGE_NT_HEADERS STRUCT { +0hDWORDSignature   //+4h  IMAGE_FILE_HEADER FileHeader  //+18hIMAGE_OPTIONAL_HEADER32 OptionalHeader   //} IMAGE_NT_HEADERS ENDSS

2012-07-21 18:22:18 1371

转载 小甲鱼PE详解之IMAGE_DOS_HEADER结构定义即各个属性的作用(PE详解01)

(注:最左边是文件头的偏移量。)IMAGE_DOS_HEADER STRUCT { +0hWORD e_magic  // Magic DOS signature MZ(4Dh 5Ah)     DOS可执行文件标记 +2h  WORD e_cblp // Bytes on last page of file   +4hWORD e_cp //

2012-07-21 18:21:10 1238

转载 PE文件的执行顺序

当一个PE文件被执行时,PE装载器首先检查DOS MZ header里的PE header的偏移量。如果找到,则直接跳转到PE header的位置。当PE装载器跳转到PE header后,第二步要做的就是检查PE header是否有效。如果该PE header有效,就跳转到PE header的尾部。紧跟PE header尾部的是节表。PE 装载器执行完第二步后开始读取节表中的节段信息,并采

2012-07-21 18:20:05 906

转载 stdafx.h和int _tmain(int argc, _TCHAR* argv[])

stdafx.h和int _tmain(int argc, _TCHAR* argv[])以下内容摘自百度知道:stdafx.h = Standard Application Fram Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花

2012-03-07 15:30:38 4599 1

原创 贪心算法之最优装船问题

越来越发现自己的编程功底很差,于是近期打算恶补下。看到一题目,初见觉得很简单,但是实际编程的时候,可能是由于自己的基本功太弱的原因吧,还是花费了很长的时间的。题目如下:                 有一批集装箱要装入一个载质量为C的货船种,每个集装箱的质量由用户自己输入指定,在货船的装载体积不限的前提下,如何装载集装箱才能尽可能多地的将集装箱装入货船中。

2012-03-06 22:37:30 1917

原创 解决缺少streams.h的方法

今天在编译一个网上下载的源文件时,发现有个缺少streams.h的错误。摸索了很久,最终解决,方法如下:    首先在电脑中搜索出streams.h文件的位置,我电脑中文件的路径如下:。于是在VC6.0的TOOL中的options的directories选项中包含这个include的项,如下:。再重新编译,发现又少了reftime.h文件,再在电脑中进行搜索,发现路径在SDK包中:,同上,再将

2011-12-12 11:27:38 9708 1

转载 嵌入式学习步骤是这样

新手建议:《一》嵌入式学习步骤是这样:1.Linux开发基础学习虚拟机搭建、Linux宿主机安装、Linux命令、服务器搭建Samba,NFS、VI编辑器推荐书籍(鸟哥的私房菜基础篇,服务器架设篇)2.linux编程GCC/GDB、Makefile、交叉编译环境搭建+C语言强化+Linux系统编程推荐书籍(linux C函数实例速查手册,unix环境

2011-11-29 23:36:01 1001

转载 学校BBS上看到一篇关于追女孩子的文章,相信谁看了都会有种恍然大悟的感觉。

导读:首先我们不必要去研究这篇东西究竟是否是女生所写.在互联网里面没有真实的身份.这篇文章我是在一个角落里面看到的.找不到原出处.不过里面的话还是有点道理的.分享给大家看看             我是女生,看到有的男生想追自己喜欢的女孩子又不敢追,还想人家倒追她,我很反感.      从一个女生的角度,我比较了解女孩子的心理。女孩子大多不会主动出击,去追求自己喜欢的男孩,除了

2011-11-20 17:40:07 2780

转载 LINUX0.11内核阅读笔记

我是通过阅读赵炯老师编的厚厚的linux内核完全剖析看完LINUX0.11的代码,不得不发自内心的说Linus真的是个天才。虽然我觉得很多OS设计的思想他是从UNIX学来的,但是他自己很周全很漂亮很巧妙地实现了如此庞大一个系统的绝大多数代码。这里面有太多环节需要注意,很难得。。。读完之后觉得很有收获,虽然版本很低,但是已经对OS有一个很具体的认识了,比理论上的要来得深刻、真实。下面是我自己学习

2011-11-11 15:00:00 2408 3

原创 程序员的光棍节

在CSDN论坛看到的,仅供大家一笑:   while(!IfDead()){     while(GetSystemDate()!=光棍节)  {printf("不想死");}      if(IfHaveAGirl())  printf("黑皮,嘿咻");  else print(“喝滴滴喂”);}

2011-11-11 12:07:51 1351

原创 智能小车循迹避障程序

今天,百年光棍节,咱电子类的学校哀嚎遍野呀。受氛围影响,我也是凄凄惨惨戚戚,遂逃课。幸好有妹纸阿一跑来问我程序,一个智能小车的循迹避障程序,也算是一大慰藉吧。她笑起来还是这么好看。。。              由于程序是别人,就只开源部分吧,精华的壁障部分:  //晶振=12M//MCU=STC10F04XE//P0.0-P0.6共阴数码管引脚//Trig  = P1^0

2011-11-11 11:36:59 11214 1

zlib内存解压代码

解压用zlib压缩的内存数据,完整源码与编译出来的工具

2014-04-24

wireshark抓包数据提取

wireshark导出日志中DATA提取工具代码。过滤掉多余信息,只提取出数据包里面的data数据。

2014-04-24

51实现抢答器

51实现的抢答器.8路+主持人按键

2012-10-17

课程管理系统

用C写的一个课程管理系统,功能比较齐全。。。

2011-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除