存档

文章标签 ‘Win32’

用OllyDbg对Win32汇编进行源码级调试

2011年4月19日 2 条评论

如果是刚开始学习汇编,肯定对调试有很大的困难,我以前都是用OD来反汇编,对于Win32Asm的话,感觉还是过得去的,效果也还好。今天在网上看到有源码级调试方法,所以就搬过来了,试了一下,效果不错。
首先是编译的时候要生产符号表,类似用WinDbg进行驱动程序源码级调试一样。所以,makefile需要这样写(这只是一个例子):

NAME = NoImport
EXE = $(NAME).exe
OBJ = $(NAME).obj
 
ML_FLAG = [......]

继续阅读

VS2005/VS2008下Win32应用程序发布

2011年2月16日 没有评论

VS2005或者VS2008(包括VS2008 SP1)下写的MFC程序如果在别的电脑上不能运行,那么在编译的时候选择MFC静态库就OK了,虽然程序会大不少。
但是如果是Win32 Application,那么即便是使用MFC静态库也不解决问题了(事实上,此时根本就不能编译通过)。其实要使Win32程序在其他电脑上能够运行,还是很简单的。
首先,你需要提供工程Release文件夹下的exe文件。以及Release文件夹下的manifest文件(注意VC2005开始工程有两个Release文件夹了[......]

继续阅读

Win32写的屏幕取色工具

2010年10月15日 没有评论

本文介绍如何通过Windows SDK编程实现鼠标屏幕取色功能,可以将技术迁移到VC/MFC等。几个关键实现:

  • 屏幕取色通过WM_TIMER来实现,而不是WM_MOUSEMOVE,因为后者只能捕获客户区的消息,根本达不到目的。
  • 无标题窗口风格是在CreateWindow的时候设置WS_POPUP风格。
  • 窗口置顶通过SetWindowPos的HWND_TOPMOST来实现。
  • 屏幕取色原理:获取桌面DC,然后GetPixel获取RGB颜色,然后通过GetRValue, GetGValue, Get[......]

继续阅读

Win32 API获取桌面DC并画图

2010年10月10日 没有评论

使用Windows SDK来对桌面DC进行画图,其实很简单,但是也有需要注意的地方。
 首先,使用GetDesktopWindow来获取桌面窗口句柄,然后就是通过句柄来获取DC了,这里需要注意,要使用GetWindowDC,而不是GetDC.然后就可以对DC进行操作了。这里是在桌面上显示三句话,用到了一些文本显示的GDI函数。
/**************************************************************
* Copyright (C[......]

继续阅读

分类: Windows SDK 标签: , , , ,

QQ抖动效果实现

2010年10月9日 2 条评论

本文所述代码可以实现QQ聊天窗口中的抖动功能,代码很简单,就是几个API的简单应用。
首先,通过GetForegroundWindow获取Z次序顶层窗口的句柄,然后通过GetWindowRect获取这个窗口的屏幕坐标,然后通过MoveWindow来实现窗口的移动,大体思路就是这样。中间为了保证不卡死,需要小小的休眠一下,本程序可以拿来搞恶作剧滴……
想看截图效果……哦,不好意思,动态效果不好截图,自己拿去编译吧。
Windows SDK/W[......]

继续阅读

分类: Windows SDK 标签: , , , ,

BeginPaint GetDC GetWindowDC区别

2010年10月5日 没有评论

BeginPaint和EndPaint用在WM_PAINT消息处理当中;GetDC可以在处理非WM_PAINT消息时获取设备描述表句柄。

BeginPaint返回的设备描述表句柄只能在PAINTSTRUCT结构中指定的矩形范围内绘图,并使该矩形区域有效;GetDC返回的设备描述表句柄可以在整个窗口客户区上绘图,但不使客户区中任何可能的无效区域变得有效。 

GetWindowDC是获取整个窗体的范围(包括标题栏、菜单栏等),而GetDC是获取窗口客户区的返回。

一些Win32汇编知识

2010年9月22日 没有评论

具体就看看源代码吧,有详细注释:
.386
.model flat, stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;&gt[......]

继续阅读

Win32 ASM Hello World

2010年9月20日 1 条评论

第一个Win32ASM 程序,照旧是HelloWorld。
.386
.model flat, stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g[......]

继续阅读

分类: Win32 ASM 标签: , , ,

Makefile详解(二)

2010年9月20日 3 条评论

本文文字内容来自罗云彬的《琢石成玉*Windows环境下32位汇编语言程序设计》,转载请注明本原始出处。
3.显式规则
makefile中包含有一些规则,这些规则定义了文件之间的依赖关系和产生命令,一个规则的格式是这样的:
目标文件:依赖文件;命令        (方法1)

目标文件:依赖文件          &nbs[......]

继续阅读

分类: Win32 ASM 标签: , , , ,

Makefile详解(一)

2010年9月20日 没有评论

本文文字内容来自罗云彬的《琢石成玉*Windows环境下32位汇编语言程序设计》,转载请注明本原始出处。
2.4.3  描述文件的语法
make工具最主要也是最基本的功能就是通过描述文件来描述源程序之间的相互关系并自动维护编译工作,而描述文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,并要求定义源文件之间的依赖关系,为了更方便使用,文件中同时可以用一些宏定义。描述文件一般需要包含以下内容:
● 注释
● 宏定义
● 显式规则
● 隐含规则
在这里,首[......]

继续阅读

分类: Win32 ASM 标签: , , , ,