自定义博客皮肤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的天平秤

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

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

原创 手动实现cookie 的python3代码

import urllib.request as urre=ur.urlopen('http://192.168.1.105/exp/cookie/test.php')for i in re.getheaders(): if i[0]=='Set-Cookie': print (i[1].split(';')[0])

2011-12-14 14:59:08 1172

转载 MYSQL简单提权--Mix.dll My_udf.dll(老东西,做个备份)

S- serv提权方式人人都会用了,搞得现在的主机都配置得非常安全,看来攻击手法的层出不穷也是造成中国网络安全进步的一大原因之一,还有其他的 pcanywhere获取密码,替换服务,等等。但是现在也没这么好搞了,随着安全意识的提高,之前的方式估计不怎么管用,现在我给大家介绍一下一种新的提权方式,看过古典LM做的那动画的朋友都知道吧?利用MYSQLl弱口令拿到系统权限,在WEBSHEL上也可实现,不

2011-12-02 10:20:04 2317

转载 Javascript加密解密终级指南escape解密/eval加密/Encode加密原理

本文一共介绍了七种方法:一:最简单的加密解密二:转义字符 "/" 的妙用三:使用 Microsoft 出品的脚本编码器 Script Encoder 来进行编码 (自创简单解码)四:任意添加 NUL 空字符(十六进制 00H ) (自创)五:无用内容混乱以及换行空格 TAB 大法六:自写解密函数法七:错误的利用 (自创) 在做网页时(其实是网页木马呵呵),最让人

2011-11-27 12:33:29 1120

原创 php 过滤函数简介用于跨站分析

过滤字符$text:'". //小于、空格、大于、单引号、双引号。使用函数:addslashes($text)\'\".//转换单双引号使用函数:htmlentities($text)    默认第二个参数( ENT_COMPAT  )  仅编码双引号。< >'". //仅转换了 小于、大于、双引号,未过滤单引号和空格

2011-11-22 11:33:13 763

转载 Finding vulnerabilities in PHP scripts FULL ( with examples )

Name : Finding vulnerabilities in PHP scripts FULL ( with examples ) Author : SirGodEmail : [email protected] : 1) About 2) Some stuff 3) Remote File Inclusion 3.0 - Basic example

2011-11-16 16:02:56 2081

转载 Using XSS to bypass CSRF protection

Using XSS to bypass CSRF protection// Autor: Nytro// Contact: [email protected]// Translated by: SENEQ_o// Published on: 28 Octombrie 2009// Romanian Security Team?>1) About XSS2)

2011-11-16 15:59:55 6101

原创 关于跨站技术的高级简单利用

这里只丢2个代码,用于思路性测试,测试结果也欧克set.php用于模拟正常设置session(一般就是目标用户正常登陆系统后)<?phpsession_start();$_SESSION['user']='admin';$_SESSION['pass']='xtj';?>作为黑客,通过跨站拿到以上用户的cookie以后且拿到了webshell可以采取以下措施。

2011-11-11 15:51:08 654

原创 sso 作用域 窃取cookie 跨站 php 生成png 程序代码

最近在渗透某大型网站,注册后发现其为sso技术,登陆后可以登入任何其分站,包括论坛等。由于策略不严谨,因此存在另外一种思路的跨站漏洞。发现其sso返回cookie 作用域是 .abc.com,仅需以下cookie即可访问了。分析如下Set-Cookie: abcsession=2C521723E6C202D8648F14E9D93C319D; expires=Tue, 08-Nov

2011-11-08 21:44:34 990

原创 写了一个wwwscan的路径生成工具

你可以下载常见脚本整站程序,然后用这个生成如下格式的文本文件,用于wwwscan等fuzz工具使用。\drupal-6.22\.htaccess\drupal-6.22\CHANGELOG.txt\drupal-6.22\COPYRIGHT.txt\drupal-6.22\cron.php\drupal-6.22\index.php\drupal-6.22\INSTALL

2011-11-03 20:08:55 905

转载 Django开发框架多个安全漏洞

影响版本:Django 1.2.5Django 1.3 beta 1Django 1.2.4Django 1.2.2Django 1.2漏洞描述:Django是一款开放源代码的Web应用框架,由Python写成。Django存在多个安全漏洞,允许攻击者获得敏感信息,操作数据,进行缓存毒药攻击或进行拒绝服务攻击。1)当使用缓存后端时django.contr

2011-10-30 18:03:50 1261

转载 python 反向连接后门

1)首先daemon化2)然后用 netstat命令,检测是否指定的IP(192.168.1.111)连接上,有,则激活无,则睡眠几分钟(这个时间可根据需要自行调节)3)激活后,开一个子进程,创建socket,与运行了监听程序的IP进行连接,并执行一个shell,将该shell的输入输出重定向到socket.4)父进程则等待 shell子进程的执行,如果执行完毕,就继续 检测周而复始…#!/usr

2011-10-30 01:52:40 1645 1

转载 Tiny php shell

Have you ever needed a small shell written in PHP?Of course you have. But I bet it haven't been all too stealth!This is really pointless, but someone might be interested in it.So here you go f

2011-10-27 16:39:29 1037

转载 关于PHP的is_a()函数执行代码的问题

今天看到云舒在群里贴的漏洞公告,原始的文章在http://www.byte.nl/blog/2011/09/23/security-bug-in-is_a-function-in-php-5-3-7-5-3-8/    后来查了下PHP官方的手册,这个问题是在PHP 5.3.7中更新了is_a()函数的功能。is_a()经常被用于条件判断。    在此前版本的is_a() 的第一个

2011-10-27 16:37:31 2082

转载 chrome标签修正特性漏洞

之前的那篇给出了chrome标签修正特性漏洞的两个原型,是在老外发出的11的漏洞思路上的再延展。我说这个是只属于chrome xss filter的标签修正特性有点误导,这个是全局的,来看下面老外发的这个漏洞http://code.google.com/p/chromium/issues/detail?id=68484 测试代码是var x = "pwnedalert(1)

2011-10-27 12:15:37 571

转载 运行cmd状态下MySQL导入导出.sql文件

MySQL导入导出.sql文件步骤如下: 一.MySQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“;path\mysql\bin;”其中path为MySQL的安装路径。二.简单的介绍一下命令行进入MySQL的方法:1.C:\>mysql -h hostname -u username -p按ENTER键,等待然后输入密码。这里hos

2011-10-27 09:20:22 1188

转载 深掘XSS漏洞场景之XSS Rootkit

0×00 前言众所周知XSS漏洞的风险定义一直比较模糊,XSS漏洞属于高危漏洞还是低风险漏洞一直以来都有所争议。XSS漏洞类型主要分为持久型和非持久型两种:1. 非持久型XSS漏洞一般存在于URL参数中,需要访问黑客构造好的特定URL才能触发漏洞。2. 持久型XSS漏洞一般存在于富文本等交互功能,如发帖留言等,黑客使用的XSS内容经正常功能进入数据库持久保存。3. DOM XSS漏

2011-10-24 08:30:28 1081

转载 PHP字符编码绕过漏洞总结

PHP字符编码绕过漏洞总结      其实这东西国内少数黑客早已知道,只不过没有共享公布而已。有些人是不愿共享,宁愿烂在地里,另外的一些则是用来牟利。该漏洞最早2006年被国外用来讨论数据库字符集设为GBK时,0xbf27本身不是一个有效的GBK字符,但经过

2011-10-15 02:39:55 895

原创 python+3+打印所有汉字

打印所有汉字python程序for i in range(0x4e00,0x9fa6): print (chr(i))

2011-10-14 09:58:28 2162

原创 PHP整站打包程序

<?php//验证密码,默认//在URL后参加 ?pwd=密码 查看生成密码$password = '3f06f881a9f2545aa335acd0165a3a36';?> ZIP压缩程序<!--html{ba

2011-10-07 22:03:21 2017

转载 Python Web数据抓取(xpath版)

(1)采用SQLite缓存抓取的HTML页面,大大提高了二次数据处理的效率。第一次运行程序大约耗时6小时,以后只需3分钟左右即可完成。(2)采用xpath替换之前的正则表达式进行HTML解析。xpath定位更加简单、方便,而且能够自动修正html错误语法。xpath真强大!!(3

2011-10-03 14:38:27 1323

原创 验证最新可用代理 For http://www.5uproxy.net 多线程版

# coding:gbk# 验证最新可用代理 For http://www.5uproxy.net 多线程版# 2010.12.05import sysreload(sys)sys.setdefaultencoding('gbk')import urllibimport urllib2from urllib2 import URLError, HTTPErrorDEBU

2011-10-03 14:37:18 4179

原创 Python中is和==的区别

通常我们写:if foo is None: pass这个写法与以下的写法有何区别呢?if foo == None: passis当比较的是相同的对象实例时总是返回True。而==则完全决定于__eq__()方法的实现。例如:>>> cl

2011-10-03 14:27:21 687

原创 mysql忘记root密码解决方法

(1)停止mysql服务或结束mysqld.exe进程。(2)命令提示符切换至mysql的bin目录。(3)以不检查权限的方式启动mysql。注意:如果是mysql5.0 这里执行“mysqld-nt -

2011-10-03 14:19:45 575

原创 PHP学习提纲

为公司实习生写的PHP学习提纲,根据自己的学习及项目开发经验总结了PHP语言最核心的知识点。可以作为PHP快速入门的教程。1 客户端脚本和服务端脚本客户端:VBscript(对IE依赖性很强,放弃)、Javascript服务端:ASP、PHP、PerlJSP(服务端,非脚本)Python(可用服务端,非脚本)2 学习一门语言的要点/顺序功能、特点、语

2011-09-26 17:15:31 1138

原创 部分google hacking的搜索内容

inurl:index.php?id=inurl:trainers.php?id=inurl:buy.php?category=inurl:article.php?ID=inurl:play_old.php?id=inurl:declaration_more.

2011-09-05 22:58:36 54798

原创 python 的密码输入方式

除了getpass模块和input函数以外,还有一个可以使用msvcrt模块的。只是光标有点小问题(其实也可以解决)。代码import msvcrtpass=''while True: b=msvcrt.getch() if not b.

2011-09-02 01:09:56 1381

原创 php udp 流量ddos代码:

<?php// post & data: ip=1.1.1.1&time=999&port=80$packets = 0;$ip = $_POST['ip'];$rand = $_POST['port'];set_time_limit(0);ign

2011-09-01 22:20:39 1239

转载 常见黑客渗透测试工具

因为上面要转了一篇,里面好多我都觉得过时了。不过确实好多我也还在用。哈哈留个备份吧,免得上面又要找我要一、Nessus    是扫描UNIX漏洞的主力工具,随后栖身Windows。主要功能包括本地和远程安全审查,支持client/server结构,具有

2011-08-26 12:54:19 4368

转载 Cython应用手记

Cython应用手记作者:gashero日期:2010-03-29目录1   简介2   基本使用3   调用其他C库3.1   简单例子3.2   重新定义外部C库的定义

2011-08-25 19:26:44 2141

转载 ctypes-Python外部函数库

来之:http://gashero.iteye.com/blog/519837 译者注:翻译的并不完全,不过对于大多数应用是足够了。总体感觉使用ctypes还是比较麻烦,需要自己重新把头文件给用Python写一遍。再者就是对于指针的指针一类还不知怎么实现。结论是我

2011-08-25 19:25:31 2462

原创 python 字典的 setdefault用法

这个函数非常好,其实主要是获取信息,如果获取不到的时候就按照他的参数设置该值。拿字典来说:>>> a={}>>> a['key']='123'>>> print (a){'key': '123'}>>> print (a.setdefault('key','456')) #显示a这个字典的'key'值的内容,因为字典有,所以不会去设置它123

2011-08-19 14:54:23 17430 2

原创 自己写的一个sqlserver弱口令扫描工具辅助脚本(提升扫描速度效率,速度极快)

需要s.exe 和scan.exe不懂的就别看了。下面是bat配套和vbs配套脚本单进程多线程版:@echo offsetlocal enabledelayedexpansion@cd /d "%~dp0":startTitle

2011-08-18 09:51:44 2571

原创 python用win32com模拟浏览器(pam也是一样的原理)

# -*- coding:UTF-8 -*- #!/user/bin/env pythonimport win32com.clientfrom time import sleep loginurl='http://passport.cnblogs.com/login.

2011-08-17 15:05:07 3539 1

转载 dedecms织梦严重0day漏洞(直接进后台)分析及修复

众所周知,因使用简单、客户群多,织梦CMS一直被爆出许多漏洞。今天小编在群里得到织梦官方论坛某版主可靠消息:“DEDECMS爆严重安全漏洞,近期官方会发布相关补丁,望大家及时关注补丁动态。”bug被利用步骤如下:http://www.ywen.info/网站后台/

2011-08-17 09:36:11 2586

原创 清楚重复行的2中方法(注意结果)

方式1:a=[1,4,6,8,2,4,5,6,8,3]a=list(set(a))结果:[1, 2, 3, 4, 5, 6, 8]方式2:a=[1,4,6,8,2,4,5,6,8,3]b=[]for i in a:

2011-08-16 15:28:02 723 1

原创 Python Collection 小技巧

独立软件开发者 Alex Marandon 在他的博客中介绍了数个关于 Python Collection 的实用小技巧,在此与诸位分享。判断一个 list 是否为空传统的方式:if len(mylist): # Do somethin

2011-08-14 01:53:20 790

转载 Python模块学习 ---- struct 数据格式转换

Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典。通过这六种数据类型,我们可以完成大部分工作。但当Python需要通过网络与其他的平台进行交互的时

2011-08-14 01:43:37 1401

转载 抓proxyhttp.net代理脚本

#!/usr/bin/env python # -*- coding: utf-8 -*- ''''' file: proxys.py author: darkbull date: 2011-08-01 desc:

2011-08-14 01:26:54 996

转载 random最常见的用法

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.randomrandom.random()用于生成一个0到1的随机符点数: 0 random.uniform  random.uniform的函数原型为:

2011-08-13 22:16:00 1117

原创 程序打包sys.path[0]问题

解决方法如下: path=sys.path[0] if os.path.isfile(path): path=os.path.split(path)[0]

2011-08-13 20:36:44 1503

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

Tkinter Programming Code By Examples

Tkinter python 例子,快速学习标准库实现python编程

2012-04-17

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

PHP Fuzzing行动——源码审计

目录: Section 1: 20种PHP源码快速审计方式 Section 2: PHP源码审计自动化( PHP Fuzzer ) 风险级别: ■ Low ■ Medium ■ High

2012-02-06

类似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关注的人

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