如何在vbScript中加扰函数名称[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在vbScript中加扰函数名称[关闭]相关的知识,希望对你有一定的参考价值。
我想在定义函数时隐藏源代码中的函数名称。我已经测试了下面的逻辑,将名称分成两部分但不起作用:
function convertName(x)
convertName= x & "tion"
end function
function convertName("myFunc")(text)
convertName("myFunc")= text
end function
response.write myFunction("test")
还有另一种方法可以扰乱功能名称吗?
答案
阅读OP问题评论我确信这不是OP需要的(Ansgar Wiechers是完全正确的,这只会使代码变得模糊,但根本不提供任何安全性),但它是如何处理已经存在的一种方式的示例请求。
为了防止有人发现它有用,基本的想法是
Sub scrambledName( data )
WScript.Echo data
End Sub
Set originalName = GetRef("scrambledName")
originalName "this is a test"
也就是说,我们使用带有原始名称的变量来保存对加扰名称后面的代码的引用。
作为样本:
Option Explicit
' Scrambled named code
'------------------------------------------------------------------------------
Sub Sbesttu29348( inputText )
WScript.Echo "data=" & inputText
End Sub
Function Fceinnostttu6953( a, b, c)
Fceinnostttu6953 = a + b + c
End Function
'------------------------------------------------------------------------------
' Map original names to scrambled ones
prepareFunctions Array( "testSub", "testFunction" )
' Call functions using original names
testSub "this is a test"
WScript.Echo testFunction(1, 2, 3)
'Scramble handling code
'------------------------------------------------------------------------------
' Function used to find a scrambled name for the original function
' This simply concatenates input text sorted characters with a simple hash
Function scramble( inputText )
Dim a(256), i, s, h
For i = 1 To LenB( inputText )
s = AscB(MidB(inputText, i, 1))
If s > 0 Then a(s) = a(s) & Chr(s)
h = ((h2)Xor(((h And 1)*65535)And&hffff))+s
Next
scramble = Trim(Join(a,"")) & h
End Function
' Map original names to scrambled names
' It just defines new variables for the original names pointing to the scrambled names
Sub prepareFunctions( aFunctions )
Dim f, s
For Each f in aFunctions
s = s & "Set " & f & "=GetRef(""" & scramble(f) & """)" & vbCrLf
Next
ExecuteGlobal s
End Sub
'------------------------------------------------------------------------------
以上是关于如何在vbScript中加扰函数名称[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Thinkphp3.2关闭调试模式以后第二次打开页面就会出现报错,请问一般问题在哪里?怎么解决?