自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ll2323001的专栏

如果有那篇文章未经您的允许,而转载您的,请给我发信息,lwl20080304@163.com,造成的不便,敬请原谅

  • 博客(127)
  • 资源 (9)
  • 收藏
  • 关注

原创 上下文无关文法、上下文有关文法

一直被这两个绕着,现在终于理解点了!从0型文法到3型文法,规则越来越严格了。 0型文法:可由图灵机识别(关于图灵机,百度百科描述很详细了。) 1型文法:上下文有关文法。(任何产生规则的左手端和右手端都可以被终结符和非终结符的上下文所围绕,乔姆斯基描述自然语言的一种方式介入的,在自然语言中一个单词是否可以出现在特定的位置要依赖于上下文。) 

2014-01-17 02:24:59 11020 2

原创 数据库注意知识点

1、低效的“WHERE 1=1”网上有不少人提出过类似的问题:“看到有人写了WHERE 1=1这样的SQL,到底是什么意思?”。其实使用这种用法的开发人员一般都是在使用动态组装的SQL。让我们想像如下的场景:用户要求提供一个灵活的查询界面来根据各种复杂的条件来查询员工信息,界面如下图: 界面中列出了四个查询条件,包括按工号查询、按姓名查询、按年龄查询以及按工资查询,每个查询条件前都

2012-07-18 15:26:10 818

原创 面试问题收集

1、如果是下面两个字符串:  String 1: ABCDEFGHLMNOPQRS  String 2: DCGSRQPOM  答案是true,所有在string2里的字母string1也都有。如果是下面两个字符串:  String 1: ABCDEFGHLMNOPQRS  String 2: DCGSRQPOZ  答案是false,因为第二个字符串

2012-07-18 10:21:49 587

原创 gdi画图基本步骤

基本步骤:1、通过GetDc函数获得可以修改的设备环境的句柄hDc,注意GetDc与GetWindowDc的区别,后者包含了标题栏,而前者只是客户窗口2、通过CreateCompatibleDC函数,以程序设备环境为模版,在内存中创建一个相似的可以操作的设备环境hcompDc3、通过SelectObject函数将加载到内存的图片连接到内存设备环境中去4、对图形进行修改5、通

2012-07-06 10:33:54 1592

原创 抓图工具主要代码注释

参考代码: http://blog.csdn.net/jhkdiy/article/details/5896077下面是关于抓图放大的主要代码,将这段代码放到一个计时器中,时时进行放大!invoke GetCursorPos,addr @stPoint ; 获取鼠标位置,并显示出来invoke SetDlgItemInt,hWnd,IDC_EDT_X,@stPoint.x,FAL

2012-07-06 09:51:46 791

转载 SetWindowRgn

下面是实现程序窗口圆角多角矩形的三种方法,但效果都比较差。只是简单的将边角裁剪,从边框和标题栏上都可以看出来。不过可以通过这三个函数来学习下SetWindowRgn()及创建一个HRGN的不同方法。方法1?123456789void Set

2012-07-03 18:06:43 1355

原创 win32程序窗口风格说明

参考:主要是罗云彬老师的《win32汇编程序设计》一、注册窗口时,用到的窗口类结构invoke RegisterClassEx,addr@stWndClassWNDCLASSEX    STRUCT  CbSize                  DWORD      ?    ;结构的字节数  Style                       DWORD

2012-07-03 16:30:31 5568

原创 win32汇编提醒

1、对于在code段定义数据如:data segment......data ends经过编译后,定义的数据会被放置到.data段!而在const段定义的数据,就会被放置到.rdata段!2、使用api的时候,注意参数,部分参数是指向变量的指针!!!要用类似 addr dwData

2012-06-28 21:24:28 737

原创 Win32Asm小程序案例之显示行号的记事本

参考:1、http://blog.csdn.net/jhkdiy/article/details/5634519本文主要为自己仿写带行号的记事本做一个记录!一切从简!!!一、程序开发流程(文字描述):1、简单实现基本的显示功能,界面功能,使用了RichEdit控件2、添加打开文件,显示文件,保存文件,以及常见的复制、粘贴等功能!3、实现显示行号功能!这里使用了子类化

2012-06-22 21:29:06 1034

原创 Win32Asm常用程序编写错误集锦

1、ReadFile函数成功,WriteFile却不成功查看CreateFile函数指定对文件的操作,是否有可写参数?

2012-06-20 20:17:19 537

原创 常用消息总结

1、编辑框相关的消息EM_REPLACESEL:在光标后面追加信息

2012-05-29 15:44:43 469

原创 win32编写动态链接库注意事项

1、*.def文件  EXPORTS           函数名1           函数名2

2012-05-29 15:12:54 591

转载 win32汇编头文件的编写注意

_Wave   proto  :DWORD,:DWORD

2012-05-26 18:22:09 1206

原创 C 程序调用win32写的dll文件

1、注意函数参数的调用方式:要跟win32的一样,因为学习的是罗云彬的win32汇编,采用的__stdcall方式,所以使用隐式调用的时候,在设定接受函数一定要声明一样的调用如typedef int (__stdcall *MYFUNC)(dword ,dword)2、在使用GetProcAddress函数的时候,接受的变量,就像上面写的那样进行声明,然后就可以调用了3、记

2012-05-26 10:02:35 675

转载 TCP三次握手/四次挥手详解

原文:http://blog.chinaunix.net/uid-25940216-id-3210327.htmlTCP三次握手/四次挥手详解1、建立连接协议(三次握手)   (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。   (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表

2012-05-25 17:08:02 496

转载 关于assume的讨论

fanxero(方舟二号) dos下连编生成的汇编程序有两种,扩展名分别为com和exe。com程序是纯cpu指令和数据,在磁盘上放着的com文件和被加载到内存后内容是一样的,cpu按照IP指示的第一条指令开始执行。com程序只能在一个64K的段中执行,它的代码啊数据啊什么东西全都在这一个64K以内的段中。但是想想,程序功能多了,或需要的处理的数据多了,那这一个段怎么够用啊,于是有了exe文件

2012-05-24 13:19:02 892

转载 关于汇编中ASSUME的讨论

【转】2011年11月23日 星期三 20:33转载自 dandanfeng166最终编辑 undeadnightelf对于汇编中ASSUME的作用及,一直都没有弄清楚,下面是百度汇编吧中对这一问题的讨论:(篇幅过长,没时间细看的,请重点看24楼,72楼和补充知识。)问题来源:百度汇编吧:ASSUME的作用?在实际应用中我糊涂了!ASSUME DS: DATA

2012-05-24 13:01:19 4439 2

转载 HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,malloc,new的异同

1. 首先我们来看HeapAlloc:MSDN上的解释为:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的 空间利用起来,从而导致分配失败),该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是 局部。函数原型为:LPVOIDHeapAlloc(

2012-05-24 09:34:48 610

转载 C++内存分配秘籍—new,malloc,GlobalAlloc详解

一。关于内存  1、内存分配方式  内存分配方式有三种:  (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在  。例如全局变量,static变量。  (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存  储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容

2012-05-24 09:34:04 645

转载 在VC中使用自定义资源,FindResource,LoadResource,LockResource

原文:http://www.rupeng.com/forum/thread-19883-1-1.html一、前言  在VC环境中除了我们所常用的Dialog、Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自定义的资源类型能做些什么呢?呵呵,用处多多。1.      默认的皮肤压缩包或语言包。一些支持换肤的软件特别是一些媒

2012-05-23 22:28:44 1449

转载 pe文件简单分析

原文:http://bbs.pediy.com/showthread.php?p=867885前面几篇文章中我已经对PE文件的结构作了一个比较详细的讲解,如果大家还有不清楚的,请参考相关资料,谢谢,下面我开始讲解PE文件编程方面的知识~~这样理论结合实际,我想大家会有一个更深切的理解!首先我想对《加密与解密》第三版上的PE分析工具实例进行讲解,因为考虑到大多数人还是对C语言

2012-05-23 22:09:39 1160

转载 网游外挂之制作流程

很多人都对网游外挂的制作很感兴趣,在这篇文章里,我向大家简单介绍一下一款网游外挂的大致制作流程。 首先,我想说明几点:第一,这篇文章并不是具体教你如何写外挂,只是带你大致浏览一下网游外挂的制作流程,并就其中的一些关键技术点加以简单说明。大家可以用看故事书的心情来阅读此文,了解一下网游外挂制作过程中的一些原理。第二,我对网游数据的破解不是很懂,通常一个网游外挂制作团队内都有一名破解高手坐

2012-05-22 15:03:16 3268 1

转载 WIN32汇编基础

一、关于寄存器寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会。EAX是WIN32 API 默认的返回值存放处。ECX是LOOP指令自动减一的寄存器。ESP是堆栈指针。EBP经常用来在堆栈中寻址。ESI好像常常用在指针寻址中,EDI不大清楚。二、关

2012-05-22 15:00:39 697

转载 VC++内使用汇编

一、内联汇编的优缺点   因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合:  1.使用汇编语言写函数;   2.对速度要求非常高的代码;   3.设备驱动程序中直接访问硬件;   4."Naked" Call的初始化和结束代码。

2012-05-22 14:55:44 780

原创 ListView控件使用

注意:资源中要将listview的类写成“SysListView32 ”  ,控件风格一定要设成report!!!1、可以给ListView控件发送消息,增加columnSendDlgItemMessage(hDlg, IDC_IMPORT_LIST, LVM_INSERTCOLUMN, 4, (LPARAM)&lvColumn);对于LVM_INSERTCOLUMN消息

2012-05-21 23:12:47 1002

转载 文件拖拽的实现

1、首先在对话框初始化的时候,注册对话框可接受拖拽       DragAcceptFiles(hWnd,TRUE);2、其次,在对话框中推拽文件的时候,会产生 WM_DROPFILES 消息 ,参数 hDrop = (HDROP ) wParam;在其中进行消息处理WCHAR wcStr[MAX_PATH]; //接受文件名字的缓冲区,包含路径UINT nFileNum = D

2012-05-21 16:39:56 653

转载 在Visual C++中使用内联汇编(_emit)

个人推荐:如果win32的话,建议win32汇编!一、内联汇编的优缺点   因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便。内联汇编主要用于如下场合:  1.使用汇编语言写函数;   2.对速度要求非常高的代码;   3.设备驱动程序中直接访问硬件

2012-05-19 15:25:40 1752

转载 windows笔记-内存映射文件

http://www.cnblogs.com/fangyukuan/archive/2010/09/09/1822216.html

2012-05-17 19:39:27 460

转载 学 Win32 汇编[12]: PTR、OFFSET、ADDR、THIS

PTR: 指定要操作的数据尺寸; Test12_1.asm.386.model flat, stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libinc

2012-05-03 22:58:11 649

转载 win32汇编中伪指令addr和offset指令的区别

一、相同点1、addr 和 offset 操作符都是获得操作数的偏移地址;2、addr 和 offset 的处理都是先检查处理的是全局还是局部变量,若是全局变量则把其地址放到目标文件中。二、不同点1、addr    伪操作符,只能用在 invoke 伪指令语句中;(本来就是为了在invoke指令中,使用局部变量的地址)      在其他例如mov指令中,可以先使用l

2012-05-03 22:44:03 3795

转载 常用汇编指令

常见的汇编指令一、通用数据传送指令1、传送指令 MOV (move)指令的汇编格式:MOV DST,SRC 指令的基本 功能:(DST)指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址 方式,这个限制适用于所有指令。指令的执行对标志位的影响:不影响标志位。指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器;目的操作数DST不能是

2012-05-03 11:03:10 4687

转载 王爽汇编语言综合研究-函数如何接收不定数量的参数

1、c语言如何传递参数编写这样一个程序试验void showchar(char a,int b);main(){ showchar('a',2);}void showchar(char a,int b){ *(char far *)(0xb8000000 + 160*10 + 80) = a; *(char far *)(0xb8000000 + 160*10

2012-04-26 17:27:26 7236

转载 汇编指令英文全程

Ei51单片机的指令英文全名/拼音注音MOV(英文为Move/ mu ve):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code/ muve ,cou de)读取程序存储器数据表格的数据传送;MOVX (Move External RAM /muve, ei ke si te nou) 对外部RAM的数据传送;XCH (Exchange /ei

2012-04-22 16:03:49 933

转载 汇编语言寄存器英文全名

汇编语言寄存器英文全名:http://baike.baidu.com/view/6159.htm-------------------------------------我粘了!楼上粘贴那么多谁管了~~~AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=CX(count):计数寄存器DH&DL=DX(data):数

2012-04-22 16:02:37 1067

转载 WindowsAPI使用详解——GetVersion|GetVersionEx 获取操作系统版本和名称

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://flyxxtt.blogbus.com/logs/42705986.htmlWindows API 中有两个函数可以得到系统版本信息:GetVersion和GetVersionEx。      GetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-

2012-04-15 23:50:06 1104

转载 显式链接到一个输出符号

一旦DLL模块被显式加载,线程就必须获取它要引用的符号的地址,方法是调用下面的函数:FARPROC GetProcAddress(    HINSTANCE hinstDll,    PCSTR pszSymbolName);参数hinstDll是调用LoadLibrary(Ex)或GetModuleHandle函数而返回的,它用于设定包含符号的DLL的句柄。参数p

2012-04-15 20:43:29 973

转载 显式卸载DLL模块

当进程中的线程不再需要DLL中的引用符号时,可以从进程的地址空间中显式卸载DLL,方法是调用下面的函数:    BOOL FreeLibrary(HINSTANCE hinstDll);必须传递HINSTANCE值,以便标识要卸载的DLL。该值是较早的时候调用LoadLibrary(Ex)而返回的值。也可以通过调用下面的函数从进程的地址空间中卸载DLL:    VO

2012-04-15 20:42:58 1871

转载 显式加载DLL模块

无论何时,进程中的线程都可以决定将一个DLL映射到进程的地址空间,方法是调用下面两个函数中的一个:HINSTANCE LoadLibrary(PCTSTR pszDLLPathName); HINSTANCE LoadLibrary(   PCTSTR pszDLLPathName,   HANDLE hFile,    DWORD dwFlags)

2012-04-15 20:42:21 2095

转载 DLL与进程的地址空间

创建DLL常常比创建应用程序更容易,因为DLL往往包含一组应用程序可以使用的自主函数。在DLL中通常没有用来处理消息循环或创建窗口的支持代码。DLL只是一组源代码模块,每个模块包含了应用程序(可执行文件)或另一个DLL将要调用的一组函数。当所有源代码文件编译后,它们就像应用程序的可执行文件那样被链接程序所链接。但是,对于一个DLL来说,你必须设定该连链程序的/DLL开关。这个开关使得链接程序能够向

2012-04-15 20:41:47 2715

转载 #pragma once 和 #ifndef ... #define ... #endif 的区别【转载】

在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。1. #pragma message 指令 message能够在编译消息输出窗口中输出相应的消息,这对于源代码信息的控制非常重要的。格式如下:#pragma message(“消息文本”)编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。当我们在程序中定义了许多宏来控制源

2012-04-12 19:54:02 840

抓图工具源码

主要是关于抓图放大的一个简单程序的源码,采用的是win32汇编写的,跟c或c++大同小异,基本没什么差别!

2012-07-06

Win32Asm小程序案例之显示行号的记事本

程序开发流程(文字描述): 1、简单实现基本的显示功能,界面功能,使用了RichEdit控件 2、添加打开文件,显示文件,保存文件,以及常见的复制、粘贴等功能! 3、实现显示行号功能!这里使用了子类化功能! 4、逐步完善所有功能,如判断文本时候有修改,并作相应的变动! 最后一个可以自己尝试添加诸如选择字体,对说选文本选定制定的颜色(可能会要用到RTF文本格式)!

2012-06-22

linux-0.01内核源代码

这个就是第1个版本的linux了(最早的那个版本被Linus弄坏了,即是linux0.00),因为很短,所以很受初学者欢迎。 下面是Linus Torvalds同学当年写的release notes

2012-03-27

分布式拒绝服务攻击(DDoS)原理及防范

分布式拒绝服务攻击,更好的了解DDos攻击,对网络安全了解!

2012-03-14

多字节与宽字节之间的转换代码

这是源代码,有头文件和源文件,头文件自己写吧

2012-02-26

空空如也

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

TA关注的人

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