- 博客(21)
- 收藏
- 关注
原创 获取指定IP地址远程主机的计算机名和Mac地址
<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
2011-04-29 10:12:00
2139
1
原创 用VC6.0编译Windows驱动程序
<br /> 从广义角度来讲,只要某种语言的编译器能编译出PE格式的二进制文件,并能正确指明驱动程序的入口地址,那么这种语言就能用作开发Windows驱动,所以我们可以选择C、C++、汇编,甚至是Delphi。编译Windows驱动的编译器也有很多,虽然Microsoft发布了新的WDK,但它足足有600我M啊,相比之下,我们还是比较钟意小巧的VC6.0,下面我们就一步一步把VC打造成Windows驱动编写IDE。<br />1.修改编译选项<br />"工程"菜单"设置"选项中"C/C++"
2011-04-29 10:10:00
778
原创 自己动手写驱动禁用电脑主板喇叭!!
<br /> 这是自学Windows驱动开发的第三天,也是我所写的第一个完整的、有用的驱动程序,加之今天日子比较特殊,就用它来纪念今天吧!<br /> 众所周知,在我们电脑的主板上有个小喇叭,在计算机一切正常的情况下,你开机时所听到的那清脆的“嘀”一声就是它发出来的,其实要操纵它发出声是很简单的,Windows的Beep这个API就可以轻松办到,根本就不用进Ring0,但如果想对它进行更多的操作就得进Ring0了,要进Ring0,那就得靠驱动了。<br /> 话说302和30
2011-04-29 10:07:00
875
原创 自己动手写代码模仿MSN风格的弹窗
<br /> 清明放假第一天,闲来无事,灵感突发,写下该程序。本程序为纯Win32 SDK实现,未使用MFC库,核心函数为MoveWindow。<br />认识到的问题:<br />1.每移动一次窗口就必须用ShowWindow显示窗口,我不知道这算不算窗口的即时重绘。<br />2.工作线程和主线程必须分开,不然窗口内容无法即时显示。<br />效果图:<br /><br />还是那句老话:翠花,上代码~~~<br />/************************************
2011-04-29 10:06:00
460
原创 Hooking into NDIS and TDI
<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
2011-04-29 10:00:00
615
转载 The APC of Windows NT
<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
2011-04-29 09:56:00
652
原创 自己动手编程实现文件批量重命名
<br /> 最近用BT下电视剧,每一集的视频文件的文件名都被加上了那个网站的地址,显得非常的杂乱无章,还有在网上下图片的时候,文件名也会非常乱,手动修改的话非常费时费力,于是动手写了一个自动化的工具,反正下TVB的剧集是我的嗜好嘛~~~ <br />程序运行效果图:<br /> <br />下面还是贴源码吧,有部分源码是由MFC框架自动生成的:<br />/**********************************************************************
2011-04-29 09:54:00
963
转载 第一届奇虎360软件安全竞赛题目
<br /> 写在前面:每次在看雪论坛(http://www.pediy.com)和DebugMan论坛(http://www.debugman.com)看到牛人的帖子或者牛人的回复,我都很恨自己,我恨自己为什么那么菜,为什么那么无能~~~<br />1.磁盘保护挑战题 <br />驱动mbrprot.sys会保护磁盘的1号扇区(即MBR(Master Boot Record)的后一个扇区)不被写入,请尝试在该驱动保护下,写入一段字符串到该扇区 <br />环境要求: <br /><br />
2011-04-29 09:51:00
1664
原创 关于在四川省计算机一级考试系统中使用计算器的研究
<br /> 鉴于计算机一级考试临近,今天就谈谈一级考试系统这东东吧。"进制转换"及其相关内容是每一次一级考试必考的内容,对于这种题,我们都会习惯性的打开Windows自带的计算器(calc.exe)来解决,但是省教育局的童鞋们不会傻到就让你打开计算器在那里点吧,所以呢,他们必定在一级考试系统中对计算器这个工具进行了相应的限制。<br /> 所谓知己知彼,百战不殆嘛,下面我们就来对传说中的一级考试系统进行小小的分析吧(之所以说是小小的分析,是因为我们这里只分析窗口属性,没进行反汇编及代码
2011-04-29 09:48:00
1723
转载 第三届奇虎360软件安全竞赛题目
<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安装并加
2011-04-29 09:42:00
1408
原创 自定义协议学习札记
<br /> 很奇怪一件事情:我们在逛淘宝的时候,看中了一件宝贝,我们一般都会用阿里旺旺联系卖家,这个时候,我们只要点击""这样的图标,阿里旺旺会自动运行,并启动与卖家对话的窗口,这个功能就是用自定义协议实现的。众所周知,QQ是C/S模式,而整个腾讯也是靠QQ发家的,但现在腾讯正集中火力完善B/S构架的WEBQQ;像优酷、土豆这样的视频网站都是从B/S做起的,而现在都推出了C/S客户端;可以预见,C/S和B/S相结合是将来互联网企业发展的趋势,而连结这两者的桥梁就是自定义协议了。<br />下
2011-04-29 09:39:00
532
原创 在ODBC API编程中得到结果集行数的方法
<br /> 在ODBC编程中,首先用ODBC API中的SQLBindCol来绑定数据集中的某列数据到变量,然后再用SQLFetch来读取数据,每调用一次SQLFetch,结果集指针就向下移动一行,那么,我们要调用多少次SQLFetch才能读完整个结果集呢?在这里就必须得到结果集的行数,具体方法如下:<br /> 微软提供了GetRecordCount这个函数,但直接调用这个函数的话,要么就得到1,要么就得到0。百度了N久,终于让我找到了答案,原来在调用GetRecordCount之
2010-12-06 21:09:00
2181
3
原创 关于ODBC API编程中如何判断DSN是否已存在
<br /> 在ODBC编程中,要连接数据库必须先配置好数据源,Windows自带了一个数据源配置工具,可以在控制面板的管理工具中找到,也可以在运行中直接输入odbcad32.exe来打开。但对于程序开发者来说,我们怎么能让用户做这些繁琐的事呢!当然,微软也想到了这点,所以就有了SQLConfigDataSource这个API,它能自动配置数据源,具体参见MSDN。<br /> 那么问题来了,一个程序,一般不会只在用户电脑上运行一次,所以不可能每次程序运行都来配置数据源吧,怎样检测用户
2010-12-06 21:08:00
764
原创 对于Socket的UDP数据广播的重新认识
<br />原来一直认为,UDP广播就是对已知的一连串IP地址来逐个发送数据包,我的机房远程协助程序就是这样写出来的,但是今天在学习WOL的时候,我才发现,我原来的观点是错误的,于是,我发起了对UDP数据广播的重新认识:<br /> <br />下面给出windows下UDP发送广播数据代码.<br />UDP广播地址为255.255.255.255<br />通过setsockopt这个API设置一个socket为广播socket<br /> <br />/////////////////////////
2010-12-04 19:45:00
513
原创 用SendARP API函数获取远程主机MAC地址学习心得
<br />我是一个闲不住的人,刚搞完禁用WebQQ的IE BHO插件,又迷上了WOL,众所周知,要写一个WOL的利用程序必须先得到远程主机群的MAC地址数据库,那怎样去获取这个数据库呢?是在每一个远程主机上安装客户端?呵呵,我开始就是这样想的,但在后来的学习中,我发现自己真傻,人家Microsoft明明提供了一个SendARP的API,就这么一个API就可以不在远程主机安装客户端的情况下获取它的MAC地址,原理很简单,就是利用ARP协议。于是,一连串的问题就围绕着这个函数展开了。<br />
2010-12-04 19:44:00
1407
转载 QQ2010密码输入框保护原理之我见
<br /> 这几天好好地研究了一下QQ2010登陆窗口的密码输入框,细节没有完全弄清楚, 不过还是看出了大致的原理了。在这里发表一下我的看法,和有兴趣的朋友一起讨论。菜鸟水平,认识问题的程度很有限,大牛们就飘过吧。<br /><br />我首先想到的,是要搞清楚,他的保护原始是基于R0还是R3?<br />这个问题的答案是:R3。理由很简单,因为找不到QQ有驱动啊,所以自然就是在R3进行的保护了。这个没什么好说的,不讲了。<br /><br />接着是,QQ究竟如何在应用层实现密码输入保护的呢?
2010-11-29 14:14:00
421
原创 关于WinSock.h和WinSock2.h的重复定义问题
<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
2010-11-29 14:11:00
1164
1
原创 关于CListCtrl中处理选中多行数据的问题
<br /> 在默认状态下,CListCtrl通过鼠标单击选中的是单行,但我们可以配合Ctrl和Shift键来选中多行,如果有多行数据被选中,那就要一项一项处理,怎么处理呢?看个例子吧!<br />while(m_listOption.GetSelectedCount() > 0) <br />{ <br /> POSITION pos = m_listOption.GetFirstSelectedItemPosition(); <br /> if (pos
2010-11-29 14:08:00
3720
原创 利用WinInet库和STL获取计算机硬盘中的文件并上传到指定FTP服务器
<br />必备知识:<br />1.WinInet库<br />2.STL<br /> <br />/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />* AppName:PhotoThief
2010-11-29 12:10:00
588
原创 桌面滚动字幕纯WinSDK无窗体
<br /> 不知道为啥,研究完网络编程后,我又对DC感兴趣了,昨天我又迷上了“VC实现滚动字幕”,于是昨晚就在网上找了很多类似的源码,但没有一个是我想要的,我试着直接获取整个桌面的DC,然后直接在这个DC句柄上操作,但是没有成功,一气之下关灯睡觉了。今天早上有课,下午没有,于是我就拿了整整一下午的时间来研究,誓要把它搞定。仔细分析了昨晚下的源码,原来高手们都不是直接在桌面DC上操作,而是先建内存DC,在内存DC上操作,然后再将其转换为内存位图,最后再用Bitblt将其Copy到桌面DC上,接下来
2010-11-29 12:07:00
1147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人