找回密码
 加入
搜索
查看: 1948|回复: 8

关于_StringEncrypt加密问????很急!!

[复制链接]
发表于 2009-9-17 13:42:21 | 显示全部楼层 |阅读模式
本帖最后由 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加密错误了    用相同的方法解密后是乱码啊

有谁知道是出了什么问题啊

急等回复

谢谢
 楼主| 发表于 2009-9-17 19:13:17 | 显示全部楼层
自己顶   

那位大哥帮帮忙啊

我也不知道 哪里错了   怎么加密会错误啊
 楼主| 发表于 2009-9-17 19:27:20 | 显示全部楼层
这个加密  错误   如  我要把123456加密  可是这个加密后成了  1832F9D6B85602E3B4882038
解密后是乱码    )?'H?雒鈨藘献甬&#11538;甬&#1140;


而  正确的RC4加密123456后是  18FA48177BE5C220743DE9F8      



高手帮帮我啊
我真的 的 不知道哪里错了
能力有限  不知道   
高手   指点下吧
 楼主| 发表于 2009-9-17 21:25:37 | 显示全部楼层
我还是没搞明白  怎么我用_StringEncrypt  这个函数 加密的时候出现乱码

我现在换了个加密函数  一切正常了     


那位高手  可以解释下吗     _StringEncrypt这个函数我用错了吗
发表于 2009-9-17 21:44:16 | 显示全部楼层
貌似不能用来着,用别的吧
发表于 2009-9-17 22:08:35 | 显示全部楼层
http://www.autoitx.com/forum.php ... id=7644076#pid86606

换个udf,不要#Include <String.au3>
发表于 2009-9-17 22:10:23 | 显示全部楼层
_StringEncrypt
--------------------------------------------------------------------------------

一个基于 RC4 字符串加密的函数.


#Include <String.au3>
_StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword[, $i_EncryptLevel = 1])




参数

$i_Encrypt 1 为加密, 0 为解密.
$s_EncryptText 要加密/解密的文本.
$s_EncryptPassword 加密/解密使用的密码.
$i_EncryptLevel [可选参数]加密解密等级. 默认(Default) = 1



返回值

成功 返回加密/解密后的字符串.
失败 返回空白字符串并设置 @error = 1



注意/说明

警告: 这个函数会随着加密等级的提高,返回的字符串长度越长!



嘿嘿,多搜索吧
 楼主| 发表于 2009-9-18 11:56:41 | 显示全部楼层
谢谢了  
发表于 2009-11-10 16:39:05 | 显示全部楼层
我解密的时候是问号
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 15:17 , Processed in 0.081944 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表