本帖最后由 pwover 于 2009-9-18 11:57 编辑
#include <File.au3>
#include <string.au3>
#include <Process.au3>
#include "qqpswd.au3"
Opt("SendCapslockMode",0)
$title = "QQ用户登录"
If WinExists("QQ用户登录") Then
$qqpath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQ", "install")
Else
$qqpath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQ2009", "Install")
EndIf
If Not FileExists('qq.ini') Then
IniWrite("qq.ini", "setup", "qq", '')
IniWrite("qq.ini", "setup", "qqpath", $qqpath)
EndIf
$qqpath = IniRead('qq.ini', "setup", "qqpath", "0")
$qqhm = IniRead('qq.ini', "setup", "qq", "0")
If $qqhm = '0' Or $qqhm = '' Then
$qqhm = InputBox("QQ登录器", "请输入QQ号码:", "", "", "125", "125", "-1", "-1")
$qqmm = InputBox("QQ登录器", "请输入QQ密码:", "", "*", "125", "125", "-1", "-1")
$qqmm = _StringEncrypt(1, $qqmm, "107")
IniWrite("qq.ini", "setup", "qq", $qqhm)
IniWrite("qq.ini", $qqhm, "qqmm", $qqmm)
EndIf
$hm_n = StringSplit($qqhm, ",")
For $i = 1 To $hm_n[0]
If $hm_n[0] > 1 And $i > 1 Then
If MsgBox(4, "注意:", "您设置了多个QQ号码,是否继续登录QQ号:" & $hm_n[$i]) <> 6 Then Exit
EndIf
$qqhm = $hm_n[$i]
$qqmm = IniRead('qq.ini', $qqhm, 'qqmm', '0')
If $qqmm = '0' Or $qqmm = '' Then
$qqmm = InputBox($qqhm, "请输入QQ密码:" & '(' & $qqhm & ')', "", "*", "125", "125", "-1", "-1")
$qqmm = _StringEncrypt(1, $qqmm, "107")
IniWrite("qq.ini", $qqhm, "qqmm", $qqmm)
EndIf
$qqmm = _StringEncrypt(0, $qqmm, "107")
If Not FileExists($qqpath) Then $qqpth = findqq(@DesktopDir)
If Not FileExists($qqpath) Then $qqpth = findqq(@DesktopCommonDir)
If Not FileExists($qqpath) Then
MsgBox(0, '错误!', '请检查QQ.INI文件qqpath=' & $qqpath & @LF & '这一行QQ.EXE文件的路径设置是否正确!')
Exit
EndIf
If WinExists("QQ用户登录") Then
Run($qqpath & "qq.exe"" /START QQUIN:" & $qqhm & " PWDHASH:" & Str2QQPwdHash($qqmm) & " /START:40")
If WinWaitActive("请选择上网环境", '', 3) Then
ControlClick("请选择上网环境", '', "Button3")
ControlClick("请选择上网环境", '', "[text:确定]")
EndIf
Else
Run($qqpath & "\bin\QQ.exe")
WinWait("QQ2009")
WinWaitActive("QQ2009")
$XY = WinGetPos("QQ2009")
MouseClick("left", $XY[0] + 215, $XY[1] + 123)
Send($qqhm, 1)
MouseClick("left", $XY[0] + 230, $XY[1] + 154)
Send("{BS 18}")
Send($qqmm, 1)
MouseClick("left", $XY[0] + 230, $XY[1] + 154)
Send("{enter}")
EndIf
Next
;****************读取桌面快捷方式*******************ControlSend ( "QQ2009", 31928640, $qqhm [, 1] )
Func findqq($path)
$FileList = _FileListToArray($path, "*.lnk", 1)
If @error = 1 Then Return "err"
For $i = 1 To UBound($FileList) - 1
FileCopy($path & "\" & $FileList[$i], @TempDir & "\~qq.lnk")
$link = FileGetShortcut(@TempDir & "\~qq.lnk")
If @error Then Return "err"
If StringInStr($link[0], "qq.exe") Then Return $link[0]
FileDelete(@TempDir & "\~qq.lnk")
Next
Return "err"
EndFunc ;==>findqq
以上这段代码没错啊 可是就是加密的时候RC4加密错误了 用相同的方法解密后是乱码啊
有谁知道是出了什么问题啊
急等回复
谢谢 |