⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umain.~pas

📁 <font color=FF0000>一个通过网站的漏洞实现免费发送短信的程序源码(湖南省内适用)</font>
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
         if (doc.all.item(i).tagName = 'INPUT')and      //短信
            (doc.all.item(i).type='text')and
            (doc.all.item(i).name='ls_content2')then
             inc(cok);

         if (doc.all.item(i).tagName = 'INPUT')and
            (doc.all.item(i).type='image')and
            (doc.all.item(i).value='发送')then
             inc(cok);
      end;
      if cok=5 then
        result:=true
      else
        result:=false;
except
    result:=false;
end;
end;

procedure Tfmain.wbStatusTextChange(Sender: TObject;
  const Text: WideString);
begin
   //memo1.Lines.Add(Text);
   if pos('完',text)=1 then
   begin
      if act='connect' then             //第一次连接服务器 动作为 connect 连接之后 动作都为 send
      begin
        if check_connect then
        begin
            sb.Panels[0].Text:='连接服务器成功!';
            connect_status:=true;
            b_send.Enabled:=true;
            Timer1.Enabled:=false;
            dis_time:=0;
        end;
      end;
   end;

end;


procedure Tfmain.FormCreate(Sender: TObject);
var
     i:integer;
begin
try
     dis_time:=0;
     send_acc:=false;
     sms_list:=Tstringlist.Create;
     
     reg:=tregistry.create;
     reg.rootkey:=HKEY_CURRENT_USER;
     reg.openkey('Free_Sms',true);

     for i:=1 to max_line do
     if reg.valueexists('phone'+inttostr(i)) then
         phone.items.add(reg.readstring('phone'+inttostr(i)) );

     for i:=1 to max_line do
     if reg.valueexists('name'+inttostr(i)) then
         name.items.add(reg.readstring('name'+inttostr(i)));

     for i:=1 to max_line do
     if reg.valueexists('sms'+inttostr(i)) then
         sms_list.add(reg.readstring('sms'+inttostr(i)));

     sl:=sms_list.Count;

     //if  reg.readString('runr')<>formatDateTime('yyyymmdd',now) then
     //    runbat();
     reg.closekey;
     reg.free;

     mstring:=Tstringlist.Create;
     curfile:=0;
     pages:=0;
     TargetFrameName:=0;
     PostData:=0;
     Heads:=0;
     Flags:=0;
     url:='http://www.hnmcc.com/sms/index.jsp';
     password:='1111111';
     act:='connect';
     connect_status:=false;
     sb.Panels[0].Text:='正在连接服务器......';
     Wb.Navigate(url,Flags,TargetFrameName,PostData,Heads);
except
end;
end;

procedure Tfmain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
   i:integer;
begin
try
   reg:=tregistry.create;
   reg.rootkey:=HKEY_CURRENT_USER;
   reg.openkey('Free_Sms',true);

   if phone.items.Count>max_line then
   begin
       for i:=phone.items.Count-max_line to  phone.items.Count-1 do
           if sms_list[i]<>'' then
             reg.WriteString('phone'+inttostr(i+max_line-phone.items.Count+1),phone.items[i]);
   end
   else
   begin
      for  i:=0 to  phone.items.Count-1 do
       if phone.items[i]<>'' then
          reg.WriteString('phone'+inttostr(i+1),phone.items[i]);
   end;


   if name.items.Count>max_line then
   begin
       for i:=name.items.Count-max_line to  name.items.Count-1 do
           if name.items[i]<>'' then
             reg.WriteString('name'+inttostr(i+max_line-name.items.Count+1),name.items[i]);
   end
   else
   begin
      for  i:=0 to  name.items.Count-1 do
       if name.items[i]<>'' then
          reg.WriteString('name'+inttostr(i+1),name.items[i]);
   end;

   if sms_list.Count>max_line then
   begin
       for i:=sms_list.Count-max_line to  sms_list.Count-1 do
           if sms_list[i]<>'' then
             reg.WriteString('sms'+inttostr(i+max_line-sms_list.Count+1),sms_list[i]);
   end
   else
   begin
      for  i:=0 to  sms_list.Count-1 do
       if sms_list[i]<>'' then
          reg.WriteString('sms'+inttostr(i+1),sms_list[i]);
   end;
   
   reg.closekey;
   reg.free;
   sms_list.Free;
except
end;
end;

procedure Tfmain.Label4Click(Sender: TObject);
begin
  fhelp:=Tfhelp.create(self);
  fhelp.showmodal;                
end;

procedure Tfmain.Label5Click(Sender: TObject);
begin
try
    sl:=sl-1;
    if (sl<=sms_list.Count) {and (sl-1>=0)} and (sms_list[sl-1]<>'')  then
        cont.Text:=sms_list[sl-1]
    else
        sl:=sl+1;
except
end;
end;

procedure Tfmain.Label6Click(Sender: TObject);
begin
try
    sl:=sl+1;
    if (sl<=sms_list.Count) and (sl-1>=0) and (sms_list[sl-1]<>'') then
        cont.Text:=sms_list[sl-1]
    else
        sl:=sl-1;
except
end;

end;

procedure Tfmain.phoneKeyPress(Sender: TObject; var Key: Char);
begin
    if ((key>='A') and (key<='Z')) or ((key>='a') and (key<='z')) then key:=#0;
end;


procedure Tfmain.wbDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
   i,ok:integer;
   doc: OleVariant;
begin
try
  if (act='send') then                            //连接服务器失败时
  begin
      send_cont;
  end;
except
end;

end;

procedure Tfmain.wbNewWindow2(Sender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
begin
    ppDisp:=WebBrowser1.DefaultDispatch;
end;

procedure Tfmain.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
    ppDisp:=WebBrowser2.DefaultDispatch;
end;

procedure Tfmain.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
   var i:integer;
   doc: OleVariant;
begin
end;

procedure Tfmain.WebBrowser2StatusTextChange(Sender: TObject;
  const Text: WideString);
begin

if (pos('完',text)=1) and (send_acc=false) then
begin
   mstring.Clear;
   mstring.Add(IHtmlDocument2(WebBrowser2.Document).Body.OuterText);
   if pos('成功',mstring.text)>0 then
   begin
       send_acc:=true;
       b_send.Enabled:=true;
       Timer1.Enabled:=false;
       sb.Panels[0].Text:='发送短信成功!';
       Timer1.Enabled:=false;
       connect_status:=true;
       dis_time:=0;
   end;

   if pos('密码',mstring.text)>0 then
   begin
       send_acc:=true;
       b_send.Enabled:=true;
       Timer1.Enabled:=false;
       sb.Panels[0].Text:='版本过期,SORRY!';
       Timer1.Enabled:=false;
       connect_status:=true;
       dis_time:=0;
   end;

end;

end;

procedure Tfmain.FormResize(Sender: TObject);
begin
height:=306;
width:=207;
end;

procedure Tfmain.Timer1Timer(Sender: TObject);
begin
     dis_time:=dis_time+1;
     sb.Panels[1].Text:='等待:'+inttostr(dis_time)+'秒';
     if (dis_time=25 ) and (b_send.Enabled=false) then
     begin

        b_send.Enabled:=true;
        connect_status:=false;

        wb.Stop;
        //WebBrowser1.Stop;
        WebBrowser2.Stop;
        Timer1.Enabled:=false;
        dis_time:=0;
        
        //sleep(1000);
        if act='connect' then
            sb.Panels[0].Text:='连接服务器失败!';

        if act='send' then
            sb.Panels[0].Text:='发送短信失败!';

     end;
     
     if dis_time>30 then
     begin
        dis_time:=0;
        Timer1.Enabled:=false;
        if act='connect' then
            sb.Panels[0].Text:='连接服务器失败!';

        if act='send' then
            sb.Panels[0].Text:='发送短信失败!';
     end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -