<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[swtar的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/swtar</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; swtar]]></copyright><item><title><![CDATA[获取指定IP地址远程主机的计算机名和Mac地址]]></title><link>https://blog.csdn.net/swtar/article/details/6371277</link><guid>https://blog.csdn.net/swtar/article/details/6371277</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 10:12:00 +0800</pubDate><description><![CDATA[<br />#include "stdio.h"
#include "iostream.h"
#include "winsock2.h"
#include <iphlpapi.h>
#pragma comment(lib,"iphlpapi.lib")
#pragma comment(lib,"ws2_32.lib")

void main()
{
 char szIP[100];
 HRESULT iRet;
 WSADATA wsd;
 WSAStartup(MAKEWORD(2]]></description><category></category></item><item><title><![CDATA[用VC6.0编译Windows驱动程序]]></title><link>https://blog.csdn.net/swtar/article/details/6371269</link><guid>https://blog.csdn.net/swtar/article/details/6371269</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 10:10:00 +0800</pubDate><description><![CDATA[<br />      从广义角度来讲，只要某种语言的编译器能编译出PE格式的二进制文件，并能正确指明驱动程序的入口地址，那么这种语言就能用作开发Windows驱动，所以我们可以选择C、C++、汇编，甚至是Delphi。编译Windows驱动的编译器也有很多，虽然Microsoft发布了新的WDK，但它足足有600我M啊，相比之下，我们还是比较钟意小巧的VC6.0，下面我们就一步一步把VC打造成Windows驱动编写IDE。
<br />1.修改编译选项<br />"工程"菜单"设置"选项中"C/C++"]]></description><category></category></item><item><title><![CDATA[自己动手写驱动禁用电脑主板喇叭！！ ]]></title><link>https://blog.csdn.net/swtar/article/details/6371265</link><guid>https://blog.csdn.net/swtar/article/details/6371265</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 10:07:00 +0800</pubDate><description><![CDATA[<br />     这是自学Windows驱动开发的第三天，也是我所写的第一个完整的、有用的驱动程序，加之今天日子比较特殊，就用它来纪念今天吧！<br />       众所周知，在我们电脑的主板上有个小喇叭，在计算机一切正常的情况下，你开机时所听到的那清脆的“嘀”一声就是它发出来的，其实要操纵它发出声是很简单的，Windows的Beep这个API就可以轻松办到，根本就不用进Ring0，但如果想对它进行更多的操作就得进Ring0了，要进Ring0，那就得靠驱动了。<br />       话说302和30]]></description><category></category></item><item><title><![CDATA[自己动手写代码模仿MSN风格的弹窗]]></title><link>https://blog.csdn.net/swtar/article/details/6371262</link><guid>https://blog.csdn.net/swtar/article/details/6371262</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 10:06:00 +0800</pubDate><description><![CDATA[<br />       清明放假第一天，闲来无事，灵感突发，写下该程序。本程序为纯Win32 SDK实现，未使用MFC库，核心函数为MoveWindow。<br />认识到的问题：<br />1.每移动一次窗口就必须用ShowWindow显示窗口，我不知道这算不算窗口的即时重绘。<br />2.工作线程和主线程必须分开，不然窗口内容无法即时显示。<br />效果图：<br /><br />还是那句老话：翠花，上代码~~~<br />/************************************]]></description><category></category></item><item><title><![CDATA[Hooking into NDIS and TDI]]></title><link>https://blog.csdn.net/swtar/article/details/6371248</link><guid>https://blog.csdn.net/swtar/article/details/6371248</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 10:00:00 +0800</pubDate><description><![CDATA[<br />Hooking into NDIS and TDI<br />By: andreas <br />This is the fist part in a series of 2 articles on how to hook into the NDIS and TDI layer. In this first one, we will discuss where and how to hook in to the NDIS layer. <br />In the second, we will d]]></description><category></category></item><item><title><![CDATA[The APC of Windows NT ]]></title><link>https://blog.csdn.net/swtar/article/details/6371235</link><guid>https://blog.csdn.net/swtar/article/details/6371235</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 09:56:00 +0800</pubDate><description><![CDATA[<br />Asynchronous Procedure Calls in NT
<br /><br />In Windows NT, the concept of "Asynchronous Procedure Calls" (APCs) is mentioned numerous <br />times, although precisely what an APC is and how it is used is entirely absent from the standard <br />Mic]]></description><category></category></item><item><title><![CDATA[自己动手编程实现文件批量重命名]]></title><link>https://blog.csdn.net/swtar/article/details/6371219</link><guid>https://blog.csdn.net/swtar/article/details/6371219</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 09:54:00 +0800</pubDate><description><![CDATA[<br />      最近用BT下电视剧，每一集的视频文件的文件名都被加上了那个网站的地址，显得非常的杂乱无章，还有在网上下图片的时候，文件名也会非常乱，手动修改的话非常费时费力，于是动手写了一个自动化的工具，反正下TVB的剧集是我的嗜好嘛~~~ <br />程序运行效果图：<br /> <br />下面还是贴源码吧，有部分源码是由MFC框架自动生成的：<br />/**********************************************************************]]></description><category></category></item><item><title><![CDATA[第一届奇虎360软件安全竞赛题目]]></title><link>https://blog.csdn.net/swtar/article/details/6371205</link><guid>https://blog.csdn.net/swtar/article/details/6371205</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 09:51:00 +0800</pubDate><description><![CDATA[<br />      写在前面：每次在看雪论坛（http://www.pediy.com）和DebugMan论坛（http://www.debugman.com）看到牛人的帖子或者牛人的回复，我都很恨自己，我恨自己为什么那么菜，为什么那么无能~~~
<br />1.磁盘保护挑战题 <br />驱动mbrprot.sys会保护磁盘的1号扇区(即MBR（Master Boot Record)的后一个扇区）不被写入，请尝试在该驱动保护下，写入一段字符串到该扇区 <br />环境要求： <br /><br />]]></description><category></category></item><item><title><![CDATA[关于在四川省计算机一级考试系统中使用计算器的研究]]></title><link>https://blog.csdn.net/swtar/article/details/6371201</link><guid>https://blog.csdn.net/swtar/article/details/6371201</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 09:48:00 +0800</pubDate><description><![CDATA[<br />      鉴于计算机一级考试临近，今天就谈谈一级考试系统这东东吧。"进制转换"及其相关内容是每一次一级考试必考的内容，对于这种题，我们都会习惯性的打开Windows自带的计算器(calc.exe)来解决，但是省教育局的童鞋们不会傻到就让你打开计算器在那里点吧，所以呢，他们必定在一级考试系统中对计算器这个工具进行了相应的限制。<br />      所谓知己知彼，百战不殆嘛，下面我们就来对传说中的一级考试系统进行小小的分析吧（之所以说是小小的分析，是因为我们这里只分析窗口属性，没进行反汇编及代码]]></description><category></category></item><item><title><![CDATA[第三届奇虎360软件安全竞赛题目]]></title><link>https://blog.csdn.net/swtar/article/details/6371182</link><guid>https://blog.csdn.net/swtar/article/details/6371182</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 09:42:00 +0800</pubDate><description><![CDATA[<br />挑战1: Bug Hunting & Fix<br />问题描述:驱动360SafeGame.sys负责将一个360SafeGame.dll注入到应用层(user-mode)的程序当中, 但发现这个驱动将360SafeGame.dll注入到c:/windows/notepad.exe之后会出现崩溃的现象, 但注入到IE中则不会发生崩溃现象, IE可以正常启动。<br />环境搭建： 1. 拷贝 360SafeGame.dll 到C:/根目录<br />2. 用InstallDrv.exe安装并加]]></description><category></category></item><item><title><![CDATA[自定义协议学习札记]]></title><link>https://blog.csdn.net/swtar/article/details/6371167</link><guid>https://blog.csdn.net/swtar/article/details/6371167</guid><author>swtar</author><pubDate>Fri, 29 Apr 2011 09:39:00 +0800</pubDate><description><![CDATA[<br />      很奇怪一件事情：我们在逛淘宝的时候，看中了一件宝贝，我们一般都会用阿里旺旺联系卖家，这个时候，我们只要点击""这样的图标，阿里旺旺会自动运行，并启动与卖家对话的窗口，这个功能就是用自定义协议实现的。众所周知，QQ是C/S模式，而整个腾讯也是靠QQ发家的，但现在腾讯正集中火力完善B/S构架的WEBQQ；像优酷、土豆这样的视频网站都是从B/S做起的，而现在都推出了C/S客户端；可以预见，C/S和B/S相结合是将来互联网企业发展的趋势，而连结这两者的桥梁就是自定义协议了。
<br />下]]></description><category></category></item><item><title><![CDATA[在ODBC API编程中得到结果集行数的方法]]></title><link>https://blog.csdn.net/swtar/article/details/6059312</link><guid>https://blog.csdn.net/swtar/article/details/6059312</guid><author>swtar</author><pubDate>Mon, 06 Dec 2010 21:09:00 +0800</pubDate><description><![CDATA[<br />      在ODBC编程中，首先用ODBC API中的SQLBindCol来绑定数据集中的某列数据到变量，然后再用SQLFetch来读取数据，每调用一次SQLFetch，结果集指针就向下移动一行，那么，我们要调用多少次SQLFetch才能读完整个结果集呢？在这里就必须得到结果集的行数，具体方法如下：<br />       微软提供了GetRecordCount这个函数，但直接调用这个函数的话，要么就得到1，要么就得到0。百度了N久，终于让我找到了答案，原来在调用GetRecordCount之]]></description><category></category></item><item><title><![CDATA[关于ODBC API编程中如何判断DSN是否已存在 ]]></title><link>https://blog.csdn.net/swtar/article/details/6059310</link><guid>https://blog.csdn.net/swtar/article/details/6059310</guid><author>swtar</author><pubDate>Mon, 06 Dec 2010 21:08:00 +0800</pubDate><description><![CDATA[<br />      在ODBC编程中，要连接数据库必须先配置好数据源，Windows自带了一个数据源配置工具，可以在控制面板的管理工具中找到，也可以在运行中直接输入odbcad32.exe来打开。但对于程序开发者来说，我们怎么能让用户做这些繁琐的事呢！当然，微软也想到了这点，所以就有了SQLConfigDataSource这个API，它能自动配置数据源，具体参见MSDN。<br />       那么问题来了，一个程序，一般不会只在用户电脑上运行一次，所以不可能每次程序运行都来配置数据源吧，怎样检测用户]]></description><category></category></item><item><title><![CDATA[对于Socket的UDP数据广播的重新认识 ]]></title><link>https://blog.csdn.net/swtar/article/details/6055195</link><guid>https://blog.csdn.net/swtar/article/details/6055195</guid><author>swtar</author><pubDate>Sat, 04 Dec 2010 19:45:00 +0800</pubDate><description><![CDATA[<br />原来一直认为，UDP广播就是对已知的一连串IP地址来逐个发送数据包，我的机房远程协助程序就是这样写出来的，但是今天在学习WOL的时候，我才发现，我原来的观点是错误的，于是，我发起了对UDP数据广播的重新认识：<br /> <br />下面给出windows下UDP发送广播数据代码.<br />UDP广播地址为255.255.255.255<br />通过setsockopt这个API设置一个socket为广播socket<br /> <br />/////////////////////////]]></description><category></category></item><item><title><![CDATA[用SendARP API函数获取远程主机MAC地址学习心得]]></title><link>https://blog.csdn.net/swtar/article/details/6055193</link><guid>https://blog.csdn.net/swtar/article/details/6055193</guid><author>swtar</author><pubDate>Sat, 04 Dec 2010 19:44:00 +0800</pubDate><description><![CDATA[<br />我是一个闲不住的人，刚搞完禁用WebQQ的IE BHO插件，又迷上了WOL，众所周知，要写一个WOL的利用程序必须先得到远程主机群的MAC地址数据库，那怎样去获取这个数据库呢？是在每一个远程主机上安装客户端？呵呵，我开始就是这样想的，但在后来的学习中，我发现自己真傻，人家Microsoft明明提供了一个SendARP的API，就这么一个API就可以不在远程主机安装客户端的情况下获取它的MAC地址，原理很简单，就是利用ARP协议。于是，一连串的问题就围绕着这个函数展开了。<br />       ]]></description><category></category></item><item><title><![CDATA[今天学习COM的一点心得]]></title><link>https://blog.csdn.net/swtar/article/details/6051461</link><guid>https://blog.csdn.net/swtar/article/details/6051461</guid><author>swtar</author><pubDate>Thu, 02 Dec 2010 22:38:00 +0800</pubDate><description><![CDATA[利用BHO拦截WEBQQ]]></description><category></category></item><item><title><![CDATA[QQ2010密码输入框保护原理之我见]]></title><link>https://blog.csdn.net/swtar/article/details/6042714</link><guid>https://blog.csdn.net/swtar/article/details/6042714</guid><author>swtar</author><pubDate>Mon, 29 Nov 2010 14:14:00 +0800</pubDate><description><![CDATA[<br />      这几天好好地研究了一下QQ2010登陆窗口的密码输入框，细节没有完全弄清楚， 不过还是看出了大致的原理了。在这里发表一下我的看法，和有兴趣的朋友一起讨论。菜鸟水平，认识问题的程度很有限，大牛们就飘过吧。<br /><br />我首先想到的，是要搞清楚，他的保护原始是基于R0还是R3？<br />这个问题的答案是：R3。理由很简单，因为找不到QQ有驱动啊，所以自然就是在R3进行的保护了。这个没什么好说的，不讲了。<br /><br />接着是，QQ究竟如何在应用层实现密码输入保护的呢？]]></description><category></category></item><item><title><![CDATA[关于WinSock.h和WinSock2.h的重复定义问题]]></title><link>https://blog.csdn.net/swtar/article/details/6042697</link><guid>https://blog.csdn.net/swtar/article/details/6042697</guid><author>swtar</author><pubDate>Mon, 29 Nov 2010 14:11:00 +0800</pubDate><description><![CDATA[<br />        在编译时，可能出现类似下面这样的错误：<br />--------------------Configuration: wlan_access - Win32 Debug--------------------<br />Compiling...<br />Eapsim_getIMSI.cpp<br />E:/MySoftware/Develope/Microsoft Platform SDK for Windows Server 2003 R2/Include/winsock2]]></description><category></category></item><item><title><![CDATA[关于CListCtrl中处理选中多行数据的问题]]></title><link>https://blog.csdn.net/swtar/article/details/6042685</link><guid>https://blog.csdn.net/swtar/article/details/6042685</guid><author>swtar</author><pubDate>Mon, 29 Nov 2010 14:08:00 +0800</pubDate><description><![CDATA[<br />      在默认状态下，CListCtrl通过鼠标单击选中的是单行，但我们可以配合Ctrl和Shift键来选中多行，如果有多行数据被选中，那就要一项一项处理，怎么处理呢？看个例子吧！<br />while(m_listOption.GetSelectedCount()   >   0) <br />{ <br />　　　　POSITION   pos   =   m_listOption.GetFirstSelectedItemPosition(); <br />　　　　if   (pos  ]]></description><category></category></item><item><title><![CDATA[利用WinInet库和STL获取计算机硬盘中的文件并上传到指定FTP服务器]]></title><link>https://blog.csdn.net/swtar/article/details/6042428</link><guid>https://blog.csdn.net/swtar/article/details/6042428</guid><author>swtar</author><pubDate>Mon, 29 Nov 2010 12:10:00 +0800</pubDate><description><![CDATA[<br />必备知识：<br />1.WinInet库<br />2.STL<br /> <br />/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />*           AppName:PhotoThief                                                          ]]></description><category></category></item></channel></rss>