问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么在asx文本文件里调用方法(加密方法)

发布网友 发布时间:2022-05-01 04:36

我来回答

2个回答

热心网友 时间:2022-06-24 12:08

保护ASP脚本的源代码

  Active Server Page(简称ASP)技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效率。但由于ASP脚本是采用明文(Plain Text)方式来编写的,所以应用开发商辛辛苦苦开发出来的ASP应用程序,一旦发布到运行环境中去后,就很难确保这些“源代码”不会被有意或无意地“流传”出去,无法实现对知识产权的保障。这样就产生了如何有效地保护开发出来的ASP脚本源代码的需求。本文将就如何有效地保护开发出来的ASP脚本的源代码的思路和方法进行了基本的分析和展示。

  ■ASP的运行机制■

  我们先来分析一下ASP的运行机制:首先,ASP脚本是一系列按特定语法(目前支持VBScript和Jscript两种脚本语言)编写的、与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用Web浏览器通过Internet/Intranet来访问基于ASP脚本的应用时,Web浏览器将向Web服务器发出HTTP/HTTPS请求。Web服务器分析、判断出该请求是ASP脚本的应用后,自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的内容,通过Web服务器“原路”返回给Web浏览器,由Web浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。

  ■思路与方法■

  根据ASP脚本的原理,我们就可以提出以下几种保护ASP脚本源代码的思路:

  1)“脚本最小化”:即ASP文件中只编写尽可能少的源代码,实现商业逻辑的脚本部分被封装到一个COM/DCOM组件,并在ASP脚本中创建该组件,进而调用相应的方法(Method)即可。应用开发者在动手开发ASP脚本应用之前就可按此思路来开发,或直接用ASP脚本快速开发出原型系统后,针对需要保护、加密的重要的部分脚本用COM/DCOM组件来重新开发、实现并替换。

  2)“脚本加密”:即ASP脚本仍直接按源代码方式进行开发,但在发布到运行环境之前将脚本进行加密处理,只把加密后的密文脚本发布出去。要实现这种方法,就要在ASP.DLL读取脚本这个环节加入密文还原的处理。

  实现这种思路的方法主要有两种:方法一是自行开发一个ISAPI的IIS过滤(Filter)模块,在ASP.DLL之前钩连(Hook)对ASP脚本文件的读取,以便把从文件系统读出的密文还原成ASP.DLL可以解释的明文;方法二就是直接由ASP.DLL提供对ASP脚本加密处理的支持。微软在新版本的VBScript.DLL和JScript.DLL中提供这种称为Microsoft Script Encode技术的支持。这样,无论是客户端的VBScript或Jscript(包括WSH脚本等),还是服务器端的VBScript或Jscript(即ASP脚本)都可以支持加密处理。

  Microsoft Script Encode技术具体的实现思路包括以下两个方面:一是加密过程,通过提供一个实用程序对包含ASP脚本源代码的文本文件进行扫描,找出其中标记为“〈SCRIPT LANGUAGE=″VBScript″〉”或“〈SCRIPT LANGUAGE=″JScript″〉”的脚本部分,进行加密处理并替换为密文后,将该标志相应地改为“〈SCRIPT LANGUAGE=″VBScript.Encode″〉”或“〈SCRIPT LANGUAGE=″JScript.Encode″〉”;二是还原过程,IE浏览器或ASP.DLL等执行脚本时是统一通过VBScript.DLL或JScript.DLL来进行解释执行的,所以它们都能同时地、透明地支持明文和密文的脚本!

  总之,如果采用第一种思路,要么就自行在开发过程中遵照进行,要么可以考虑选择自动转换成Visual Basic编译代码的通用的、实用工具;采用第二种思路的话,要么就自行开发IIS ISAPI过滤模块,要么可以考虑直接采用Microsoft Script Encoder软件。

  ■实例■

  从微软公司站点免费下载到sce10en.exe(英文版)或sce10chs.exe(简体中文版)之后,直接运行之即可完成安装过程。安装完毕之后,将生成一个screnc.exe可执行文件,这是一个运行在DOS Prompt的命令行工具。

  假设我们现在有如下的一个ASP脚本文件要进行加密:

  我们可以在DOS Prompt下运行screnc-l vbscript aa.asp bb.asp〈Enter〉来生成包含密文ASP脚本的新文件bb.asp,其中的运行参数-l vbscript是用来显式指明是VBScript语法。

  加密后的结果如下:

  这里大家可能已经注意到了,所有的英文字符,只要是在“〈%”和“%〉”之内的,不管是否是注解,都变成了不可阅读的密文了,但中文却没有进行变换?!不过,这一点对其可用性来说应该还是可以接受的。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 目前,ASP(Acive Server Pages)技术已风靡全球,在Internet上几乎处处都能看到它的身影。它给开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。应用这种技术,不需要进行复杂的编程,就可以开发出专业的动态Web网站。凡事有利必有弊,由于由于ASP脚本是采用明文(plain text)方式来编写出来的,所以开发人员辛辛苦苦开发出来的ASP应用程序,一旦发布到运行环境中去或交付用户使用后,就很难保证这些“源代码”不会被流传出去。我们如何能保护我们开发出的ASP源代码呢?

  在这里我们采用微软提供的一个加密脚本的程序:SCRENC.EXE,这个程序可以在笔者网站( http://www.zhengwei.net)上下载。这是一个运行在DOS PROMAPT的命令工具,它使脚本设计者可以对最终的脚本进行编码,从而使 Web 主机和 Web 客户不能查看或修改它们的源代码。不过有一点需要注意的是加密后的程序要求用户的游览器必须使用Internet Explorer 5.0以上的版本。加完密后的脚本变成类似于如下的内容:

  

  脚本加密程序只对脚本代码进行加密,文件的其他内容不动且以普通文本形式显示。要使用脚本加密程序,以通常方法对文本进行开发和调试,然后使用该实用程序对最终的脚本进行加密。 脚本加密程序在源代码中使用标记来标识加密开始的位置。

  对于 Visual Basic Scripting Edition (VBScript),如下示例显示了如何使用编码标记来显示普通文本的版权信息:

  

  在 JScript 中,加密标记如下:

  

  当脚本加密程序被调用时,在开始标记前,脚本块内的内容保持不变,而其他内容被加密。因此,如果开始标记被省略,则脚本编码块内的所有内容均被加密,但如果开始标记在脚本加密块的最后,则不对任何内容进行加密。

  在编码发生后。您应该知道 标记或 标记内包含有效的 HTML 和内嵌脚本块。使用该格式的应用程序包括 Microsoft? Internet Information Services (IIS)。识别文件扩展名有 .asp、.asa 和 .cdx。

   HTML。该格式由一个包含有效的 HTML 和内嵌脚本块的文本文件组成。使用该脚本格式编写的应用程序包括 Microsoft FrontPage?, Microsoft? Visual InterDev? 和所有虚拟的 Web 设计器及浏览器。识别文件扩展名有 .htm 和 .html。

   普通文本。该格式由只包含脚本而无两端标记的文本文件组成。使用该脚本格式编写的应用程序包括 Windows? Scripting Host (WSH) 和 Microsoft? Outlook?。 识别文件扩展名有 .js 和 .vbs,经加密后,分别变为 .jse 和 .vbe。

   脚本小程序。该格式由一个在 标记中包含有效脚本小程序的文本文件组成。识别文件扩展名有 .sct 和 .wsh。

  示例

   如下是使用脚本加密程序的一个例子以及对其结果的简单解释:

   对输入文件 test.html 进行加密,生成输出文件 encode.html,使用:

    screnc test.html encode.html

   对输入文件 test.htm 进行加密,并用编码后的输出文件覆盖输入文件,使用:

    screnc /f test.htm

   对当前目录中的所有 .ASP 文件进行加密,并把编码后的输出文件放在c:\temp中,使用:

    screnc *.asp c:\temp

   对当前目录中的所有 .ASP 文件进行加密,并把编码后的输出文件放在c:\temp中,使用:

    screnc /e asp *.* c:\temp

   对输入文件 test.htm 进行加密,并生成输出文件 encode.htm,确保没有指定语言属性的脚本块使用 VBScript,使用:

    screnc /l vbscript test.htm encode.htm

   对当前目录中的所有脚本小程序文件进行加密,并不经信息显示就用编码后的文件覆盖这些文件,使用:
    
    screnc /s /f *.sct

  要点 :经过编码后,如果您改动加密后的文本,哪怕只改动一个字。脚本的完整性就会丢失,从而不能再使用。

热心网友 时间:2022-06-24 12:09

怎样才能避免容易死机
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
二楼改水管三楼要改吗-二楼改水管导致三楼反水谁负责 ...就单立把厨房的下水道改道了,现在变三楼地漏反水了,求解决_百度知 ... ...晚上到上海,走走外滩,逛逛南京路,第二天到欢乐谷。请问外 我们准备到上海欢乐谷玩,顺便游玩下上海其他地方,3天左右的时间,求旅游... 贺姓属龙男孩最吉利的名字 贺姓男孩名字2024年9月怎么取 贺姓男孩名字2022年12月怎么取 老公姓贺我姓钟怎么取名字 拔开踏板车电热加浓导线的插接头,堵塞启动加浓油道,会有什么问题 老公与其它女人搞暧昧被发现后老婆将其女电话号码放抖音平台违法嘛? 为什么使用SCRENC对ASP页面加密,总提示我SCRENC不是内部函数 如何使用“script encoder”加密ASP文件?详细方法是什么? screnc 加密出问题,出现:073521f38 指令引用的“0 00000000”该内存不能为 "written" .请个各位大侠帮帮 绘制家庭火灾疏散逃生线路图(要图) 请问:某只股票的限售流通股解禁是利多还是利空? ps打开文件后 工作区没有图片 图层那边有显示 公司辞退员工和员工主动辞职的区别 我ps软件怎么没有工作路径 开除,辞退,辞职,离职有什么区别? Ps不知道按了什么,工作区都不见了 公司辞退你和自己辞职有什么区别? 怎样连接蓝牙立体音响到电脑? photoshop CS3 打开图片以后工作区图片不显示只显示预览图,没法操作。 辞退和离职有哪些区别? PS CS3不显示工作区怎么办? 辞退跟辞职什么区别 Photoshop工作区面板不见了怎么办 辞职与辞退的区别 请教,我安装PS CC 2017后没有开始工作区 photoshop下载打开后没有工作区域是什么原因 如何生成vbe文件? VBE 和 VBS 有什么区别? screnc.exe/ScriptEncoder到底有没用?到有没什么实际意义? Java 怎样实现“登录后台管理系统,所有对后台管理的操作,必须先登录才行”。 前锋单刀回传给处于越位位置的队友算越位吗 在越位位置上回传球算不算越位? 球员二打一面对门将,球员回传接球队员越位吗? 网站后台管理系统登录后台后出现这样的情况是怎么回事? 如果我过完了对方所有的队员 我回传给另一位在我身后的队友 (他越过了对方所有后卫) 这个算越位么 自己回传球失误被在自己身后的对方球员抓住机会进球算越位吗(回传的球员是最后一名球员在后面就是门将) 在对方禁区回传球越位吗? 一键报警后台管理系统怎么登陆 队员突破后面对守门员回传给给刚才越位位置的队员算越位吗 EXCEL单元格或单元格乘以固定单元格 《公司工资系统的设计》后台系统登录功能是在哪实现的? 足球传球给守门员后面防守球员前面的队友算越位吗 EXCEL什么函数可以用“复制/粘贴”使一列纵向单元格乘以固定单元格 越位队员接后卫回传球是否越位 如果前锋一直在越位的位置上,但是后卫回传的时候鬼使神差的把球传给了他,那么算越位不? 对手乌龙回传传给越位位置的本方球员,算不算越位