回 帖 发 新 帖 刷新版面

主题:[原创]发一个asp代码加密工具【附源码】

asp源文件:
[code=c]
<html>
<head>
    <title>IIS测试页面</title>
</head>
<body>
普通HTML页面
<br>
<%
    response.write "ASP 页面"
%>
<hr>
<a href="test.asp?var1=a/b/c">参数传递测试</a>
<hr>
<%
    if request("var1")<>"" then 
        call response.write ("var1=" & request("var1") & "<br>")
    end if
%>
</body>
</html>
[/code]

加密后的文件
[code=c]
<%
'本代码由 AspDecoder V0.1 创建
'创建时间:2010-6-3 15:22:07
'联系信息:QQ:135004119 Mail:jiashie@126.com
'请勿修改下列任何代码,以保证程序正常运行

On Error Resume Next
Set myAsp = Server.CreateObject("AspDecoder.CAspDecoder")
If Not IsObject(myAsp) Then Response.Write "<script language='javascript'>document.write(unescape('%3CDIV%20style%3D%27FONT-SIZE%3A%2012px%3B%27%3E%3CH1%3E%3CFONT%20style%3D%27FONT-SIZE%3A16px%3B%20COLOR%3A%23ff3300%27%3E%u64CD%u4F5C%u5BF9%u8C61%u65E0%u6548%20-%20%u9519%u8BEF%20101%3C/FONT%3E%3C/H1%3E%u60A8%u6CA1%u6709%20AspDecoder.CAspDecoder%20%u5BF9%u8C61%u7684%u64CD%u4F5C%u6743%u9650%u6216%u8BE5%u5BF9%u8C61%u4E0D%u5B58%u5728%2C%u8BF7%u8054%u7CFB%u670D%u52A1%u5668%u7BA1%u7406%u5458%u3002%3C/DIV%3E'))</script>": Response.End 
call myasp.AppendCode("VMn0hCc+JWu8gMBnFJ4TImq8jMr0hMA+YArZyaRQ1TQfc+E8R3XvjMdrVm0QVI9uFCLqVm0QVMPbFNq+JWxM1i2uYLXTZTQfc+ETIpdoip4TIpcrJWuPisBfiM9ai2Aaj3PvjMAmOqLZAIJYy8VsOm0QPZ4TIpduip4TIpdnOMneFCE9OtXri3WaEDTcV3FnipK9EY9oR2SoVxRUeb20w7DjyaRQ1JcbEZ4TIpduip4TIpcrJWuPgCEmisBdjCBfjImojsLeSYOvVJ4oOoH0gMBaOG0QIWrpECdyONPri3HbhtTrRtjegDXrOImojsLeSZ0oOIEmisBdjCBfjImojsLeSYOvOIEmOpdoip4oQW0QICBaFIHvFm0QPZ4TIpcbEs9qkZ4TIpcbgNXzhJ4G",6)
myAsp.Run()
Set myAsp = Nothing
%>
[/code]

注意在运行加密后的asp文件时,需要注册aspDecoder.dll控件。

回复列表 (共4个回复)

沙发

个人觉得,思想非常好,但用途却不大

当初我想写个DLL放在服务器上跑,老大都不同意,担心一不小心造成服务器额外的漏洞
更别说第三方写的DLL,虽说有源码,但还是会担心造成服务器不必要的隐患:)

板凳

呵呵,确实。一般的网站服务器上是不允许这些自己编写的第三方组件的。
不过,公司自己租的独立的服务器上有完全的操作权限,所以才整了个这么个玩意。

3 楼

个人觉得意义不大,如果别人拿的到你的asp文件,同样能拿到你的dll文件.直接调用你的dll解密就是l
而且BASE64不是一个加密算法,仅仅是一个编码算法,把任意数据编码成可显示的字符串.

4 楼

dll中本来是没有提供Decode的,本来是private的。只是发在这里的时候才改成了public。正式放到服务器上的dll中就不会有decode接口了。本来做这个的目的只是:不让别人直接看到asp代码就行了。(没办法,老板认为asp代码比较金贵,呵呵)
另外,使用base64只是为了使asp代码中的中文等非英文字符都变成标准集的字符,便于下一步的处理,仅此而已。

我来回复

您尚未登录,请登录后再回复。点此登录或注册