房友软件注册码暴力输入程序

哥的电脑被盗,房友软件需要重新安装,一如既往的安装发现:

神奇的房友软件在使用IP地址访问的时候,需要输入一个啥注册码,

神奇的注册码正好只是6位数字,我费力的写了一个自动输入软件并在2个小时就完成注册,

突然发现使用机器名登陆,根本不用注册码,

我心都悔足了,算了,就当我重新学习windows的消息机制吧.

 

var

  windowsHandle,errDlghandle  : integer;

 

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  hd2,hdtext,hdbutton : integer;
//窗口句柄,         注册码 确定按钮
  ii,k,j : integer;
  tmpstr : string;
  dt : tdatetime;

  function   callbackproc(H:HWnd;lparam:longint):Boolean;stdcall;
  var
      str:array   [1..255]   of   char;
      ii : integer;
  begin
    getclassname(h,@str,255);
    if   (strpas(@str)='#32770') and (GetWindow(h, GW_OWNER)=windowsHandle )   then  

    begin
      errDlgHandle := h;
      result:=false;
      exit;
    end;
    result:=true;
  end;
begin
  windowsHandle := findwindow(nil,'验证码验证');
  //找框架
  j := findwindowex(windowsHandle,0,'ThunderRT6Frame',nil);
  //找机器码
  k := findwindowex(j,0,'ThunderRT6TextBox',nil);
  //找到目标控件
  hdtext := getwindow(k,GW_HWNDNEXT);
  //查找确定按钮
  hdbutton := findwindowex(windowsHandle,0,'ThunderRT6CommandButton','确定');
  if windowsHandle <= 0 then exit;
  for ii := 120263 to 999999 do
  begin
    tmpstr := '';
    if ii > 99999 then tmpstr := inttostr(ii)
    else if ii < 10 then tmpstr := '00000' + inttostr(ii)
    else if ii < 100 then tmpstr := '0000' + inttostr(ii)
    else if ii < 1000 then tmpstr := '000' + inttostr(ii)
    else if ii < 10000 then tmpstr := '00' + inttostr(ii)
    else if ii < 100000 then tmpstr := '0' + inttostr(ii);
    //输入验证码
    self.Caption := '输入验证码' +tmpstr;
    //设置文本
    sendmessage(hdtext,WM_SETTEXT,256,integer(tmpstr));
    //按下确定按钮
    postmessage(hdbutton,bm_click,0,0);
    //查找错误对话框  errDlghandle
    errDlghandle := 0;
    Enumwindows(@callbackproc,0);
    while errDlghandle = 0 do
    begin
      form1.Memo1.Lines.add('请检查是否注册码就是:' + tmpstr + '(如果不是,请手动点击确定按钮)');
      application.ProcessMessages;
      Enumwindows(@callbackproc,0);
      postmessage(hdbutton,bm_click,0,0);
    end;
    //关闭错误对话框
    sendmessage(errDlghandle,WM_CLOSE,0,0);
  end;

end;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值