博文
利用VB设计浏览器(2007-10-19 12:59:00)
摘要:使用VB5附带的WebBrowser控件,可以非常简单地设计出一个实用的浏览器。 首先,加载“Microsoft Internet Controls”和“Microsoft Windows Controls”控件。然后,设计好界面。
在Web浏览器里定义URL 现在,已经建立了浏览器里所需的一些控件,怎么让用户导航呢? 我们可使用WebBrowser控件的Navigate方法。接下来看一看这种方法。例如:Web浏览器首次加载时,可以通过这种方法去导航Microsoft Web页(注意在Intenet Explorroe可定义带或不带“HTTP://”): private sub form_load() webbrowser1.navigate ″www.microsoft.com″ … end sub 当然也可以使用户能够导航新的URL,这通常使用组合框Combo1。首先通过显示当前的URL来启动Combo1工作将其加载到组合框的下拉列表中: private sub form_load() webbrowser1.navigate″www.microsoft.com″ combo1.text=″www.microsoft.com″ combo1.AddItedm combo1.text end sub 用户可以从组合框下拉列表里选择过去的URLS ,当通过这种方法选择了一个URL时,相应的Click事件就产生了,用这种方法能够导航最新选择的URL: private sub combo1_load() webbrowser1.navigate combo1.text end sub 另外,用户可以在组合框里定义一个新的URL 并按Enter键,正如他们能够在商业浏览器里所作的一样。当按下Enter键时,就可以直接从Keypress事件处理器中简单地调用Combo1—Click事件处理器导航到这个新的URL: private sub combo1_keypress(keyascii as integer) if keyascii=vbkeyreturn then combo1—click end if end sub 最后,当下载过程结束时,WebBrowse控件激活了Do......
判断一个TCP/IP端口是否正在使用(2007-05-09 16:46:00)
摘要:
Private Function PortInUse(ByVal PortNumber As Integer) As _ Boolean'*********************************************'PURPOSE: Determine if a TCP/IP port is in use'EXAMPLE: 'If PortInUse(21) Then 'MsgBox "The standard FTP port is in use on this machine" 'end if'**********************************************Dim oSocket As ObjectDim bAns As Boolean
On Error Resume NextSet oSocket = CreateObject("MSWinsock.Winsock.1") If Err.Number > 0 Then Err.Raise 30000, , "Could not create winsock object" Exit Function End If Err.Clear
oSocket.LocalPort = PortNumberoSocket.Listen
'if we get this error, it means'port is busybAns = Err.Number = 10048oSocket.CloseSet oSocket = NothingPortInUse = bAns
End Function......
获取CPU型号(2007-05-09 16:44:00)
摘要:
Private Const PROCESSOR_ALPHA_21064 As Long = 21064Private Const PROCESSOR_ARCHITECTURE_ALPHA As Long = 2Private Const PROCESSOR_ARCHITECTURE_ALPHA64 As Long = 7Private Const PROCESSOR_ARCHITECTURE_ARM As Long = 5Private Const PROCESSOR_ARCHITECTURE_IA64 As Long = 6Private Const PROCESSOR_ARCHITECTURE_INTEL As Long = 0Private Const PROCESSOR_ARCHITECTURE_MIPS As Long = 1Private Const PROCESSOR_ARCHITECTURE_MSIL As Long = 8Private Const PROCESSOR_ARCHITECTURE_PPC As Long = 3Private Const PROCESSOR_ARCHITECTURE_SHX As Long = 4Private Const PROCESSOR_ARCHITECTURE_UNKNOWN As Long = &HFFFF&Private Const PROCESSOR_ARM_7TDMI As Long = 70001Private Const PROCESSOR_ARM720 As Long = 1824Private Const PROCESSOR_ARM820 As Long = 2080Private Const PROCESSOR_ARM920 As Long = 2336Private Const PROCESSOR_HITACHI_SH3 As Long = 10003Private Const PROCESSOR_HITACHI_SH3E As Long = 10004Private Const PROCESSOR_HITACHI_SH4 As Long = 10005Private Const PROCESSOR_INTEL_386 As Long = 386Private Cons......
用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、 当某一个控......
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 函数的语法含有下面这......
用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......
VB 从零开始编外挂(二)(2006-11-21 15:10:00)
摘要:躲避了NP的扫描现在就可以模拟了! -------------------------------------------------------------------------------------------------------------------------------------------------------- 需要VB API函数: keybd_event ←函数模拟了键盘行动 -------------------------------------------------------------------------------------------------------------------------------------------------------- 相关API声明: keybd_event ↓ Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) -------------------------------------------------------------------------------------------------------------------------------------------------------- 需要的控件:Timer(interval不为空) -------------------------------------------------------------------------------------------------------------------------------------------------------- 代码: Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Sub T......
VB 从零开始编外挂(一)(2006-11-21 15:09:00)
摘要:相信大家,在制作游戏外挂的时候,都会用到FPE、金山游侠、GE修改器、Game Master8.0等等这些软件,但是如今的网络游戏基本上都加了NP,下面来了解一下NP。知己知彼,百战不殆嘛! 什么是nProtect? nProtect是设计用于保护个人电脑终端不被病毒和黑客程序感染的新概念的基于网络的反黑客和反病毒的工具。他帮助确保所有输入个人电脑终端的信息在网络上不落入黑客手中。在最终用户在执行电子贸易时,可以通过将nProtect配置在那些提供电子商务、进口贸易,电子贸易的金融机构的网站上,来提高安全等级。nProtect怎样工作?nProtect是一种基于服务器端的解决方案并且当那些需要保护的任何网络应用被运行时而自动启动。nProtect被载入内存,所以最终用户不需要安装任何应用程序,只要nProtect启动,就开始拒绝黑客工具和病毒的入侵! -------------------------------------------------------------------------------------------------------------------------------------------------------- 下面介绍它如何工作: 用户登陆时nProtect自动启动。 浏览器确认和自动安装安全模块到用户的个人电脑。扫描黑客工具和病毒通知用户目前的安全状态如果有黑客工具和病毒尝试删除在被入侵时端驻留内存来锁定黑客工具直到电脑或者nProtect关闭。 可恶的韩国人,把这个加进了网络游戏。我只能说:“呸!” -------------------------------------------------------------------------------------------------------------------------------------------------------- 下面讲讲躲过NP的扫描的几个方法: 一、FPE篇 台湾人开发的东西,哎。出名了的,没办法谁叫它这么好呢! 1.先装一个FPE把,呵呵←这个是废话! 2.不要把安装程序删除,按照:开始→运行→regedit→HEKY_LOCAL_MACHINE→SOFTWARE →jaw→FPE 打开!(问:有什么用? 答:修改呀!) 3.运......
编程集锦---值!(2006-11-19 20:34:00)
摘要:驱动器操作
Private Sub Dir1_Change()File1.Path = Dir1.PathEnd Sub
Private Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd Sub--------------------------------判断光驱/软驱中是否有磁盘Private Sub Drive1_Change()'当驱动器发生改变时使Dir1与其保持一致On Error GoTo IFerr '拦截错误Dir1.Path = Drive1.DriveExit SubIFerr: '如果磁盘错误 MsgBox "请确认驱动器是否准备好或者磁盘已经不可用!", _ vbOKOnly + vbExclamation Drive1.Drive = Dir1.Path '忽略驱动器改变 Exit SubEnd Sub----------------------------------------------------------打开URL:Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Command1_Click()ShellExecute hwnd, "open", "ht......
