关于QQ问题的再次问题!!! ( 积分: 100 )

  • 主题发起人 主题发起人 javesun
  • 开始时间 开始时间
J

javesun

Unregistered / Unconfirmed
GUEST, unregistred user!
[blue]<br>听老师们讲了好几节课,终于知道怎么判定QQ登录框的出现,也能通过EnumWindow找到各个<br>按纽了,可是还有一个问题:<br>怎么获取ComboBox框里的内容??因为很多都是以前用过,所以不用再输入QQ号码了。。<br>下面是我通过GetClassName和GetWindowText得到的数据:请大虾指教。<br>(QQ采用的是2005贺岁版--官方的)<br>子句柄 |类别|内容<br>3015542Button软键盘<br>1704744Static注册新号码<br>2556884StaticQQ号码:<br>1770284StaticQQ密码:<br>1246028Static登录模式:<br>1377086ComboBox<br>1377108Edit<br>1246010Edit<br>1377084ComboBox<br>1835806ComboBox<br>1573658Edit<br>1967062Button清除记录<br>2229156Button记住密码<br>1704844Button隐身登录<br>1311586Static申请密码保护<br>1377114Static取回密码<br>3081006Static手机取回密码<br>2032496Static<br>1639168Static申请密码保护<br>2425804Static<br>2294538SysTabControl32Tab1<br>4195046Button登录<br>1704848Button取消<br>1377102Button申请号码<br>1377076Static移动QQ三周年活动<br>1311570Static类型:<br>1770400Static地址:<br>1770234Static用户:<br>1835810Static域(可不填):<br>2818800Static端口:<br>1508286Static密码:<br>1245940ComboBox<br>1704752Edit<br>1180386Edit<br>1704830Edit<br>2360226Edit<br>1245944Edit<br>1639304Edit<br>2097918Button测试<br>1573960Button网络设置<br>1573922Static<br>1770580Static<br>2032838Button高级选项<br>1836074Static设置你需要登录到的服务器的类型:<br>2360526ComboBox<br>1639492Static需要登录的服务器地址:<br>1443150Static端口:<br>5440902Edit<br>4392602ComboBox<br>11076996Edit<br><br>其中ComboBox和Edit无法知道其内容。。<br><br>继续听课。。。。。<br><br>PS:新人,分出100,大家照顾一下,谢谢!<br>[/blue]
 
[blue]<br>听老师们讲了好几节课,终于知道怎么判定QQ登录框的出现,也能通过EnumWindow找到各个<br>按纽了,可是还有一个问题:<br>怎么获取ComboBox框里的内容??因为很多都是以前用过,所以不用再输入QQ号码了。。<br>下面是我通过GetClassName和GetWindowText得到的数据:请大虾指教。<br>(QQ采用的是2005贺岁版--官方的)<br>子句柄 |类别|内容<br>3015542Button软键盘<br>1704744Static注册新号码<br>2556884StaticQQ号码:<br>1770284StaticQQ密码:<br>1246028Static登录模式:<br>1377086ComboBox<br>1377108Edit<br>1246010Edit<br>1377084ComboBox<br>1835806ComboBox<br>1573658Edit<br>1967062Button清除记录<br>2229156Button记住密码<br>1704844Button隐身登录<br>1311586Static申请密码保护<br>1377114Static取回密码<br>3081006Static手机取回密码<br>2032496Static<br>1639168Static申请密码保护<br>2425804Static<br>2294538SysTabControl32Tab1<br>4195046Button登录<br>1704848Button取消<br>1377102Button申请号码<br>1377076Static移动QQ三周年活动<br>1311570Static类型:<br>1770400Static地址:<br>1770234Static用户:<br>1835810Static域(可不填):<br>2818800Static端口:<br>1508286Static密码:<br>1245940ComboBox<br>1704752Edit<br>1180386Edit<br>1704830Edit<br>2360226Edit<br>1245944Edit<br>1639304Edit<br>2097918Button测试<br>1573960Button网络设置<br>1573922Static<br>1770580Static<br>2032838Button高级选项<br>1836074Static设置你需要登录到的服务器的类型:<br>2360526ComboBox<br>1639492Static需要登录的服务器地址:<br>1443150Static端口:<br>5440902Edit<br>4392602ComboBox<br>11076996Edit<br><br>其中ComboBox和Edit无法知道其内容。。<br><br>继续听课。。。。。<br><br>PS:新人,分出100,大家照顾一下,谢谢!<br>[/blue]
 
非敏感的comboBox内的QQ号码或手机号之类的信息可以用消息的方式取得其文本,<br>SendMessage(wnd, WM_GETTEXTLENGTH,0,0);<br>SendMessage(wnd, WM_GETTEXT, 125, LPARAM(@ti));<br>用GetWindowText是不能接收其它应用程序中的控制文本的,API参考中说得明白。<br>至于密码编辑框Edit的内容,后期版本的QQ已经做了处理,屏蔽了外部程序发来的WM_GETTEXT之类的消息,其实原理很简单,网络方面也有很多改造TEDIT类,防止密码框的密码被读取的文章。<br>但可以试一下发送更改风格的消息(不知道会不会连SetWindowLong发的消息也屏蔽了),去除密码框的ES_PASSWORD风格,使密码变成明文,我没试过不知道是否能行,即用SetWindowLong(wnd, GWL_STYLE,...)设置。<br>好像以前听哪个高人说,深入到QQ进程空间,也能把登录框的密码取到。。。不知道是真是假,不过我是没那个能耐。。。。很多盗QQ密码的无聊软件多数是用键盘记录的方式进行的,直接从密码框取密码的现在偶没见过。。。
 
还有,怎么确定是那一个句柄?ComboBox有好多啊。。
 
请问把软件绑到QQ的自定义表情中后,对方接受时软件能否自动运行呢?
 
请看此帖: http://www.delphibbs.com/delphibbs/dispq.asp?lid=3005171<br><br>-----------------------------------<br><br>QQ2004 II 登录窗口结构<br><br> &nbsp;&quot;....&quot; , &quot;#32770&quot;<br> &nbsp; |<br> &nbsp; --&gt; &quot;软键盘&quot; , &quot;Button&quot; &nbsp;, ID: $003E90<br> &nbsp; --&gt; &quot;QQ号码:&quot; , &quot;Static&quot; &nbsp;<br> &nbsp; --&gt; &quot;....&quot; &nbsp;, &quot;ComboBox&quot; , ID: $0008A (QQ号码)<br> &nbsp; --&gt; &quot;....&quot; &nbsp;, &quot;Edit&quot; &nbsp; &nbsp; , ID: $000B4 (QQ密码) <br> &nbsp; --&gt; &quot;....&quot; &nbsp;, &quot;ComboBox&quot; , ID: $03E95 (登录模式)<br> &nbsp; --&gt; &quot;登录&quot; &nbsp;, &quot;Button&quot; &nbsp; , ID: $00001<br><br>GetDlgItem(窗口句柄, $8A) 就可得到ComboBox句柄<br><br>-----------------------------------<br><br>1. 若要得到ComboBox当前文字, WM_GETTEXT就可以取得到 ..<br><br>2. 如果需要枚举列表中各项文字,请使用ComboBox专用消息,<br> &nbsp; 如: CB_GETCOUNT , CB_GETLBTEXTLEN, CB_GETLBTEXT ..<br> &nbsp; 具体用法,请自行查阅 Delphi自带的 Win32 SDK 帮助 ..
 
ID: $003E90 是什么?<br>怎么获取啊?
 
2k/xp的密码策略使只能从本进程wm_gettext到密码<br>可以使用createRemotethred和writememory把代码复制到QQ进程空间运行<br>或者createRemoteThread和loadlibrary进行dll injection后再取密码<br>关于 CreateRemoteThread的用法可以参看这里:<br>http://www.zdnet.com.cn/developer/code/story/0,2000081534,39142983-1,00.htm<br>http://win32.mvps.org/processes/remthread.html<br>注入后send wm_GetText即可
 
我也在做QQ辅助程序<br>我是不能给聊天窗口发消息
 
我用SPY++<br>截了一些图发现 QQ把窗口,RECHEDIT控件子类化了<br>CAPTION,等属性都是空的<br>不好搞<br>用SPY++拿到句柄 ,用sendmessage也发不了消息<br>图在<br>http://fisheryj.ys168.com/ 里的QQ灌水ERR.rar<br>里面
 
是可以的,用此函数取其他程序ComboBox的内容,hComboBox为ComboBox句柄:<br><br>function GetComboBoxList(hComboBox: HWND): string;<br>var<br> &nbsp;CB_Count, CB_TextLen, J: Integer;<br> &nbsp;CB_Text: string;<br>begin<br> &nbsp;Result := '';<br> &nbsp;if (IsWindow(hComboBox) = FALSE) then Exit;<br><br> &nbsp;CB_Count := SendMessage(hComboBox, CB_GETCOUNT, 0, 0);<br> &nbsp;if (CB_Count = CB_ERR) then Exit;<br><br> &nbsp;for J := 0 to CB_Count - 1 do<br> &nbsp;begin<br> &nbsp; &nbsp;CB_TextLen := SendMessage(hComboBox, CB_GETLBTEXTLEN, J, 0);<br> &nbsp; &nbsp;if (CB_TextLen = CB_ERR) then Exit;<br><br> &nbsp; &nbsp;SetLength(CB_Text, CB_TextLen + 1);<br> &nbsp; &nbsp;if CB_ERR = SendMessage(hComboBox, CB_GETLBTEXT, J, Integer(@CB_Text[1])) then Exit;<br><br> &nbsp; &nbsp;Result := Result + #13#10 + string(PChar(CB_Text));<br> &nbsp;end;<br>end;
 
多人接受答案了。
 
后退
顶部