
编程技术
文章平均质量分 75
amh
这个作者很懒,什么都没留下…
展开
-
Synflood代码
#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-ye==========原创 2004-10-25 18:40:00 · 1522 阅读 · 0 评论 -
编写漏洞扫描器
一、漏洞扫描器基本原理: 编写漏洞扫描器探查远程服务器上可能存在的具有安全隐患的文件是否存在,它的socket建立过程和上面的端口扫描器是相同的,所不同的是漏洞扫描器通常使用80端口,然后对这个端口发送一个GET文件的请求,服务器接收到请求会返回文件内容,如果文件不存在则返回一个错误提示,通过接收返回内容可以判断文件是否存在。发送和接收数据需要使用函数send()和recv(),另外对流中存在的原创 2004-10-26 09:33:00 · 1314 阅读 · 0 评论 -
用VC进行屏幕截取编程
---- 屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用. ---- 下面用VC来逐步介绍在Windows95下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中. HBITMAP CopySc原创 2004-10-26 09:37:00 · 836 阅读 · 0 评论 -
VC++下剖析黑客软件隐蔽程序的手段
一、引言 随着计算机网络的不断发展,黑客技术也日益成为一支不可忽视的技术力量,尽管多数黑客的攻击目标以服务器为主,对大多数的互连网用户的直接危害并不大。但有一类称为"特洛伊木马"的黑客程序可以通过欺骗等手段在普通网络用户端安装木马的服务端,使用户的计算机在上网时留有后门,而黑客则可以通过这个后门对被感染的计算机随心所欲地进行监视、破坏。显然这种黑软对于普通网络用户的危害是非常严重的。 此类黑软仍原创 2004-10-26 09:30:00 · 989 阅读 · 0 评论 -
一个socket小程序
一直对c/c++下的socket编程必是很熟悉,今天终于完成了一个很简单的server/client程序服务器:#include #include #pragma comment( lib, "Ws2_32.lib" )using namespace std;const int MY_ERROR = -1;int main( ) { WSADATA wsaData;原创 2004-10-25 18:37:00 · 1149 阅读 · 0 评论 -
非法探取密码的原理及其防范
一、非法获取Password的原理: Edit控件是Windows的一个标准控件,当把其Password属性设为True时,就会将输入的内容屏蔽为星号,从而达到保护的目的。虽然我们看来都是星号,但程序中的Edit控件实际仍是用户输入的密码,应用程序可以获取该控件中的密码,其他应用程序也可以通过向其发送WM_GETTEXT或EM_GETLINE消息来获取Edit控件中的内容。黑客程序正是利用Edit原创 2004-10-26 09:36:00 · 789 阅读 · 0 评论 -
杀毒软件的简单实现
#include "FunDef.h"int main (int argc, char *argv[]){if (argc==1){Usage(argv[0]);return 0;}if (!(ScanFileVXER(argv[1]))){printf("ScanFileVXER() GetLastError reports %d/n",erron);return 0;}if (!(Proces原创 2004-10-30 22:08:00 · 1318 阅读 · 0 评论 -
编程规范和范例
1 排版62 注释113 标识符命名184 可读性205 变量、结构226 函数、过程287 可测性368 程序效率409 质量保证4410 代码编辑、编译、审查5011 代原创 2004-10-31 10:47:00 · 1800 阅读 · 0 评论 -
用vc++实现端口扫描程序
一、前言 一个端口就是一个潜在的通信通道,也是一个入侵通道。对计算机进行端口扫描能得到许多有用的信息。进行扫描的方法有多种,可以手动进行扫描,也可以用端口扫描软件进行。在手工进行扫描时,需要熟悉各种命令,对命令执行后的输出进行分析。用扫描软件进行扫描时,扫描软件可以做相应的数据分析功能。本文介绍了扫描器工作原理及技术优点,最后用程序制作一个简单扫描器。二、扫描器工作原理及技术优点原创 2004-11-08 20:41:00 · 3586 阅读 · 1 评论 -
基于Visual C++的Winsock API研究
为了方便网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。Socket实际在计算机中提供了一个通信原创 2004-11-09 10:38:00 · 1187 阅读 · 0 评论 -
C语言初学者的困惑--如何由dos向windows转变
很多人学C语言很长一段时间了,还不知C究竟能干什么,以为学习c语言没什么用,纯粹是为了应付学校的考试.更有人说"学C语言?别做如此愚蠢的行为了!赶快学C++吧!"这种看法是不对的,不应该把c跟c++之间划起绝对的界限,过分看重c++而把c贬得一无是处,这是很片面的.C++功能虽然强大,但它毕竟是c的"超集",在c++里有哪一处找不到c的影子呢?没有c的支持,c++只能是无本之木。 一般情况下,原创 2004-11-10 19:04:00 · 1091 阅读 · 0 评论 -
WIN32用户界面设计基础之Dialog 篇
对话框分为模态对话框和非模态对话框,创建模态对话框用DialogBox(),创建非模态对话框用CreateDialog(),一个对话框通常都应当有一个父窗口,对话框的定位以父窗口的坐标系统为基准,父窗口关闭对话框也随即关闭。如果模态对话框没有父窗口就不再具有模态对话框的特性(用户必须处理完模态对话框的要求之后才能继续在主窗口的操作)。例如使用MessageBox(NULL,"Message","E原创 2004-11-10 18:46:00 · 2010 阅读 · 0 评论 -
VC学习:IP地址控件小技巧
一、如何响应EN_CHANGE事件 在控件中提供了IPN_FIELDCHANGED的通知消息,该消息在控件的输入域发生变化的时候发生,一般来说可以满足需求。但是,有的时候,我们希望每当改变一个值的时候就希望知道当前输入的地址,这样能够及时的对输入的情况进行判断,而IPN_FIELDCHANGED消息显然不能提供这种支持。 从MSDN中可以知道,该控件虽然不是一个编辑框控件,但是当控件中某个域的原创 2004-11-10 18:56:00 · 1471 阅读 · 0 评论 -
写好C程序的10条秘籍
神乎其技,惟C程序,功到自成,十大建议! 1、汝应频繁催动lint工具,据其语法声明修习内力,此事皆因lint之思虑决断实远在君上。 2、不可依随NULL指针,如若不然,混沌痴颠必俟君于彼岸。 3、纵有天赋大智慧,知晓其事无碍,汝亦当尽数强制挪移函数参数为原型所期之数据类型,以免一时疏忽,致使数据类型向汝讨还血债。 4、若头文件未于函数原型之中声明返回值类型,汝当原创 2004-11-12 09:11:00 · 3793 阅读 · 0 评论 -
IP包过滤
/*利用操作系统提供的API编写防火墙.该程序涉及到的API说明请访问微软的MSDN Library代码在C++ Builder 5编译通过如果您想和我交流请email:zzwinner@163.com*/#pragma hdrstop#include "windows.h"#include "Fltdefs.h"//需要加载"iphlpapi.lib"#pragma argsusedint ma原创 2004-11-09 10:07:00 · 4718 阅读 · 1 评论 -
This is a arp spoof sniffer
/*============================================================================Coder: Paris-yeReleased on: 1/9/2003Test on: redhat 9.0Our Team:Www.Bugkidz.OrgInformation:This is a arp sp原创 2004-11-11 09:03:00 · 1284 阅读 · 0 评论 -
关于new、delete和堆的一些理解
关于new、delete和堆的一些理解 先看以下的两个简单的程序:第一: //////////Visula C++ 6.0环境 #includevoid main(){int a=3;int *p=new int;p=&a;coutdelete p; /////////有错误}第二://////////Visual C++ 6.0环境 #includevoid main(){原创 2004-11-09 09:56:00 · 916 阅读 · 0 评论 -
系统理解Win32 API和MFC
作者: 温昱 作者主页: lcspace.diy.163.com Win32 API是微软的操作系统Windows提供给开发人员的编程接口,它决定了我们开发的Windows应用程序的能力。MFC是微软为开发人员提供的类库,在某种意义上是对Win32 API的封装。本文试图从全局角度对Win32 API和MFC进行理解──给出二者的概念模型。本文使用UML描述概念模型。Win32 API本不是面向对原创 2004-11-09 10:02:00 · 1157 阅读 · 0 评论 -
黑盒测试和白盒测试
郑人杰著《软件工程》学习笔记雷神任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内原创 2004-11-15 19:27:00 · 1757 阅读 · 0 评论 -
枚举系统中已经安装的所有硬件设备
实现的主要部分代码:#include #include #include #pragma comment(lib,"Setupapi.lib")CListBox m_strList;........枚举所有硬件设备的主要实现代码: m_strList.ResetContent(); HDEVINFO hDevInfo; SP_DEVINFO_DATA DeviceInfoData原创 2004-11-15 19:54:00 · 837 阅读 · 0 评论 -
一个简单的端口扫描程序题
一、TCP扫描技术 常用的端口扫描技术有很多种,如 TCP connect() 扫描 、TCP SYN 扫描、TCP FIN 扫描 等,网络上也有很多文章专门介绍,比如 :http://www.antai-genecon.com/suml/zhishiyy/jingong/duankougj.htm 上就介绍了很多我的程序 所使用的最基本的扫描技术:TCP 扫描。 操作系统提供的 conne原创 2004-11-19 21:20:00 · 1782 阅读 · 1 评论 -
线程的基础知识
1. 进程与线程有那些区别和联系? 每个进程至少需要一个线程。 进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。原创 2004-11-15 18:24:00 · 891 阅读 · 0 评论 -
透视木马程序开发技术
近年来,黑客技术不断成熟起来,对网络安全造成了极大的威胁,黑客的主要攻击手段 之一,就是使用木马技术,渗透到对方的主机系统里,从而实现对远程操作目标主机。 其破坏力之大,是绝不容忽视的,黑客到底是如何制造了这种种具有破坏力的木马程序 呢,下面我对木马进行源代码级的详细的分析,让我们对木马的开发技术做一次彻底的 透视,从了解木马技术开始,更加安全的管理好自己的计算机。 1.简单说说木马程序的分类 木原创 2004-11-15 19:32:00 · 979 阅读 · 0 评论 -
应用层截包方案与实现
关键字:截包 应用层 中间层 NDIS Windows作者:Fang(fangguicheng@21cn.com)为什么要在应用层截包 引言截包的需求一般来自于过滤、转换协议、截取报文分析等。过滤型的应用比较多,典型为包过滤型防火墙。转换协议的应用局限于一些特定环境。比如第三方开发网络协议软件,不能够与原有操作系统软件融合,只好采取“嵌入协议栈的块”(BITS)方式实施。比如IPSEC在Windo原创 2004-11-15 19:40:00 · 1369 阅读 · 1 评论 -
Dos病毒原理
第1章 假想的病毒程序 假如您对病毒的了解象人们对尼斯湖怪的了解一样少,那么读了下面的程序,你会发现怪? 一个批处理病毒 你第一次用批处理编程序是在几年前?你是否想象过下面的批处理也是一个病毒? @ECHO OFF REM 文件名 VIRUS.BAT REM 本病毒感染自动执行批处理文件 IF DRIVE=="A:/" GOTO END123 IF DRIVE=="C:/" GOTO END123原创 2004-11-15 19:46:00 · 2107 阅读 · 0 评论 -
获得当前进程所有者的信息
主要设计代码如下:#include .......CListCtrl m_strList;CString m_strValue;.......//获取当前进程的所有者的信息void OnGetUser() {// TODO: Add your control notification handler code hereUpdateData();if(m_strValue.IsEmpty()){原创 2004-11-15 19:53:00 · 918 阅读 · 0 评论 -
CString的工作原理介绍(zz)
看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原因主要是对CString的实现机制不是太了解。 CString是对于原来标准c中字符串类型的一种的包装。因为,通过很长时间的编程,我们发现,很多程序的bug多和字符串有关,典型的有:缓冲溢出、内存泄漏等。而且这些bug都是致命的,会造成系统的瘫痪。因此c+原创 2004-11-20 14:35:00 · 721 阅读 · 0 评论 -
用VC设计托盘图标程序
在Windows操作系统中,任务栏的右边(托盘)会常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到具有托盘图标的软件,如金山词霸、实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志,必要时我们可以通过用鼠标点击图标对其进行选单操作或激活其主窗口。有时我们自己编写的程序也希望有类似的效果,本文将详细地介绍用VC设计托盘图标程序的方法原创 2004-11-21 17:05:00 · 1254 阅读 · 0 评论 -
VC常用知识
1: 得到系统时间日期(使用GetLocalTime) CString sTime,sYear,sMonth,sDay; SYSTEMTIME CurTime; GetLocalTime(&CurTime); sYear.Format("%d年",CurTime.wYear); sMonth.Format("%d月",CurTime.wMonth); sDay.Format("%d日",CurTi原创 2004-11-15 18:31:00 · 874 阅读 · 0 评论 -
Afx全局函数及MFC常见数据类型
介绍Afx全局函数及MFC常见数据类型 正文AfxBeginThread:开始一个新的线程AfxEndThread:结束一个旧的线程AfxFormatString1:类似printf一般地将字符串格式化AfxFormatString2:类似printf一般地将字符串格式化AfxMessageBox:类似Windows API 函数 MessageBoxAfxOuputDebugString:将原创 2004-11-15 19:01:00 · 1044 阅读 · 0 评论 -
伪造IP包,禁止TCP连接
大家是否想过在局域网内如何禁止别人访问web server,pop3,ftp等。那么如何禁止呢?大家都知道TCP是面向连接的,连接时有三次握手,之后才能确认连接成功。那么我们就应该能在第一次握手之后伪造一个服务方的握手返回,从而达到TCP连接不成功,无法访问某端口。程序如下: void DeCodeIP(buf,iBufSize) //解析侦听到的IP数据包{IPHEADER * pIPhdr;T原创 2004-11-15 19:51:00 · 1793 阅读 · 1 评论 -
如何判断当前用户是否是超级用户
主要代码如下:BOOL IsAdmin(){ HANDLE hToken; DWORD dwStatus; DWORD dwAccessMask; DWORD dwAccessDesired; DWORD dwACLSize; DWORD dwStructureSize = sizeof(PRIVILEGE_SET); PACL pACL原创 2004-11-15 19:55:00 · 1259 阅读 · 0 评论 -
对获取进程模块的信息一文章的补充--提升权限
在文章《获取进程模块的信息》中,由于当时不知道如何提升权限,所以无法获取更多的系统进程的信息,今天看到了一段代码,让我眼前一亮,不说废话了,代码如下:BOOL EnableDebugPrivilege(){ HANDLE hToken; BOOL fOk=FALSE; if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGE原创 2004-11-15 19:56:00 · 1135 阅读 · 0 评论 -
Using Visual C++ Toolkit 2003 from the Command Prompt
Brian JohnsonMSDN Visual C++ Content StrategistNovember 2004Applies to: Visual Studio .NET 2003 Microsoft Visual C++ .NET 2003 Microsoft Visual C++ Toolkit 2003Summary: In this article, Br原创 2004-11-16 21:24:00 · 2433 阅读 · 1 评论 -
Win32编程基础知识
因为它经典所有我们要共享。有必要增加一点: 发这贴主要是想让想知道和了解WIN32编程的朋友,或者是在这方面刚开始的同学能有点帮助。当然是有点私心的,那就是结交这方面怕朋友了。极力向大家推荐:《Window程序设计》 北京出版社出版Win32编程基础知识尽管Windows应用程序千变万化,令人眼花缭乱,但,消息机制和窗口过程却始终它们的基础,掌握了这两项技术,也就相当于把握住了问题的关键。原创 2004-11-19 21:00:00 · 2090 阅读 · 0 评论 -
自己动手写安全设置工具
文章作者:风泽[EST]创作时间:2004-9-2 如果你是一个对安全很重视的网络管理员,如果你管理的计算机网络装的是WINDOWS 2000系统的话,相信对系统的安全设置时做重复的动作会使你感到郁闷,有没有想到让程序来帮你完成这些重复的工作呢?其实对系统进行设置大多数都是在操作注册表,所以用程序很容易就可以实现了,简简单单的一个程序就可以让你轻松许多。今天我就来简单的实现一个安全设置程序。操作原创 2004-12-01 12:50:00 · 879 阅读 · 0 评论 -
浅析Windows2000/XP服务与后门技术
作者:TOo2y下载本文示例源代码 一、序言Windows下的服务程序都遵循服务控制管理器(SCM)的接口标准,它们会在登录系统时自动运行,甚至在没有用户登录系统的情况下也会正常执行,类似与UNIX系统中的守护进程(daemon)。它们大多是控制台程序,不过也有少数的GUI程序。本文所涉及到的服务程序仅限于Windows2000/XP系统中的一般服务程序,不包含Windows9X。 二、W原创 2004-12-03 20:54:00 · 1337 阅读 · 0 评论 -
Windows平台下的多线程编程
线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完后再执行。在多处理器的机器上,调度程序可将多个线程 放到原创 2004-12-01 15:14:00 · 808 阅读 · 0 评论 -
谈新手对CString的使用
CString类功能强大,比STL的string类有过之无不及.新手使用CString时,都会被它强大的功能所吸引.然而由于对它内部机制的不了解,新手在将CString向C的字符数组转换时容易出现很多问题.因为CString已经重载了LPCTSTR运算符,所以CString类向constchar *转换时没有什么麻烦,如下所示:char a[100];CString str("aaaaaa");s原创 2004-12-01 15:24:00 · 860 阅读 · 0 评论 -
C时间函数集
asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime表头文件 #include定义函数 char * asctime(const struct tm * timeptr);函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真实世界原创 2004-12-01 15:29:00 · 1792 阅读 · 0 评论