republican 发表于 2010-9-22 13:35:19

ACN_HASH.au3 中的Base64加解密应该阻止在64Bit的系统上使用。

64Bit系统下(08 R2), ACN_HASH.au3 的 Base64加解密 所调用的 "CallWindowProc" 将使程序崩溃,所以在此建议再增加对@OSArch的判断。

If @AutoItX64 or@OSArch="x64" Then
        MsgBox(32,"ACN_HASH","此加密函数不能用于64位AutoIt版本,请编译为32位版本.",5)
        Exit
EndIf


thesnow 发表于 2010-9-22 16:55:22

1.编译为32位的程序在64位上可运行.
2.本身我加得有:
Global $_MD5CodeBuffer='',$_SHA1CodeBuffer='',$CodeBuffer
If @AutoItX64 Then
        MsgBox(32,"ACN_HASH","此加密函数不能用于64位AutoIt版本,请编译为32位版本.",5)
        Exit
EndIf
3.不会修正.

republican 发表于 2010-9-22 17:49:09

本帖最后由 republican 于 2010-9-22 17:57 编辑

回复 2# thesnow
请注意截图第二行,已经使用X86模式了,一样崩溃,并不存在32位编译可在64位使用的情况。

过程演示:





另:
此贴函数可在64bit,X64编译模式下正常执行:
http://www.autoitscript.com/forum/index.php?showtopic=81332&st=0&p=584248&hl=_Base64Decode&fromsearch=1&#entry584248

rolaka 发表于 2010-9-27 20:35:17


#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_Fileversion=0.0.0.0
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include "ACN_HASH.au3"

$Encrypt = _Base64Encode("The quick brown fox jumps over the lazy dog")
MsgBox(0, '', $Encrypt)

$Decrypt = _Base64Decode($Encrypt)
MsgBox(0, '', $Decrypt)

MsgBox(0, '', BinaryToString($Decrypt))

win7x64正常...

ilvjyw 发表于 2014-10-4 10:52:41

今天用这个死机了瞬间 90%占用看到这个说明 才知道原因{:face (229):}

jiexunpc 发表于 2015-11-5 17:11:27

#AutoIt3Wrapper_UseX64=n
第一行加上这个就可以了,不使用X64

htmgyv 发表于 2016-5-18 14:45:45

学   习啦!!!!
页: [1]
查看完整版本: ACN_HASH.au3 中的Base64加解密应该阻止在64Bit的系统上使用。