xwei21 发表于 2018-5-28 07:36:17

【已解决】javascript代码执行的问题,求高手协助

本帖最后由 xwei21 于 2018-5-28 13:36 编辑

<script type="text/javascript">
function hash33(t){
for(var e=0,i=0,n=t.length;i<n;++i)
e+=(e<<5)+t.charCodeAt(i);
return 2147483647&e;
}
</script>

上面是javascript代码,我用ObjCreate("MSScriptControl.ScriptControl")在x86模式下au3可以执行代码,但是用AuMFCompiler生成exe后就不执行javascript代码了,大哥些帮帮忙。还有上面的javascript代码转换成au3代码是什么呢?谢谢!

Bone 发表于 2018-5-28 08:23:11

贴代码出来看看

xwei21 发表于 2018-5-28 10:17:39

MsgBox(0,"",Encodeqrsig("g4Ub3VdZ4tu4o6kS4*XSbMfRpah*c0VZgUz2djfT1If6zEFzDyFltWN65Zv8cSeD"))

Func Encodeqrsig($t)
      Local $nJS = ObjCreate("MSScriptControl.ScriptControl")
      $nJS.language = "JavaScript"
      $nJS.addcode('function hash33(t){ for(var e=0,i=0,n=t.length;i<n;++i) e+=(e<<5)+t.charCodeAt(i); return 2147483647&e; }')
        $nReg = $nJS.eval('hash33("'&$t&'")')
        Return $nReg
EndFunc

请帮我看看是什么原因用AuMFCompiler生成exe后就不执行javascript代码了

afan 发表于 2018-5-28 11:03:13

回复 3# xwei21


    AuMFC标准版编译后的确有这问题(专业版正常),不过标准版早已不再更新

xwei21 发表于 2018-5-28 11:15:38

AuMFC专业版还能买吗?或者大哥些帮我把javascript代码转成au3代码吧,谢谢!

afan 发表于 2018-5-28 12:00:36

AuMFC专业版还能买吗?或者大哥些帮我把javascript代码转成au3代码吧,谢谢!
xwei21 发表于 2018-5-28 11:15 http://www.autoit3.cn/images/common/back.gif


    使用频率不高没必要买。
以下代码自行测试下
MsgBox(0, '', _hash('g4Ub3VdZ4tu4o6kS4*XSbMfRpah*c0VZgUz2djfT1If6zEFzDyFltWN65Zv8cSeD'))
Func _hash($st)
        Local $ii, $val
        For $ii = 0 To StringLen($st) - 1
                $val += BitShift($val, -5) + AscW(StringMid($st, $ii + 1, 1))
        Next
        Return BitAND(2147483647, $val)
EndFunc   ;==>_hash

xwei21 发表于 2018-5-28 13:35:09

谢谢,代码我稍作休整,测试ok
MsgBox(0, '', _hash('g4Ub3VdZ4tu4o6kS4*XSbMfRpah*c0VZgUz2djfT1If6zEFzDyFltWN65Zv8cSeD'))

Func _hash($st)

      Local $val=0

      For $ii = 0 To StringLen($st)

               $val += BitShift($val, -5) + AscW(StringMid($st, $ii, 1))

      Next

      Return BitAND(2147483647, $val)

EndFunc   ;==>_hash
页: [1]
查看完整版本: 【已解决】javascript代码执行的问题,求高手协助