摘要: 创建一个线程可以使用CreateThread函数,函数的用法是: invoke CreateThread,lpThreadAttributes,dwStackSize,lpStartAddress,\ dwParameter,dwCreationFlags,lpThreadId .if eax mov hThread,eax .endif函数使用的参数定义如下:● lpThreadAttributes——指向一个SECURITY_ATTRIBUTES结构,用来定义线程的安全属性,这个结构在CreateFile函数的介绍中... 阅读全文
posted @ 2014-04-12 17:11 xuanku 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 钩子可以用来截获系统中的消息流 通过SetWindowsHookEx函数定义了监视函数的位置和监视消息的类型,这样,每当发生我们感兴趣的消息时,Windows就会将消息发送给监视函数,监视函数是一个处理消息的回调函数,也称为“钩子函数”。(会影响系统的性能)局部钩子仅钩挂属于自身进程的事件;(SetWindowsHook)远程钩子分两种:基于线程的和系统范围的(包括自身)。 1 基于线程的远程钩子用来捕获其他进程中某一特定线程的事件; 2 系统范围的远程钩子将捕捉系统中所有进程中发生的事件消息。钩 子 名 称监视消息的类型和时机WH_CALLWNDPROC每... 阅读全文
posted @ 2014-04-12 16:06 xuanku 阅读(1120) 评论(0) 推荐(1) 编辑
摘要: DLL函数头 DllEntry proc hInstDLL,dwReason,dwReserved mov eax,dwReason .if eax == DLL_PROCESS_ATTACH ;保存hInstDll ;初始化库需要的各种资源 .if 初始化成功 mov eax,TRUE ... 阅读全文
posted @ 2014-04-12 15:44 xuanku 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 当设计一个可能需要申请大量内存的程序时,如何预先得知系统的配置情况呢?对此可以使用GlobalMemoryStatus函数: invoke GlobalMemoryStatus,lpBufferlpBuffer指向一个MEMORYSTATUS结构,结构的定义如下:MEMORYSTATUS STRUCT dwLength DWORD ? ;本结构的长度 dwMemoryLoad DWORD ? ;已用内存的百分比 dwTotalPhys DWORD ? ;物理内存总量 dwAvailPhys DWORD ? ;可用物理内存 dwTotalPageFile DWORD ? ;交换文件总的大小 d. 阅读全文
posted @ 2014-04-12 14:32 xuanku 阅读(610) 评论(0) 推荐(0) 编辑
摘要: GDI函数全部包括在GDI32.DLL中 include gdi32.inc includelib gdi32.lib1 When——指的是进行图形操作的时机,2 Where——指的是图形该往哪里画,3 How——了解了上面两个问题后,最后还要知道“如何画”,1\计算及刷新整个客户区的代码全部安排在WM_PAINT消息中完成一些函数会引发WM_PAINT消息,如UpdateWindow,InvalidateRect以及InvalidateRgn函数等。和WM_TIMER消息类似,WM_PAINT消息也是一个低级别的消息,虽然它不会像WM_TIMER消息一样被丢弃但Windows总是在... 阅读全文
posted @ 2014-04-12 13:19 xuanku 阅读(1218) 评论(0) 推荐(0) 编辑
摘要: .code;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; 定时器过程;>>>&g 阅读全文
posted @ 2014-04-12 12:38 xuanku 阅读(816) 评论(0) 推荐(0) 编辑
摘要: 创建窗口 .386 .model flat,stdcall option casemap:none;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g 阅读全文
posted @ 2014-04-11 19:24 xuanku 阅读(993) 评论(0) 推荐(0) 编辑
摘要: 条件语句.if 条件表达式1 表达式1为“真”时执行的指令[.elseif 条件表达式2] 表达式2为“真”时执行的指令[.elseif 条件表达式3] 表达式3为“真”时执行的指令[.else] 所有表达式为“否”时执行的指令.endif循环语句.while 条件测试表达式 指令 [.break [.if 退出条件]] [.continue].endw或.repeat 指令 [.break [.if 退出条件]] [.continue] .until 条件测试表达式(或.untilcxz [条件测试表达式]) 阅读全文
posted @ 2014-04-11 18:52 xuanku 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 基础结构.386.model flat,stdcalloption casemap:none .stack [堆栈段的大小].data .data? .const .code end 开始标号;这里是注释 分行的办法是在一行的最后用反斜杠(\)做换行符变量定义初始值放.data 未初始值.data? ;定义在 .data?段中不会增大 .exe文件的大小表3.2 变量的类型名 称 表示方式 缩 写 长度(字节)字节bytedb1字worddw2双字(doubleword)dworddd4三字(farword)fworddf6四字(quadword)qworddq8十字节... 阅读全文
posted @ 2014-04-11 18:49 xuanku 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 防止出错直接蓝屏 阅读全文
posted @ 2014-04-11 10:21 xuanku 阅读(173) 评论(0) 推荐(0) 编辑