自动获取非凡VPN账号密码 杭电vpn账号密码获取

今天早上毕业设计预答辩完了,下午闲着,想做个工具来自动获取非凡VPN官网上的账号密码,平时上个google都要%翻%墙%,http代理学校又限制了,只能挂vpn代理,挂vpn代理还可以突破学校p2p的限制。一直在用非凡vpn的免费测试账号上,但是免费有限制,超过30分钟自动断开,过5分钟后才可以连上,一天一个ip限制3次登录。密码要到其官网首页上拷贝http://www.ffvpn.com/freetrial.php,而且客户端不让粘贴密码,要手工输入,非常麻烦,下面使用delphi程序爬取官网上的账号密码并自动填入VPN客户端。

思路:使用Win32 API的ShellExecute函数打开非凡vpn.exe->使用IdHTTP控件爬取网页的源代码->使用正则表达式,匹配出网页源代码中的账号密码->获取账号、密码框的句柄并发送消息将账号密码填入输入框->获取“连接”按钮句柄发送点击消息->OK。

句柄获取辅助工具:spy++

delphi主要实现代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

var //-----------打开非凡vpn,获取网页源代码

pathStr:string;

begin

自动获取非凡VPN账号密码 杭电vpn账号密码获取
//获取vpn程序的路径(放在delphi程序同目录下)

pathStr:=ExtractFilePath(Application.Exename) + 'Vpn.exe';

try

//获取整个网页源码

webStr:=idHTTP1.Get('http://www.ffvpn.com/freetrial.php');

except

begin

showmessage('网络连接出错!');

Form1.Close;

end;

end;

//打开同目录下的vpn程序

ShellExecute(handle, 'open',PChar(pathStr), '',nil, SW_SHOWNORMAL);

end;

var//-----------匹配出账号密码存入数组,发送窗口句柄

hdAccount,hdPwd,hdMain,hdCon: HWND;

i,p:Integer;

reg: TPerlRegEx;

arrStr: Array[0..5] Of string;

begin

reg := TPerlRegEx.Create(nil);

//整个网页源码

reg.Subject := webStr;

//匹配表达式

reg.RegEx := '(<div class=''fl''><b>+)([a-z]{4}+)(</b></div>)';

i:=0;

//获取整个网页源码中符合匹配表达式的字符串。

while reg.MatchAgain do

begin

//把账号密码存入数组

arrStr[i]:= reg.SubExpressions[2];

i:=i+1;

end;

FreeAndNil(reg);

if ComboBox1.Text='国内VPN' then

p:=0

else

p:=2;

//主窗口句柄

hdMain:=findwindow('#32770','非凡VPN');

//连接按钮句柄

hdCon:=FindWindowEx(hdMain,0,'Button','连接');

//账号输入框句柄

hdAccount:=FindWindowEx(hdMain,0,'Edit','');

//密码输入框句柄

hdPwd:=FindWindowEx(hdMain,hdAccount,'Edit','');

if hdMain=0 then

begin

showmessage('句柄获取失败!');

form1.Close;

end

else

begin

//给"账号"输入框发送消息,传递账号

SendMessage(hdAccount,WM_SETTEXT,255,Integer(PChar(arrStr[p])));

//给"密码"输入框发送消息,传递密码

SendMessage(hdPwd,WM_SETTEXT,255,Integer(PChar(arrStr[p+1])));

//给"连接"按钮发送点击消息

SendMessage(hdCon,WM_LBUTTONDOWN,0,0);

SendMessage(hdCon,WM_LBUTTONUP,0,0);

end;

Form1.Close;

end;

///////////////////////////////////////////////<br>截图:

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/70261.html

更多阅读

无法自动获取IP地址解决办法 路由器自动获取ip地址

无法自动获取IP地址解决办法——简介电脑莫名其妙连接不上网络,只能使用固定IP地址,不能自动获取IP,这种情况让我们在使用电脑,尤其是笔记本在移动办公过程中遇到非常大的困难。本文给大家介绍一下,如何解决无法自动获取IP地址。无法自

怎么将电脑设置成自动获取IP地址 win7如何自动获取ip

怎么将电脑设置成自动获取IP地址——简介当自己无线网络连接不上,那么就有可能是自己的电脑没有设置成自动获取IP地址,那么该怎么操作呢?下面我将根据自己的一些经验,与大家分享,如何设置自动获取IP地址!怎么将电脑设置成自动获取IP地址

杭电2058 k2058次列车时刻表

穷举是穷举,还不能任意穷举,要不超时,FUCK!设初始值i,个数为j的数列满足要求,则(i+i+j-1)*j/2=m==>(2*i-1+j)*j=2m所以j肯定小于等于sqrt(2*m),穷举C语言源码:#include<stdio.h>#include<math.

声明:《自动获取非凡VPN账号密码 杭电vpn账号密码获取》为网友单色姓名分享!如侵犯到您的合法权益请联系我们删除