当前位置: 首页 > news >正文

网站优化平台石家庄建设工程信息网站

网站优化平台,石家庄建设工程信息网站,北京网站建设方案系统,西安网站建设易网宣目前对ASP程序的加密方法主要有三种#xff1a;脚本编码器(SRCENC.EXE)加密、组件加密、自编程序加密#xff0c;下面我们就来展开介绍这三种加密方法…… 如今#xff0c;用ASP技术构建的网站随处可见。由于ASP脚本是在服务器上解释执行的(无法编译)#xff0c;因此你辛苦… 目前对ASP程序的加密方法主要有三种脚本编码器(SRCENC.EXE)加密、组件加密、自编程序加密下面我们就来展开介绍这三种加密方法……   如今用ASP技术构建的网站随处可见。由于ASP脚本是在服务器上解释执行的(无法编译)因此你辛苦开发出来的ASP代码很容易被人拷去任意修改如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题网上求解这类问题的帖子非常多下面我们就来谈谈ASP程序的加密方法。   一、如何加密ASP程序?   目前对ASP程序的加密方法主要有三种脚本编码器(SRCENC.EXE)加密、组件加密、自编程序加密下面我们就来展开介绍这三种加密方法。   1、使用微软的MS Script Encode进行加密   微软提供了脚本编码器MS Script Encode(下载地址http://www.itgene.cn/itgene/download/download.aspID232)可以对ASP程序进行加密。这是一个简单的命令行工具其执行文件是SRCENC.EXE需要在DOS下运行。它只加密页面中嵌入的脚本代码把网页中之间的ASP代码转换成不可读的乱码其他部分则保持原样不变。加密后的程序必须使用Internet Explorer 5.0以上版本才能正常浏览。   用SRCENC加密之后文件中被加密过的部分将变成只读类型假如你修改了加密部分(哪怕只改动一个字)就会导致整个文件不能使用。对于 VBScript加密后在源文件的第一行会显示SCRIPT LANGUAGEVBScript.Encode而JScript或 JavaScript则会显示SCRIPT LANGUAGEJScript.Encode   (1)加密方法   单击“开始”/程序/附件/命令提示符在MS-DOS 命令行中输入以下命令即可对某个asp文件加密 SRCENC  [switches]  要加密asp文件名  加密后的文件名   其中[switches]项目可以选以下5个参数   [switches] 含义 举例   /s 可选。命令中带了该参数加密过程中屏幕上就不会有输出。 screnc /s lacl.sct ulacl.sct   对当前目录中的脚本小程序lacl.sct加密加密过程中屏幕不显示任何信息   /f 可选。指定输出文件是否覆盖同名输入文件。忽略将不执行覆盖。 screnc /f lacl.asp   对文件 lacl.asp加密并用编码后的同名文件覆盖原文件   /xl 可选。是否在.asp文件的顶部添加Language指令。忽略将添加。   /l defLanguage 可选。指定Script Encoder加密中选择的缺省脚本语言。文件中不包含这种脚本语言特性的脚本将被Script Encoder 忽略。   对于HTML文件JScript为内置缺省脚本语言;对于ASP文件VBScript为缺省脚本语言;对于扩展名为.vbs或.js的文件Script Encoder也有自适应能力。 screnc /l vbscript lacl.htm ulacl.htm   对文件 lacl.htm加密并生成输出文件 ulacl.htm确保没有指定语言属性的脚本块使用 VBScript   /e defExtension 可选。指定待加密文件的文件扩展名。缺省状态下Script Encoder能识别asa,asp,cdx,htm,html,js,sct和vbs文件。 screnc /e asp 11\*.* f:\labxw-jm   对11目录中的所有.ASP 文件进行加密并把编码后的输出文件放在f:\labxw-jm目录中   (2)操作举例   例如要加密当前目录中的lacl.asp文件生成加密文件ulacl.asp则在DOS下输入命令   screnc lacl.asp ulacl.asp   对当前目录中的所有 .ASP 文件进行加密并把编码后的输出文件放在f:\labxw中则使用命令   screnc *.asp f:\labxw   2、使用组件加密asp   以上被screnc加密过的程序是可以解密的(解密方法下文有介绍)如果你想彻底保护自己的asp代码可以通过开发activex dll组件的方法进行保护。   Dll文件是被编译过的机器代码如果没有源项目文件是不可能被反编译的所以组件加密这种方法最安全也不可能被破解。下面我们来举例说明操作过程例如你要保护以下asp代码 以下是引用片段   set rsserver.createobject(adodb.recordset)    sqlselect * from gq where xs1 order by date asc    rs.open sql,conn,1,1    if rs.eof and rs.bof then    response.writeA HREFnew0.asp?lbidgqx % gqx %/A    else    Response.Write     end if    set rsnothing    conn.close    set connnothing    可以把它们改写成VB组件然后在ASP文件中调用组件即可。操作步骤如下   (1)新建一个vb6的activex dll项目   在属性窗口中命名你的库模块和项目文件(例如项目名lacl模块名disp)以后在asp文件中调用的对象名将为lacl_disp   选择vb6中的项目菜单中的references 选中microsoft activex data objects 2.0 library   (2)编写VB组件   接下来把欲保护的asp代码改写成VB组件代码如下 以下是引用片段   public function html_combo(disp_table as string) as string    dim outstring as string    dim conn as adodb.connection    dim rst as adodb.recordset    dim sqlstring as string    set conn  createobject(adodb.connection)    set rst  createobject(adodb.recordset)    sqlstring  select * from   disp_table   where xs1 order by date asc    以上是在VB中打开数据库操作数据库中的表名、字段名你可以根据自己的需要修改    conn.open dsnsumnet    rst.open sqlstring, conn, 3, 3    if rst.eof and rst.bof then    outstring  还没有这类单位信息    else    rst.movefirst    outstring  A HREFnew0.asp?lbidrequest(lbid)  /A    end if    html_combo  outstring    rst.close    conn.close    end function    写好以上VB代码后保存项目并开始编译。   (3)生成安装文件   打开visual studio 6中附带的package deployment wizard程序选择刚才建立的activex项目文件lacl;选择package选择要打包的脚本或使用默认脚本选择标准安装为生成的安装文件选择一个存放目录选择single cab. 其他均默认;然后单击下一步安装文件就自动生成了!   (4)在IIS服务器上安装组件   在IIS服务器上运行这个安装文件把组件安装到服务器上。   (5)在网页中调用组件   以后在ASP文件中通过调用该组件完成原来的功能。在网页中调用你制作的组件方法如下 以下是引用片段   % languagevbscript %    %    set diaoyong  server.createobject(lacl_disp.disp)    %                              html    body    % diaoyong.html_combo(gq)%    br    /body    /html    你看现在Asp文件中的内容只是组件的调用(与以前完全不同)别人即使得到该文件也无法编辑修改源代码因为代码都被封装在VB组件中了对于组件中的代码外人是无法看到、也不能反编译的!   3、自己编写加密程序   组件加密方法虽然不可破解但是要求你熟悉VB编程需要把ASP代码改写成VB组件工作量很大所以建议大家自己编程来保护asp代码其基本思路是写一个加密函数base64Encode和解密函数base64Decode先用加密函数处理要保护的asp代码得到对应的密文hu然后再用execute(base64Decode(hu))替换欲保护的asp代码。   例如我们要保护上面那段asp代码可以这样操作   (1)用WORD处理要保护的ASP代码   将要保护的ASP代码拷到WORD中;在WORD中把代码里的段落标记(回车换行)全部替换成“水”这个汉字方法是点击“编辑”/替换光标移到“查找内容”栏点“高级”/特殊字符选择“段落标记”;光标移到“替换为”栏输入“水”最后点“全部替换”。同法把代码中的单引号也全部替换成“加”这个汉字。   (2)编写、运行加密程序   在FrontPage中编写加密程序该程序中有初始化函数initCodecs、加密函数base64Encode(代码如下)把WORD处理后的代码copy粘贴在inp  这句中最后以test1.asp名存盘;在IE中输入http://127.0.0.1/test1.asp本地运行该文件;屏幕上会显示一大段乱码(例如c2V0IHJzPXNlcnZlci5jcmVhd...)这就是《要保护的asp代码》对应的密文! 以下是引用片段   OPTION EXPLICIT    const BASE_64_MAP_INIT  ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/    dim newline    dim Base64EncMap(63)    dim Base64DecMap(127)    dim inp,hu,encode    call initCodecs 初始化    inp  WORD处理后的asp代码 将要保护的asp代码用WORD处理然后填在此处    hu base64Encode(inp) 调用函数base64Encode进行加密得到密文hu    Response.Write(hu) 显示密文    PUBLIC SUB initCodecs() 初始化函数initCodecs    newline  P  chr(13)  chr(10)   dim max, idx    max  len(BASE_64_MAP_INIT)    for idx  0 to max - 1    Base64EncMap(idx)  mid(BASE_64_MAP_INIT, idx  1, 1)    next    for idx  0 to max - 1    Base64DecMap(ASC(Base64EncMap(idx)))  idx    next    END SUB    PUBLIC FUNCTION base64Encode(plain) 加密函数base64Encode    if len(plain)  0 then    base64Encode      exit function    end if    dim ret, ndx, by3, first, second, third    by3  (len(plain) \ 3) * 3    ndx  1    do while ndx  by3    first  asc(mid(plain, ndx0, 1))    second  asc(mid(plain, ndx1, 1))    third  asc(mid(plain, ndx2, 1))    ret  ret  Base64EncMap( (first \ 4) AND 63 )    ret  ret  Base64EncMap( ((first * 16) AND 48)  ((second \ 16) AND 15 ) )    ret  ret  Base64EncMap( ((second * 4) AND 60)  ((third \ 64) AND 3 ) )    ret  ret  Base64EncMap( third AND 63)    ndx  ndx  3    loop    if by3  len(plain) then    first  asc(mid(plain, ndx0, 1))    ret  ret  Base64EncMap( (first \ 4) AND 63 )    if (len(plain) MOD 3 )  2 then    second  asc(mid(plain, ndx1, 1))    ret  ret  Base64EncMap( ((first * 16) AND 48)  ((second \ 16) AND 15 ) )    ret  ret  Base64EncMap( ((second * 4) AND 60) )    else    ret  ret  Base64EncMap( (first * 16) AND 48)    ret  ret      end if    ret  ret      end if    base64Encode  ret    END FUNCTION    (3)重新改写要保护的asp文件   改写原来的asp文件在文件中增加UnEncode 和base64Decode函数全部代码如下 以下是引用片段   Dim Hu,Hu2    拷贝“欲保护asp代码”的密文 将之存放到Hu变量中    Hu”c2V0IHJzPXNlcnZlci5jcmVhdGVvYmplY3Qo12Fkb2RiLnJlY29yZHNldOMpICAgICDuc3FsPeNzZWxlY3QgKiBmcm9tIGdxICB3aGVyZSB4cz0xIG9yZGVyIGJ5IGRhdGUgYXNj1yAgICAgsnJzLm9wZW4gc3FsLGNvbm4sMSwxICAgICDuaWYgcnMuZW9mIGFuZCBycy5ib2YgdGhlbiDucmVzcG9uc2Uud3JpdGUTvSD7INAg5iAgILUgvyAFILITsmVsc2UgsiAgICAgUmVzcG9uc2UuV3JpdGUg1zxBIEhSRUY9bmV3MC5hc3A/bGJpZD0TJnJlcXVlc3Qo12xiaWQTKSAmIOMPC9BPuPuZW5kIGlmICAgIL5zZXQgcnM9bm90aGluZyAgICAgICAgsmNvbm4uY2xvc2UgICAgICDuc2V0IGNvbm49bm90aGluZyAgIL4”    Hu2 base64Decode(hu) 还原要保护的ASP代码    execute(UnEncode(Hu2)) 还原单引号、回车换行并执行原代码    ’解密函数base64Decode    FUNCTION base64Decode(scrambled)    if len(scrambled)  0 then    base64Decode      exit function    end if    dim realLen    realLen  len(scrambled)    do while mid(scrambled, realLen, 1)      realLen  realLen - 1    loop    dim ret, ndx, by4, first, second, third, fourth    ret      by4  (realLen \ 4) * 4    ndx  1    do while ndx  by4    first  Base64DecMap(asc(mid(scrambled, ndx0, 1)))    second  Base64DecMap(asc(mid(scrambled, ndx1, 1)))    third  Base64DecMap(asc(mid(scrambled, ndx2, 1)))    fourth  Base64DecMap(asc(mid(scrambled, ndx3, 1)))    ret  ret  chr( ((first * 4) AND 255)  ((second \ 16) AND 3))    ret  ret  chr( ((second * 16) AND 255)  ((third \ 4) AND 15))    ret  ret  chr( ((third * 64) AND 255)  (fourth AND 63))    ndx  ndx  4    loop    if ndx  realLen then    first  Base64DecMap(asc(mid(scrambled, ndx0, 1)))    second  Base64DecMap(asc(mid(scrambled, ndx1, 1)))    ret  ret  chr( ((first * 4) AND 255)  ((second \ 16) AND 3))    if realLen MOD 4  3 then    third  Base64DecMap(asc(mid(scrambled,ndx2,1)))    ret  ret  chr( ((second * 16) AND 255)  ((third \ 4) AND 15))    end if    end if    base64Decode  ret    END FUNCTION    还原单引号、回车换行函数UnEncode    function UnEncode(cc)    for i  1 to len(cc)    if mid(cc,i,1) 水 then    if mid(cc,i,1)加 then    temp    temp    else    temp  Mid(cc, i, 1)  temp    end if    else    tempnewlinetemp    end if    next    UnEncodetemp    end function    将以上代码以test2.asp名存盘。   (4)用SRCENC加密test2.asp   用SRCENC加密test2.asp然后把它发布到服务器上这样别人即使得到该文件、破解了SRCENC加密也无法看到原代码因为原代码在test2.asp中是密文(Hu”c2V0IHJzPXNlcnZlc...)所以ASP代码就被保护起来了!   二、加密过的asp程序如何解密?   如何对加密过的asp程序解密呢?首先我们要告诉大家用组件法加密的asp程序是无法解密的而screnc加密过的程序则可以解密方法是使用解密软件(ZWDECODE.EXE)。   ZWDECODE.EXE(下载地址http://www.mydown.com/softdown/45/45183.html)可以对MS Script Encode加密的ASP文件进行解密还原出源代码。   (1)解密方法   单击“开始”/程序/附件/命令提示符在MS-DOS 命令行中输入以下命令即可恢复原代码   ZWDECODE 已加密asp文件名   其中已加密asp文件名必需输入该文件名可带目录路径;也必需输入这是要生成的输出文件名也可以带路径信息。   (2)举例   例如F:\22\lacl.asp曾被screnc加密处理过现在要恢复其中的源代码你可以在MS-DOS中输入以下命令   ZWDECODE F:\22\lacl.asp d:\ulacl.asp   执行完毕在D盘上就会生成一个ulacl.asp文件打开该文件你就能看到源代码了!  转载于:https://www.cnblogs.com/yeye518/archive/2007/12/28/2231821.html
http://www.dnsts.com.cn/news/69817.html

相关文章:

  • 做网站获取ip百度网盘官网
  • 群晖做网站需要备案吗建旅游网站多少钱
  • 做电影下载网站赚钱推广之家
  • 温州门户网站建设企鹅号自媒体平台注册
  • 网站建设制作多少钱一起做网站逛市场
  • 企业网站开发所需要的模块阳江房产网二手房出售
  • lol解说网站源码百度分享wordpress插件下载
  • 淘宝网站怎么做视频快看漫画小程序入口
  • 贵阳网站建设贵阳网站建设哪家好产品设计考研学校推荐
  • 网站管理员登录入口济南公众平台网站建设
  • 无锡企业网站制作公司wordpress如何添加广告悬浮按钮
  • 山东东方路桥建设总公司官方网站想做网络推广的公司
  • 怎么把网站维护中国建设质量网官方网站
  • 如何在公众号里做网站合肥微信网站
  • 常见的网站名称有哪些怎样做网站推销产品
  • 做机械的老板都看什么网站昆明建设公司网站
  • 太康做网站公司软文500字范文
  • 一个免费的影视网站模板学校网页设计模板html代码免费
  • 网站链接推广营销网站设计公司有哪些
  • 建设部网站办事大厅自己买一个服务器怎么做网站
  • 计算机应用专业(网站开发)wordpress标签设置
  • 沧州网站制作的流程广州网络推广有限责任公司
  • 东城网站建设工作室青岛官网seo推广
  • 学生保险网站最简单网页制作软件
  • 哪里有南宁网站建设wordpress技术站主题
  • 浙江天奥建设集团网站泰安网络营销公司
  • 斗门网站建设免费游戏推广平台
  • 网站聚合搜索怎么做百度云域名备案
  • PHP网站开发有哪些框架外贸公司网站建设方案
  • 湖南建设监理员报名网站windows2008 网站部署