博文
用VB编写入侵监听程序(下)(2006-12-16 23:17:00)
摘要:程序的代码以及说明如下:
‘本程序在VB6.0+Windows2000下测试通过!Dim tmpstr As StringDim NOW_OUT As Integer ''总共出去连接的有几个WinsockPrivate Sub Command1_Click()ListPorts.AddItem txtADDPORT.TextEnd Sub
Private Sub Command2_Click()On Error Resume NextIf Command2.Caption = "监听" ThenFor i = 0 To ListPorts.ListCount - 1Load Winsock1(i + 1) ''加载监听端口的winsock1数组控件Winsock1(i + 1).LocalPort = ListPorts.List(i) ''设定端口Winsock1(i + 1).Listen ''监听Next iCommand2.Caption = "停止"ElseFor i = 1 To Winsock1.Count - 1Unload Winsock1(i)Next iFor i2 = 1 To Winsock2.Count - 1Unload Winsock2(i2)Next i2Command2.Caption = "监听"End IfEnd Sub
Private Sub Command3_Click()Unload MeEnd Sub
Private Sub Form_Load()txtLOG.Text = "日志:" & vbCrLfNOW_OUT = 1End Sub
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)Load Winsock2(NOW_OUT) ''加载建立连接的Winsock2数组控件Winsock2(NOW_OUT).Accept requestID ''建立连接Winsock1(Index).CloseWinsock1(Index).Listen ''Winsock1继续监听NOW_OUT = NOW_OUT + 1 ''连接的控件累加myAddLog "来自" & Winsock1(I......
用VB编写入侵监听程序(上)(2006-12-16 23:15:00)
摘要:上网的时候很容易遭到探测,一般探测你个人的入侵者技术不会高明到哪里去。所以根本不能称上黑客,所以本文就用入侵者来代替。他们对普通网民的扫描可以是多端口单IP的扫描或者多IP单端口扫描。前者是通过一些IP工具来取得你的IP,然后尝试利用端口扫描获取你的信息,看你的计算机有没有预先中了木马。然后通过网上的木马端口列表,来获得木马名称。用相应的客户端软件来连接到你的计算机。从而获得密码、以及你的秘密信息。后者则是通过利用如SuperScan等可以大范围扫描IP的软件,扫描打开特定端口的机器。比如,可以扫描打开7626端口的机器,看对方是否中了冰河。然后,入侵者就用客户端连接到服务器从而入侵你的计算机。
这些扫描是简单的TCP的Connect扫描。所以无法避开防火墙的追踪。网民就可以利用天网等防火墙软件来获取对方的IP。相信很多DIY迷或者编程爱好者总是想拥有属于自己的类似的工具。本文就给你讲述如何用VB来获得探测你的入侵者的IP地址,然后……我可没有教你用蓝屏炸弹或者蜗牛炸弹去炸它哦。毕竟,我们没有入侵者的野心,本程序还可以让你监听80端口,来察看对方对你进行的常规扫描。要看懂本文,你需要有一定的VB基础。
好了,废话少说,我们来看看本程序的基本原理:
入侵者通过Connect本机的端口,然后通过是否成功,来获得信息。由于TCP的三次握手原理。他必定会留下自己的IP,我们就利用这一个原理来获得对方的IP。
Winsock控件的属性、方法和事件在我上次写的《.用winsock制作漏洞扫描器》一文中已经叙述过,这里就不再介绍。大家还一定记得RemoteHostIP和LocalPort属性吧。这就是对方的IP和自己的端口。聪明的你应该明白了吧。通过这两个属性就可以清楚的获得对方的IP地址和他正在扫描的本地端口。
因为不可能一个端口只有一个人会扫描,所以本程序我们需要使用到控件数组。这个概念的描述大家可以查找MSDN。本程序的流程是:
1、 定义需要监听的端口2、 装载一定数量的Winsock1控件,从需要监听的端口列表中获得数据。一一开启监听功能。(Listen)3、 当某一个控......
学好英语的18条黄金法则(2006-12-09 14:42:00)
摘要:1.What is language for? Some people seem to think it is for practicing grammar rules and learning lists of words--the longer the words the better. That’s wrong. Language is for the exchange of ideas, for communication. 语言到底是用来干什么的呢?一些人认为它是用来操练语法规则和学习一大堆单词——而且单词越长越好。这个想法是错误的。语言是用来交换思想,进行交流沟通的!2. The way to learn a language is to practice speaking it as often as possible. 学习一门语言的方法就是要尽量多地练习说。 3. A great man once said it is necessary to dill as much as possible, and the more you apply it in real situations, the more natural it will become. 一位伟人曾说,反复操练是非常必要的,你越多的将所学到的东西运用到实际生活中,他们就变的越自然。 4.Listening and imitating should always go together. Use the LIP method! Listen-Imitate-Practice! 听和模仿一定要同时做,使用“LIP”方法:听、模仿、操练! 5. Use all your senses to learn English. You must hear English, read English, touch English, smell English, and taste English. Feel English with your heart. Immerse yourself in this language. Begin to think in English.运用一切感官学习英语。你必须听英语、说英语、触摸英语、闻英语,还要尝尝英语的味道。用心去感受英语。让自己沉浸在这门语言当中。学......
女性入夜后的心理变化?(2006-12-09 13:10:00)
摘要: 如果你是男友,与恋人情意绵绵,却不知道如何真正走进她的心灵深处;如果你是丈夫,平淡的生活将婚姻充淡得像一杯白开水;如果你是单身的流浪者,像游魂一样游荡在午夜的大街上,为找不到自己的另一伴而黯然神伤,请认真阅读下面的文字,或许对你有所帮助: 1.白天为了保护自己而隐藏肌肤,夜晚为了展现自己而裸露肌肤。 女人到了夜晚,不但喜欢穿著薄薄的衣服,更是喜欢花花绿绿,大胆而新潮的服装,因为她们在无形中以服装来强调昼夜的不同,当然,她们也明白如何强调自己的魅力。 2.白天虽然很正经,夜晚只喝了点酒,就会变得很大胆。 没有什麽事能像酒醉一样能让女人忘怀白天的一切,微薄的烈酒可达到让她放松心情的目的。继而和她面对面的交谈,则她会敞开心扉,而且迟早会拿掉内心的障碍。心理上的陶醉是赢得女人芳心的王牌。 3.在夜晚的"音"、"光"等小道具的刺激下,生理兴奋容易变成性兴奋。 舞厅可以说是促使女性生理兴奋的最佳场所,在刺耳的大音响之下,男女随著音乐的旋律,热情的扭摆身体....会使兴奋高涨。这种兴奋一经挑起,就容易转变成性兴奋,也容易做出越轨的行为。而音乐的强烈节奏、光线造成的幻象和身体的跃动所造成的心理兴奋,再加上夜晚的『非日常性』所带来的陶醉状态。如此会使人的逻辑性思考能力减弱,感情也会变得更加亢奋。 4.白天视汽车为交通工具,夜晚视汽车为醉心的床。 有一位影评家说:『对年轻女子而言,汽车是要抛弃处女所用的床。』因为,汽车可谓只是属於他们二人的空间,而且其隐密性也不差,何况汽车可以任意移动,所以难免会刺激年轻人的性冲动。在汽车中可以给与女人相当的安全感,进而让她在无形中放开了心胸,并且难免会陶醉在彷如依偎於对方怀中的浪漫气氛里,而情不自禁。 当汽车所含有的非日常性和夜晚的非日常性组合在一起的时候,汽车俨然成为会移动的『双人床』了。因为,在夜晚兜风的话,一者目的意识变得比较淡薄,二者看不到四周的景物,而在黑暗的小空间里(汽车)孤独感会使二人变得更亲近,而很快就会建立起『只属於二个人的』甜蜜世界了。 5.白天是为他人而化妆,夜晚是为了创造另一个自己而化妆。 夜晚的化妆可使女人踏入幻想的、感性的夜的世界,因为化妆是创造幻想的神秘武器,因此浓妆是很适合於夜晚的。到了夜晚会偏好化浓妆的女人,渴望著能够创造出另一个自我,此与戴了面具的男人能够疯狂的玩乐一样对夜晚存有幻想,而男、......
帮您解复杂的非线性微分方程(2006-12-06 18:28:00)
摘要:我们通过多年研究,摸索出解复杂的非线性微分方程的普适方法,如“Thomas—Fermi方程”之类的非线性微分方程的解析解的获得问题。如果您有这方面的需求,请把题目发来,我们不日将给出答案,欢迎垂询(能给出解将适当收费)!
江苏省涟水县教育局 何沛平 朱顶余
PC:223400 Tel:0517-2221673 2361347
E-mail:haa2321673@pub.hy.jsinfo.net
......
Fortran 与 VB 混合编程(2006-12-06 18:26:00)
摘要:Fortran 与 VB 混合编程
Fortran 与 VB 混合编程
吕洪波(作者网页)
1 概述 在DOS时代,许多水利专业程序用Fortran语言编制,随着WINdows时代的来临,面向对象的编程语言如VB、VC等已成为主流,尤其是VB以其简单实用成为许多水利工作者首选工具,而以前大量Fortran程序重新编写,困难重重,充分利用前人程序资源,较好的解决办法是Fortran 与VB混合编程。
2 操作平台 Fortran PowerStation 4.0,VB6.0(也可以是Visual Fortran,但本人手头没有,其接口约定不同,但类似)
3 主要方法 (1)利用动态链接库,实现多语言混合编程。 (2)VB直接调用Fortran执行文件。
4 方法说明
4.1利用动态链接库方法: (1)在Fortran PowerStation 4.0下,编制可供VB调用的.dll文件,示例代码: subroutine forcx(a,b,c) !ms$if .not. defined(linkdirect) !ms$attributes dllexport :: HWJSVB !ms$endif integer a,b,c a=b+c end (2)在VB下编写如下代码: Private Declare Sub forcx B Lib "dll.dll" Alias "_ FORCX @12" (ByRef a As integer, ByRef b As integer, ByRef c As integer) Sub callfor() Dim a as integer, b as integer ,c as integer B=1 : c=2 Call forcx(a,b,c) End Alias 的具体格式:“_函数名(全部大写)@字节数”,其中函数名是.dll中函数名,特别注意须全部大写,字节数指函数中的变量的字节总和,整形为4字节,共12字节。
4.2 直接调用执行文件法: (1)这是一种最简单明了的办法,很使用,不必修改原程序,接口可通过读取数据文件方法处理,VB中直接调用shell函数即可。 Shell(pathname[,windowstyle])
Shell 函数的语法含有下面这......
C语言程序设计入门学习六部曲(2006-12-06 18:12:00)
摘要:说明:在使用本方法之前要先阅读C语言的相关内容,要初步掌握相关知识的要点,然后按下述方法学习,可以达到理解、巩固、提高C语言知识和提高程序调式能力的目的。 在程序开发的过程中,上机调试程序是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。这里以如何上机调试C程序来说明C语言的学习方法.第一步、验证性练习 在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。 使用《Turbo C/C++ for Windows 集成实验与学习环境》软件可以很方便地看着软件集成的《C语言入门教程》输入练习其中的程序例题。具体使用方法参见软件帮助部分。 初学者最容易犯的错误是: 1、没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号()双引号""输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。 2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未C声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。 3、修改C语言语法错误时要注意以下两点: (1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。 (2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很......
用VB操作注册表(2006-12-01 12:42:00)
摘要:登录数据库Registry的Value的存取--Default value的存取
1、Default value的存取我曾经给我的朋友开了个玩笑,他最讨厌喜欢windows中自带的一个扫雷的游戏了.我呢,编写了一个小程序叫他帮我测试一下有没有运行错误,他欣然接受了,结果在执行完毕之后,那个程序自己消失了[那段时间我正在研究"木马冰河",对程序的自销毁技术很感兴趣,想着法子也实现了这个功能.]以后他的机器一启动就要运行扫雷这个程序,气得他暴跳如雷......。其实这样的程序很容易实现的。我们在讲述了有关函数后将给出这个程序的完整例子
涉及到的API函数讲解:
RegQueryValue
VB声明Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long hKey: Key HandlelpSubKey:SubKey名称路径lpValue:返回读取的Default ValuelpcbValue:传入lpValue参数的长度,若成功读取了默认值default value,则返回default value字符串的长度(含chr(0))这个和C语言中字符串的处理相似,都是以chr(0)作为结束符。
返回值: =0,表示成功;≠0,表示失败。
函数调用实例:'自编函数GetDefaultValue'读取Default Value,若成功,返回true 'Example:'Dim S As String, ret As Boolean 'ret = GetDefaultValue(HKEY_CLASSES_ROOT, ".txt", S) ' 如果 ret 为 True(与我们正常的函数调用习惯相同), 則 S 等於读取之資料 ' 如果 "HKEY_CLASSES_ROOT\.txt" 沒有缺省值, 則 S = "" Function GetDefaultValue(ByVal hKey As Long, ByVal Subkey As String, Value As String) A......
26个细节助你赢得好人缘(2006-11-29 20:40:00)
摘要: 1.长相不令人讨厌,如果长得不好,就让自己有才气;如果才气也没有,那就总是微笑。 2.气质是关键。如果时尚学不好,宁愿纯朴。 3.与人握手时,可多握一会儿。真诚是宝。 4.不必什么都用“我”做主语。 5.不要向朋友借钱。 6.不要“逼”客人看你的家庭相册。 7.与人打“的”时,请抢先坐在司机旁。 8.坚持在背后说别人好话,别担心这好话传不到当事人耳朵里。 9.有人在你面前说某人坏话时,你只微笑。 10.自己开小车,不要特地停下来和一个骑自行车的同事打招呼。人家会以为你在炫耀。 11.同事生病时,去探望他。很自然地坐在他病床上,回家再认真洗手。 12.不要把过去的事全让人知道。 13.尊敬不喜欢你的人。 14.对事不对人;或对事无情,对人要有情;或做人第一,做事其次。 15.自我批评总能让人相信,自我表扬则不然。 16.没有什么东西比围观者们更能提高你的保龄球的成绩了。所以,平常不要吝惜你的喝彩声。 17.不要把别人的好,视为理所当然。要知道感恩。 18.榕树上的“八哥”在讲,只讲不听,结果乱成一团。学会聆听。 19.尊重传达室里的师傅及搞卫生的阿姨。 20.说话的时候记得常用“我们”开头。 21.为每一位上台唱歌的人鼓掌。 22.有时要明知故问:你的钻戒很贵吧!有时,即使想问也不能问,比如:你多大了? 23.话多必失,人多的场合少说话。 24.把未出口的“不”改成:“这需要时间”、“我尽力”、“我不确定”、“当我决定后,会给你打电话”…… ......
用C实现的爱情宣言(2006-11-25 22:30:00)
摘要:#include "stdio.h"#include "graphics.h"#include "time.h"#include "math.h"#define N 2#define TIME 0.8/*微粒的的运动时间,TIME/步,每一步长为25个单位*/void *buf[N];struct{int x,y;} lizi[]={{0,0},{75,75}};void alter_place_lizi(int *x,int *y,int key)/*根据随机方向改变粒子的方位*/{switch(key){case 0:case 1:case 2:*x-=25;break;case 4:case 5:case 6:*x+=25;break;}switch(key){ case 0:case 7:case 6:*y-=25;break;case 2:case 3:case 4:*y+=25;break;}if(*x<0) *x=0;if(*x>250) *x=250;if(*y<0) *y=0;if(*y>250) *y=250;}void make_graphics()/*画方框*/{int i,j,driver=VGA,mode=VGAHI;initgraph(&driver,&mode,"");setbkcolor(YELLOW);cleardevice();setcolor(LIGHTRED);setlinestyle(0,0,1);for(i=0;i<=10;i++)line(0,25*i,250,25*i);for(i=0;i<=10;i++)line(25*i,0,25*i,250);}
void make_circle(int x,int y,int n)/*根据提供的离子所在方位画圆*/{int size;setcolor(LIGHTRED);setlinestyle(0,0,1);setfillstyle(1,10);circle(x+25/2,y+25/2,25/2);floodfill(x+25/2,y+25/2,12);size=imagesize(x,y,x+25,y+25);buf[n]=(void *)malloc(size);/*保存每一个圆*/}void sport(int *......
