其中速龙系列是他们的高端代表产品,闪龙系列是他们低端代表产品.
奔4是他们高端产品 ,赛扬是他们低端代表产品












| 第一节 ``````````````````````````````````````````````````````````` 下面先说一下教程的格式: 第一个虚线框里的内容 主要是小菜鸟的经验 话语很通俗 容易理解 第二个虚线框里的内容 是摘自网上或小组其他成员的见解 语言比较规范 正式 第三个虚线框里的内容 是任务也是需要记住的 最重要的 如果你有点电脑基础可以只做任务 第四个虚线框里的内容 是参考资料 方便的的参考 学习 为什么这样设计 主要是现在人学习的习惯所驱使 程序员现在一般都追求更底层 而人们的学习习惯 也更趋向任务化 这可能和我们从小学习习惯有关 毕竟我们经常听到老师常说什么时候完成什么作业 小菜鸟的教程也是这样 每节课都有任务 并且有答案 目的就是让大家轻轻松松去学习 不要有什么压力 也不要想用压力去产生什么动力 因为没有人监督你 你要为了学会而学习 不要为了完成小菜鸟的任务去 学习 下面学习今天的课程 相信你已经看完导读 虽然导读写的很通俗 但里面涉及到很多编程的思想 就算可 怜小菜鸟打那么多字不容易 你也应该读一下 如果你读的仔细 你会发现里面的原理在以后的教程里都会涉 及到 (不要笑话小菜鸟写的教程初级 毕竟人不是天生就会的 再简单的东西不学也不会 为了新手能看懂 小菜鸟就只能站在对电脑一无所知的角度去写) 今天主要学习注册表 首先找到电脑左下角的开始按钮 单击 运行窗口 ![]() 在运行窗口里输入regedit 就打开了注册表窗口 ![]() 注册表编辑器左边窗口显示模式叫树形模式 ![]() 里面的每一行叫做项 注册表一般有5大项 单击前面的加号可以看到更多项 下面对五大项分别解释 1. +HKEY_CLASSES_ROOT 主要是计算机系统的支持 我们最好不要改 2. +HKEY_CURRENT_USER 主要是我们自己的一些设置 我们可以给据自己的需要去设置 3. +HKEY_LOCAL_MACHINE 主要是当前计算机系统的配置设置 也不要改 4. +HKEY_USERS 主要是计算机所有用户的设置 可以去改 5. +HKEY_CURRENT_CONFIG 计算机当前的一些设置可以去改 然后按ctrl+f键打开注册表查找窗口 ![]() 再查找目标里输入run 并选择项 然后一直按f3键找到 run项 并再右边新建一个字符串值 ![]() 我已经指向了输入法 ctfmon.exe 后面是它的类型和路径 这个ctfmon.exe 开机就会自动运行了 很多低级的木马 就是靠这种方法实现开机自动运行的 第一节课我们就学完了 休息一下完成下面的任务 巩固一下今天学的东西 小菜鸟祝你学习愉快 ````````````````````````````````````````````````````````````` Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库 注册表(Regedit)是Windows9x/NT/Me2000/XP中一个巨大的核心数据库,注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的加载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。主要包括以下几点: (1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。 (2)连网计算机整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。 (3)性能记录和其他底层的系统状态信息,以及其他数据。 如果该注册表不慎遭到破坏,便会使Windows在启动过程中出现异常,严重时还将导致整个Windows系统的完全瘫痪。因此,正确地认识、使用注册表,及时备份和出现问题时恢复注册表,对Windows用户来说都非常重要。 ``````````````````````````````````````````````````````` 任务1 记住 regedit 并用它打开注册表 任务2 打开注册表并建立一个cmd.exe的启动项 开机测试一下 看看是否自动运行 任务3 默写注册表五大项 并简单说明每个项的大致作用 任务4 举出一个含有树形结构的软件 ```````````````````````````````````````````````````````` 参考:http://baike.baidu.com/view/979.htm#4 有不懂的可以联系小菜鸟 |
| 第二节 休息过后我们来学习cmd 我们常说的cmd实际就是dos dos系统是windows的祖先 所以今天的的 windows xp 系统仍旧包含一个虚拟的dos程序 下面我们打开运行窗口 输入cmd 就打开了命令提示符窗口 ![]() 在这个虚拟dos系统里 可以完成真正dos系统的大部分功能 多数的命令都支持 我们为了说法简单 把它称作cmd 当然cmd有很多命令 要全部记住也不容易 那么有没有简单方法呢 那就是利用它的帮助功能 我们必须记住一个命令 help 下面我们输入 help cmd就会跟我们例举出很多命令 并且有中文解释 ![]() 我们拖动右面的滚动条 找到 subst命令 我们用这个命令当作例子学习一下名利的用法 打开cmd 在命令提示符下输入 subst /? 就会看到subst的帮助 ![]() 我们首先解释一下 /? 是获取某个命令的帮助 例如 dir /? drive1 就是磁盘驱动器1 比如你电脑里的c盘 d盘 path 是指路径 /d 是参数 在这个命令里的意思是删除 现在打开c盘 新建一个文件夹 并把它的名字改成 a 下面我们用subst命令 把文件夹a变成一个磁盘 在命令提示符下输入 subst u: c:\a ![]() 就把我们的文件夹a变成了u盘了 我们可以把这个盘当作真是磁盘来用 下面我们去我的电脑看看 ![]() 那个本地磁盘u就是我们用上面的命令创建的 下面我们把它删除 在命令提示符下输入 subst /d u: ![]() 这样我们的本地磁盘u就被我们删除了 ![]() 小菜鸟提醒大家 一定要记住 help命令 当我们想不起来命令的时候就全靠它了 到此我们这节课就学完了 别忘了自己练习和作业 ```````````````````````````````````````````````````` 在Windows系统里,cmd是Command命令的简写,作为进取模拟DOS的应用。 可以实现DOS下的大部分功能 依次单击 开始->运行->输入command 或 依次单击 开始->运行->输入cmd 可以打开命令窗口 ```````````````````````````````````````````````````````` 任务1 记住help 并说说 /?的作用 任务2 弄懂dir /a 和dir 的不同 理解参数的作用 任务3.自己动手 把一个文件夹 变成z盘 并删除它 任务4 例举10条常用命令 并说说它的实际作用 `````````````````````````````````````````````````````````` 参考 http://baike.baidu.com/view/65856.html?wtp=tt |







| 第四节 `````````````````````````````````````````````````````````````````````````````` 呵呵 很快我们学习第四节 小菜鸟的教程还习惯把 如果感觉小菜鸟写的有点罗嗦 大家可以跳着看 找自己不太清楚的地方看 下面我们学习控制台 什么是控制台呢 其实控制台就是系统的一个大管家 我们上节学的组策略就是它的一个工人 既然控制台是系统的头头 当然名字也好记只有三个字母 mmc 我们在运行窗口里输入mmc就打开了控制台 ![]() 然后同时按下 Ctrl+m 组合键 打开添加删除管理单元 ![]() 然后单击添加按钮 会出现添加独立单元窗口 ![]() 拖动右面的滚动条 找到组件服务 ![]() 选中组件后 单击添加按钮 这样组件服务单元就被添加到面板上了 控制台允许一次添加多个单元 我们把上次学的组策略也添加进去 用同样的方法单击 组策略对象编辑器 然后单击添加 最后单击关闭按钮 ![]() 大家发现在添加删除管理单元窗口里多了两项 然后单击确定按钮 控制台根节点里就会有我们的组件服务和组策略了 ![]() 展开“组件服务”找到“计算机”然后会发现一个我的电脑的图标 ![]() 在“我的电脑图标”上单击右键选“属性” ![]() 切换到“默认属性”,取消“启用分布式COM”;就是把在此计算机上启动分布式前的勾去掉 ![]() 这是也选择夹 也是常用的程序组件 以后会经常用到 最大好处就是节省面板空间 去掉后变成 ![]() 这个是没有头的选择夹 然后切换到默认协议项 ![]() 选中 面向连接的TCP/IP 再单击删除按钮 ![]() 这样我们就完成了操作 135端口就被我们关闭了 135端口经常被黑客利用 而对我们正常使用电脑没有影 响 所以我们一般把它关掉 来防止黑客入侵 下面我们来验证操作的正确性 打开运行输入cmd 然后在命令提示符下输入netstat –an 出现 ![]() 我们发现有一条135的端口信息 下面我们重启电脑 再次打开cmd 然后输入netstat –an 如果找不到135这条信息 就表示成功了 这是因为135端口需要重新启动才能关闭 休息一下别忘作业哦 ````````````````````````````````````````````````````` 微软管理控制台 MMC(Micorsoft Manager Control)是指进行系统维护的各种管理工具运行的地方,通过它用户可以创建、保存和打开用于管理硬件、软件和Windows系统组建的工具. MMC本身不执行管理功能,但它可以接纳执行各种系统功能的工具,可在MMC中添加的插件包括管理工具、ActiveX控制、连接到网页、文件夹、控制台任务板和任务. 用户使用MMC有两种方法:第一种是在用户模式下使用现有的MMC控制台管理系统;第二种是在作者模式下创建新控制台和修改现有的MMC控制台. MMC是一个管理计算机系统配置的通用框架,显示其宿主的称为“管理单元”的管理组件工具。本身是没有管理能力,但它将众多的管理单元无缝地集成在一起。是多文档界面(MDI)应用程序,类似于Windows资源管理器 ``````````````````````````````````````````````````````````` 任务一 用控制台打开组件服务 任务二 自己动手关闭135端口 任务三 举出一个用选择夹软件的例子 并说说用选择夹组件的好处 |
第五节 做完上节作业以后 我们学习今天的内容 小菜鸟一直支持你 祝你学习愉快 什么是进程呢 就是正在运行的程序 就像你去医院看病一样 先要挂号 那个号就是你在医院的代表 就是进程 但是那个号 并不是真正的你 它是虚拟的 真正你的是我们下节要学的线程 当然你可以把号 给你的姐姐妹妹 让他们去抓药 开方子 或做其他的 他们都是子线程都是实实在在存在的 但只有你是主线 程 只有你可以用这个号去做手术 他们都不可以 而这个虚拟的号就是我们今天要学的进程 从上面的例子我们可以明白 一个进程可以有多个线程 但只有一个是主线程 首先按下“Ctrl+Alt+Del”三个键 就会打开Windows任务管理器 ![]() 我们发现system 系统进程的线程数是44 也就是说当前时间他有44个线程实体 下面我们来创建一个进程 方法很简单 打开一个程序就可以了 当然用程序创建一个进程也比较简单后面会学到 我们在运行里输入cmd打开命令提示符程序 ![]() 我们发现就多了一条cmd.exe的进程 要结束它 单击右下角的结束进程即可 有些进程是很难结束掉 或者结束掉以后一会又自动创建 木马一般都是这样 对于不自动创建的程序 我们可以借助一些进程管理软件强制结束掉 对与那些自动创建的程序 我们一般都采取拦截所有消息 然后分析出它的关联文件 下面我们看看常见的系统进程 ![]() 上面的进程如果不是很明白千万不要随便结束 否则会系统出现不稳定或崩溃 木马常用的一项技术就是隐藏进程 现在很多程序员是通过Hook SSDT (System Service Dispath Table) 隐藏进程的 当然这属于比较深的内 容 后面有基础后会学到的 不过大家可以先熟悉一下几个和进程有关的函数 以便后面对它们不陌生 ![]() 关于进程我们就简单学这么一点 因为它涉及到很多系统底层东西 在后面的学习中我们一点一点加深 这样比较容易理解 现在我们可以利用选学wmic查看隐藏进程 ````````````````````````````````````````````````````````` 进程是指在系统中正在运行的一个应用程序 进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序) 察看正在运行的进程的方法有很多,最简单就是使用Windows自带的进程管理器察看正在运行的进程:同时按下“Ctl Alt Del”打开Windows进程管理器。点击进程的标签,即可察看系统中进行的进程列表。或者用鼠标右键点系统状态栏“系统管理器”进入系统进程管理器。 打开“终端服务管理器(任务管理器) 在“进程”选项卡上的“用户”列下,右键单击要结束的进程,然后 单击“结束进程”。 进程ID 或称进程标识,进程ID是用来代表一个进程,指向这个进程用的.可以通过一个进程ID得到该进程的一些相关信息 进程句柄 操作系统把每个进程都进行隔离处理,如果想要操作别的进程则需要打开那个进程ID,得到一个可以操作那个进程的句柄,即.进程句柄 进程权限 在一个程序被初始化运行时,操作系统会根据情况给它设定了一种权限,这种权限将直接关系到这个进程可以去做哪些事务不可以做哪些事务,如一个普通权限的进程,是无法打开另一个高权限的进程去获取他的进程句柄.一般所做出来的程序软件都是这种普通权限的。 是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态 通俗点说,进程是一个具体的应用程序,线程是进程中的一个分支,为单独完成程序中的某一项或一组功能而存在。 应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程 进程和线程在字面上看起来颇为相近,两者又是息息相关的,所以往往给初学者造成混淆,其实从英文原文来看,进程(Process)和线程(Thread)是完全不同的。在开始介绍本章中的多线程和下一章中有关进程的内容之前,首先在这里介绍进程和线程的概念以及它们之间的联系。 进程是正在执行中的应用程序,磁盘上存储的可执行文件只能称之为文件而不能称为进程,内存中正在执行的文件才叫做进程。一个进程是一个执行中的文件使用资源的总和,包括虚拟地址空间、代码、数据、对象句柄、环境变量和执行单元等。当一个应用程序同时被多次执行时,产生的是多个进程,因为虽然它们由同一个文件执行而来,但是它们的地址空间等资源是互相隔离的,这与不同文件在执行的情况是一样的。 进程是不“活泼”的,要使进程中的代码被真正运行起来,它必须拥有在这个环境中运行代码的“执行单元”,这就是线程,线程是操作系统分配处理器时间的基本单位,一个线程可以看成是一个执行单元,它负责执行包含在进程地址空间中的代码。当一个进程被建立的时候,操作系统会自动为它建立一个线程,这个线程从程序指定的入口地址开始执行(对于Win32汇编,就是源代码最后start指定的入口地址),通常把这个线程称为主线程,当主线程执行完最后一句代码的时候,进程也就没有继续存在的理由了,这时操作系统会撤销进程拥有的地址空间和其他资源,对我们来说,这就意味着程序的终止。 在主线程中,程序可以继续建立多个线程来“同时”执行进程地址空间中的代码,这些线程被称为子线程。操作系统为每个线程保存单独的寄存器环境和单独的堆栈,但是它们共享进程的地址空间、对象句柄、代码和数据等其他资源,它们可以执行相同的代码,可以对相同的数据进行操作,也可以使用相同的句柄。读者可以把一个进程中的多个线程看成是进程范围内的“多任务”。 进程和线程的关系可以看做是“容器”和“内容物”的关系,进程是线程的容器,线程总是在某个进程的环境中被创建,它不可以脱离进程单独存在,而且线程的整个生命周期都存在于进程中,如果进程被结束,其中的线程也就自然结束了。 系统中可以同时存在多个进程,每个进程中同时又可以有多个线程在执行,为了使所有进程中的线程都能够“同时”运行,操作系统为每个线程轮流分配时间片,当轮到一个线程执行的时候,系统将线程的寄存器值恢复回去并开始执行,当时间片结束的时候,系统打断线程的执行,将线程当前的寄存器环境保存下来并切换到另一个线程中去执行,如此循环。当切换到的线程和上一个时间片的线程并不属于同一个进程的时候,操作系统同时切换物理内存到线性地址空间的映射关系,这样线程存取的就是自己所属的进程中的代码和数据。 对于单处理器的计算机来说,不同线程实际上是在轮流使用同一个处理器,一个程序的运行速度并不会因为建立多个线程而加快,因为线程多了以后每个线程等待的时间也就越长,但是对安装了多个处理器的计算机来说,操作系统可以将不同的线程安排到不同的处理器中去执行,这样一个进程中的多个线程就会真正获得多个时间片而加快整个进程的运行速度。当然这个过程还需要操作系统的支持。Windows 9x系统不支持多处理器,即使系统中安装有多个处理器,所有线程还是被安排在同一个处理器上运行,其他的处理器则处于空闲状态。Windows NT系统支持多处理器。 虽然大部分的个人计算机是单处理器的计算机,在应用程序中使用多线程并不能提高程序的运行速度,但多线程编程的出发点并不仅仅是为了使用多处理器,更多的是用来解决一些实际问题。在本章接下来的篇幅中,通过一个典型的“问题程序”来引出多线程编程的内容。 ``````````````````````````````````````````````````` 任务1 判断木马可以没有进程吗? 任务2 判断木马可以只用驱动程序? 任务3 尝试用一些进程管理软件去结束杀毒软件 |
| ``````````````````````````````````````````````````````````````````` 通俗一点说 人有名字 句柄就像程序的名字 当然人的名字可以改 句柄也会改的 但不同的是 句柄是在程序重新启动后才会变 类名就像我们的生日 它一般是不会变的 还有一个更不可考的名词 叫标题就是软件标题栏上那一串文字 ![]() 这个程序的标题就是 有些标题在运行期间是是会变得 所以用它来区分程序是很难的 下面我们看个例子就明白了 我们第一次打开 得到了程序的标题 句柄 类名 ![]() 我们关闭程序 然后再次打开得到 ![]() 我们通过对比发现 标题时间变了 句柄也变了 而类名没有变 但是句柄一般在运行期间是不会变的 如果我们不关闭这个程序 它的句柄就不会变 所以我们一般用通过获取句柄或类名来确定我们要获取密码的程序 而且类名更实用一些 下面我们来学习如何获取外部程序的句柄和类名 先学获取句柄 我们只要记住一个函数就可以获取句柄了
下面我们把函数抄下来 在后面加个() 由于没有参数所以()里什么都不用填 就变成了 然后它就会返回我们想要的当前窗口句柄 形式就是 jubing = GetForegroundWindow() 软后我们把jubing输出来 就成了一个获取当前句柄的小软件 我们就可以利用它去获取其窗口的句柄了 ![]() 我们看到他的标题栏上蓝色不是灰色 说明获得的句柄是它自己的 下面我们利用它去获取其他窗口句柄 例如下面这个程序 ![]() 它的标题栏上灰色的说明它不是当前窗口 我们用鼠标单击它的标题栏 让它变成当前窗口 ![]() 标题栏变成了蓝色 说明书当前窗口 我们发现句柄发生了变化 ![]() 获取句柄的软件变成了灰色 那串数字就是上面那个程序的句柄了 下面我们学习获取类名 获取类名同样要用到函数
这个函数的三个参数 分别是1.hwnd 2.lpClassName 3.nMaxCount 第一个就是我们上面学的 句柄 第二个可以简单理解为存类名的空间 第三个可以理解为空间长度 一定要比类名常哦 不然装不下类名就麻烦了 我们说了没有参数就是一对空括号() 要是有参数把参数填里面就可以了 形式就是GetClassName(句柄,空间,空间长度) 例如句柄是1000 给它申请空间a 再给它50个字长 形式就成了GetClassName(1000,a,50) 参数一般用","分隔 随这语言的不同也有例外的 下面我们也把这个函数封装成个小软件 来获取下面这个窗口的类名 ![]() 用同获取句柄一样的方法得到 ![]() 我们发现上面的程序中还有一个编辑框组件 和一个按钮组件 ![]() 那么怎么获取他们的句柄和类名呢 用函数当然可以 不过比较复杂 因为要获取面板内部组件一般要用到坐标函数 我们可以偷偷懒 借助现成的软件来获取 现在很多软件都提供获取句柄类名功能 我们是写木马的 又不是写行业软件 一般怎么简单就怎么来 比如现在的瑞星卡卡上网安全助手里就有这一功能 我们利用它就方便多了 很容易就获得了编辑框的类名和句柄 ![]() 用同样的方法可以获取按钮或其它程序面板内部组件的类名或句柄 不过那些高手一般喜欢使用自己写的东东 像我们这样的小菜鸟 借借东风感觉还是不错的 能省很多时间和力气 不过瑞星卡卡上网安全助手获取到的句柄是十六进制的 我们一般喜欢看十进制的 我们用计算器把它转换一下 打开计算器 选择科学计算器 把句柄复制进去 ![]() 注意前面的0x表示是十六进制 另外的两个0也只是为了位数 不起作用 就像01=1一样 所以我们只要复制38030A就可以了 然后我们选择十进制 ![]() 呵呵 3670794就是那个编辑框的句柄了 ``````````````````````````````````````````````````````````````````` 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄 在Windows中,句柄是一个系统内部数据结构的引用。例如,当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此,你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标,等等。实际上许多Windows API函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等等,不仅仅局限于窗口函数。 换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等等 ````````````````````````````````````````````````````````````````````` 任务1 理解什么是类名 什么是句柄 什么是标题 任务2 自己动手获取一个窗口的类名和句柄 任务3 获取一个面板内部组件的类名和句柄 思考 类名句柄和木马的关系 | ||||||||||||||||||||||||||||||||||
| 呵呵 大家学的还习惯把 小菜鸟希望大家不要灰心 程序的路虽然很长 但我们 只要只要打好基础 一步一个脚印 就一定能成功 小菜鸟永远支持你 我们今天学习程序中比较常用 也是比较重要的一部分 --- 消息 消息机制 在程序或系统里的作用可不容小视 是程序基础的基础 当然现在我们 只能先认识和了解一下 要以我们现在的知识取彻底理解消息机制是不可能的 那么什么是消息呢 下面我们就一起去学习它 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 下面我们来认识一个消息函数 SendMessage 它不像一般的函数 因为它的参数包含了成千上万的已经规定好的常量值 下面我们看看它的具体声明
我们看到它有4个参数 1.hwnd 就是我们常说的句柄了 2.wMsg 我们可以简单理解为就是那些常量值 3.wParam 就是有些要用到两个常量值 就是备用的常量值 如果只有一个值那它一般就是0了 4.和第三个一样 如果有3个常量值 它才有用 为了教程更明了 我简单的举几个例子 让大家对消息有进一步了解 我们先看看发送文本消息 形式就是 SendMessage(接收文本控件的句柄,消息标识,消息长度,具体消息) 我们首先打开消息发送端 ![]() 我们看到它需要接受控件的句柄 我们打开接收端 ![]() 下面我们把句柄填上去 然后单击发送按钮 ![]() 我们再看看接收端的变化 ![]() 我们发现已经收到了 我们发的消息 下面我们把消息发给计算器看看效果 首先打看计算器 ![]() 其次我们要找到计算器编辑框的句柄 ![]() 我们获得句柄后填上按发送按钮 ![]() 我们知道计算器的显示框一般是不能输入汉字的 利用消息很容易可以把我们想要的汉字输入进去 当然大家可能会想到既然消息能发送 就应该能获取把 能不能从一些编辑框里获取帐号密码 然后利用发送到自己的邮箱呢 (嘻嘻 肯定有人已经很鄙视小菜鸟了 好的不教就教坏的) 不过没关系 小菜鸟可以先告诉大家 一般获取帐号是没问题 获取密码利用消息几 乎是不可能的 因为近几年很多成名软件都采取了动态的 并且很底层保护机制 而且不断升级更新 并且都屏蔽了消息函数 不过世界上有矛就有盾 所谓道高 一尺魔高一丈 如果你有兴趣看下去 就会发现没有什么密码框上破解不了的 只是我们的能力问题 下面我们就来看一个从外部程序获取文本的例子 ![]() 和发送消息一样 我们首先也要只要帐号所对应编辑框句柄 ![]() 填入句柄后 单击获取 我们发现很容易就获取到了 有些编辑框不让复制 我们用这种方法去copy还是不错的 下面我们用同样的方法去获取计算器的文本 ![]() 消息的传递我们就先了解到这里 除了消息的发送和接收外还有很多 所以把消息学好是程序基础的基础 其他一些消息小菜鸟只做了例程 限于章节篇幅 就不一一演示 大家自己下载其他例程 消息标识符请参考 最后的消息参考 用到的课件可以到我的空间下载 http://hco168.ys168.com/ | |||||||||||||||||||||||||