下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 10520|回复: 26
打印 上一主题 下一主题

用VB学做“黑客”程序

[复制链接]
  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 2268 天

    [LV.Master]伴坛终老

    跳转到指定楼层
    1
    发表于 2003-3-31 17:14:00 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
    标题 用VB学做“黑客”程序 - u& s2 k5 @. p ! }$ A! E% e3 d; l+ H+ ]9 u- Y关键字 VB,黑客 4 q- C& P! j7 o ) _( D7 K) J5 K- m+ a% T/ \$ Z 7 ~5 k. r( n8 f2 q9 } I% D2 T" b1 g+ B5 b 用VB学做“黑客”程序 " H2 u& i% R7 q0 j # j5 ]/ D/ O6 \7 W" b i $ o6 b! l( G0 R9 n& r8 Z, i! Y! C! M   只要掌握了原理,你也能写出一个所谓的“黑客”程序。下面笔者带领大家用VB亲自编写一个远程控制程序。从而揭开它的神秘面纱。2 @3 s: ]$ M+ v) } u4 W! d( P; S. |: d   一、所用控件4 X$ l/ s- |4 `+ ] 9 N0 E5 l9 H" h% E. J# `   在程序中将使用Winsock控件。Winsock控件是一个ActiveX控件,使用TCP协议或UDP协 4 ?# X& Q: f9 K) m! t$ q议连接到远程计算机上并与之交换数据。和定时器控件一样,Winsock控件在运行时是不可见的。Winsock的工作原理是:客户端向服务器端发出连接请求,服务器端则不停地监听客户端的请求,当两者的协议沟通时,客户端和服务器端之间就建立了连接,这时客户端和服务器端就可以实现双向数据传输。实际编程中,必须分别建立一个服务器端应用程序和一个客户端应用程序,两个应用程序中分别有自己的Winsock控件。首先设置Winsock控件使用的协议,这里我们使用TCP协议。现在,让我们开始用VB建立两个程序,一个是客户端程序myclient,另一个是服务器端程序myserver。 # c6 L/ Q1 @7 j; J' v$ O. l+ G. ]! l" \3 F2 \   二、编写客户端程序 % u S6 ?0 P! C0 F0 a9 U# l6 {2 J8 M8 w( N   首先来建客户端程序myclient。在myclient程序中建立一个窗体,加载Winsock控件,称为tcpclient,表示使用的是TCP协议,再加入两个文本框(text1和text2),用来输入服务器的IP地址和端口号,然后建立一个按钮(cd1),用来建立连接,按下之后就可以对连接进行初始化了,代码如下:- k/ z- J8 J. p, m% i' `/ p7 h: R 4 r5 I% z& e5 b) ~   private sub cd1_click(), h; G$ ^" {' N! j6 G( T1 [" o , {8 w) ~$ S6 R: g' T   tcpclient.romotehost=text1.text; m# R% ?0 W! y1 b- Y A. ? / W: d! b# i( a  tcpclient.romoteport=val(text2.text)'端口号,缺省为1001/ |) f R, x/ J' [2 s0 a: a) s. C 6 k2 u; o% g0 c b) J   tcpclient.connect '调用connect方法,与指定IP地址的计算机进行连接9 a! f; Q, ^+ g1 j1 ?) B3 x+ r+ v% [8 d / w4 S/ j+ ?% U  cd1.enabled=false $ r2 k1 H8 q2 c& t& \7 b: P% z4 X# W2 |   end sub ! R$ Y, ?0 R7 n; p# s/ u& S8 c* @8 ?9 h: b   连接之后就是如何处理所收到的数据的问题了。客户端和服务器端建立连接后,如果有任何一端接收到新的数据,就会触发该端winsock控件的dataarrival事件,在响应这个事件时,可以使用getdata方法获得发送来的数据。比如可以在tcpclient的dataarrival事件中编写代码如下:1 o; H4 c) C, v/ k$ O; v4 T2 b) `+ H ( Q7 K) h7 B8 l8 J2 Y, e! ~  private sub tcpclient_dataarrival(byval bytestotal as long) 9 @% N0 T! G6 Q0 a/ R6 u3 \ 4 l" J- j& b6 i: a  dim x as string ! s: I' Z5 @2 U( t5 J 9 T4 ]/ t" b) z1 |# N4 R1 Y  tcpclient.getdata x '使用getdata获得发送来的数据+ i5 s" Z5 c" a: i $ g0 b4 Y2 ]$ g- @  ....... 0 T! X1 [3 H! U% ]$ A: H) N; i 5 N7 a2 |+ N( M; H, L  End sub( N" Q& o) v" E* s " G! G4 J& `% O  后面的省略部分表示对接收到的数据进行的具体处理,读者可以根据实际情况编写。) _: M B. ~. f8 b, Q9 g 8 g9 B. N$ K0 A/ o3 r  三、编写服务器端程序1 D# c) [( K7 C' K. D( M# I: k+ P 8 {0 k j3 X9 {; {- X6 @4 L2 `   先建立一个窗体,加载Winsock控件,名称为tcpserver。另外在窗体上加入一个文本框text1用来显示客户机的IP地址和客户机发送过来的数据信息。 . ]9 v% U- B: `! i$ d( N9 ?' T: V5 [/ T D   当客户端程序运行时,在客户端程序按下连接按钮后,客户端向服务器端程序请求连接,这时服务器端的connectionrequest事件被触发,所以服务器端程序要解决连接问题,可以使用connectionrequest事件完成此功能。代码如下:; k7 L3 s: T! } # x3 M$ V+ u; E' R2 u7 O7 o0 Y/ \3 A  '在窗体的load事件中对tcpserver控件进行初始化 2 o: B) I) ~0 ], p, {2 p' e4 ^1 R4 k- [0 i+ ^& e   private sub form_load() : x. B0 t% f5 @' t! ]% X: S \# Z( `4 T; S0 w: I   tcpserver.localport=1001 # U/ l" L$ s+ C0 u6 `% w( S: E ( a4 f, k1 Z. `  tcpserver.listen '把服务器置于监听检测状态0 D: k1 Z% }! u" X3 e% d& M6 p 8 o6 X6 [( D1 e f# _   end sub + e* b9 S3 g! }( n 1 F+ }) k2 T/ v) A: Z  '服务器端接收到客户端的连接请求,首先检查当前状态是否处于连接关闭状态7 j" F/ e, I3 x. J# u : D6 ?; J* G; s* }   Private sub tcpclient_connectionrequest(Byval requestID as long)- S4 X& f8 ^3 O: p% t. S * @" Q0 W1 k% e, p* _% C   If tcpserver.state<>sckclosed then '检查控件的state属性是否为关闭 ; ?1 [) U) N& F$ P" ]: F 4 Z0 j3 H5 y0 @$ P6 G6 v6 Q  Tcpserver.close ' ) g; V n5 I5 [/ C' H- I* R' V8 }1 ]6 Q+ `1 P   Tcpserver.accept requestID ' / [0 {/ j! V f3 a+ Q; t% h) e2 S ; Q, j$ c% h) t- S6 r0 g$ E9 K  End if 7 d" y. K' _) O2 g! ^ 3 H& ^7 A# C c7 w5 [) I  End sub . w& G# ?1 k( t0 U3 }& }, ]1 w4 ^$ ~6 t4 }6 u# ^2 B! U   现在我们在服务器端程序tcpserver的dataarrival事件中添加以下代码,以便让服务器端程序可以接收客户机端的指令,并运行相应的程序。 ; M c" R! v- @* A5 q: \$ K& M7 _5 N: N7 d/ G% q   四、测试远程控制程序* t$ \, C a$ S / C! h/ U6 O, \; V   现在,你就可以将这两个程序分别运行于两台使用TCP/IP协议联网的机器了。在客户机端你按下连接按钮,再输入“c: mmand.com”,可以看到在服务器端立刻打开一个DOS窗口,设想一下,如果它运行一些破坏性的命令会发生什么事情?这就是一个最基本的远程控制程序。当然,真正的黑客程序要复杂得多,但基本原理是相同的。现在你该恍然大悟了吧?1 u J% f/ K7 W4 G1 ^: |+ e# Q4 h% }
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 顶 踩 转发到微博
  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 2268 天

    [LV.Master]伴坛终老

    2
     楼主| 发表于 2003-3-31 17:35:00 | 显示全部楼层
    从初步开始呀,我从采访超过来的

    本版积分规则

    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表