`

“Magic Zoom V3图片放大镜特效”脚本的分析

阅读更多

      最近想试用一个图片放大镜特效,网上(国内)引用最多可能就是名为”Magic Zoom “的jQuery插件了。该插件是商业软件,试用版会在放大框底部或顶部加上一行提示升级到完整版本的提示(Please upgrade to full version of Magic Zoom)。其实该演示版功能是完整的,只是多了这行提示而已。

      网上搜了一下,还没发现有人对该组件进行较全面的分析,只找到有人采用暴力的方法去掉那行提示信息。具体做法大家可以到这个地址(http://www.5icool.org/a/201004/379.html)去看,我就省了Ctrl+C And Ctrl+V操作了。

      这个组件至今没有人去分析(或者是没分析出来),这勾起了我的兴趣,看看这个JS防盗到底有多强。于是就有了这次分析过程及本文。

      首先,从官网下载本组件的DEMO版,打开magiczoom.js,搜索一下”Please upgrade to full version of Magic Zoom“这句话中的关键词,没找到。这在我意料之中,如果这几个词都不藏一下,那还防什么盗啊。

       再看整个脚本,外面套了一个eval,那一般来说,eval中间的东西处理后肯定得到一段正常JS脚本,只要想办法把那段脚本给弄出来,基本就算成功了。按照这个思路,把eval暂时去掉,剩下的东西,有一大块是字符串,把那块字符串抽掉,剩下的东西就不多了,整理一下格式,如下:

function(p,a,c,k,e,d){
	e=function(c){
		return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36));
	};
	if(!''.replace(/^/,String)){
		while(c--){
			d[e(c)]=k[c]||e(c);
		}
		k=[
			function(e){
				return d[e]
			}
		];
		e=function(){
			return'\\w+';
		}
		c=1;
	};
	while(c--){
		if(k[c]){
			p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);
		}
	}
	return p;
}( STR1, 62,639, STR2.split('|'),0,{});

 

其中: STR1, STR2就是抽出去的两个长字符串的位置。

 

分析一下这段代码,就比较清楚了,定义了一个匿名函数,然后传入6个参数执行,得到一个结果,最后由eval方法来执行一下。

      接下来,我只要写一段代码,把这个函数返回的结果输出就可以了,我在EditPlus中写了一个HTML页面,把上面函数的执行结果输出到一个textarea:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
<script language="JavaScript">
<!--

var s1 = <省略>;

var s2 = <省略>;


function decode(p,a,c,k,e,d){
	e=function(c){
		return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36));
	};
	if(!''.replace(/^/,String)){
		while(c--){
			d[e(c)]=k[c]||e(c);
		}
		k=[
			function(e){
				return d[e];
			}
		];
		e=function(){
			return'\\w+';
		};
		c=1;
	};
	while(c--){
		if(k[c]){
			p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);
		}
	}
	return p;
}

window.onload=function(){
  var srcTxt = decode(s1,62,650, s2.split('|'),0,{});
	document.all.src.value = srcTxt;
}

//-->
</script>
 </head>

 <body>
<textarea name="src" rows="20" cols="100"></textarea>
 </body>
</html>

 在EditPlus中Ctrl+B,就得到了执行结果,整理一下,就是一段比较清晰的代码了,现在只要找到其中的那句提示语句,再想办法处理掉就完工了。

      找那个字符串不算很麻烦的事。记得那行提示文字是红色的粗体字,我就直接找输出红色粗体字的地方,没费什么工夫就找到了:

if(i.indexOf(MagicZoom.x7("coigmzaablav mac"))==-1){
      a=["^bko}k.{~i|ojk.za.h{bb.xk|}ga`.ah.Coigm.Taac(-6:6<5","#ff0000",10,"bold","center","100%"];
}

作者对字符串作了加密处理,具体的算法也懒得去分析了,直接把这三行注释掉,再测试一下,提示文字没有了。

 

 

=================================

另外再说一句,使用www.xieda.org 的JavaScript Analyser2.0 Alpha版软件直接就可以得到解密后的脚本,跟我手工分析出来的差不多。

分享到:
评论
2 楼 wdmsyf 2010-10-15  
楼上的这位兄弟,我把钓鱼方法都说了,难道还一定要我钓的鱼么?

       
1 楼 cocopig 2010-10-11  
压缩包是加密的?

相关推荐

    6个基于 Magic Zoom插件的图片放大镜效果.rar

    "6个基于 Magic Zoom插件的图片放大镜效果.rar" 这个标题和描述提到了一个名为 "Magic Zoom" 的插件,它被用于实现图片的放大镜效果。这种效果常见于电子商务网站,允许用户在不离开原始页面的情况下查看商品图片的...

    Magic Zoom Plus v4.5.28 图片放大镜去水印破解 学习版

    Magic Zoom Plus v4.5.28 图片放大镜去水印破解 学习版 声明: 仅供学习研究之用,如果喜欢请购买正版,谢谢!

    图片放大镜-Cloud Zoom

    Cloud Zoom是一款优秀的jQuery插件,它为用户提供了一个类似Magic Zoom的图片放大镜效果,使用户可以无损地查看图片的细微部分。与jQZoom等其他插件相比,Cloud Zoom具有更小的体积,更多的功能,以及对各种浏览器的...

    破解版的图片放大镜(Magic Zoom Plus)

    Magic Zoom Plus 官网有详细介绍,不多说了,效果最常见的就是淘宝那个 只是我这个是破解版的,网上找了好久才拿到,感谢高人的风险,看在我找的辛苦的份上,留点分吧。

    图片放大镜

    Magic Zoom Plus是一款流行的网页图片放大插件,它提供了高质量的图片放大效果,让用户在浏览商品图片时能够无损地查看细节。该插件支持多种浏览器,并且易于集成到电子商务网站中,使客户能更清楚地看到产品的各个...

    Magic Zoom Plus v4.5.39 魔法放大镜 JS代码完美去水印

    Magic Zoom Plus v4.5.39 for MagicToolbox.com Copyright 2014 Magic Toolbox Buy a license: www.magictoolbox.com/magiczoomplus/ License agreement: http://www.magictoolbox.com/license/ qq:57544477

    magic zoom plus 去版权信息

    magic zoom plus 去版权信息,

    jquery 插件Magic Zoom 3.1(已去除购买版权信息)

    jQuery Magic Zoom 是一款强大的图片放大插件,它能够为网站提供高质量的图片预览效果,让用户在鼠标悬停或点击时能够看到图片的细节部分。这个3.1版本是该插件的最新更新,包含了多项改进和新特性。 ### 1. 多实例...

    js特效脚本含源码和说明MagicThumb产品图片放大效

    js特效脚本含源码和说明Magic Thumb 产品图片放大效本资源系百度网盘分享地址

    cloud_zoom图片放大插件

    Cloud Zoom是一款专为网页设计者打造的高效图片放大jQuery插件。它以其轻量级的特性,丰富的功能和卓越的跨浏览器兼容性,在众多同类插件中脱颖而出,尤其与Magic Zoom有类似的视觉效果。在本文中,我们将深入探讨...

    Magic Thumb 产品图片放大效果代码.rar

    Magic Thumb 可能就是这样一个图片相册插件,具有图片放大的特效。 【知识点详述】 1. **JavaScript基础**:首先,我们需要了解JavaScript的基本语法,包括变量、函数、事件处理、DOM操作等,这些都是实现动态图片...

    magic zoom plus 4.09 for zen cart

    zen cart的magic zoom plus 4.09产品放大镜效果去,去“Please upgrade to full version of Magic Zoom”提示,亲测可用。magiczoomplus.js原本加密的已还原。

    Magic Thumb 产品图片放大效果特效代码

    【标题】"Magic Thumb 产品图片放大效果特效代码" 是一款用于增强网页中图片查看体验的JavaScript库。它提供了一种优雅的方式,使得用户在点击缩略图时,能够以平滑过渡和高质量放大效果查看全尺寸图片。这种技术常...

    响应式jQuery图片放大镜插件特效代码

    在实际应用中,开发者可以利用现有的jQuery插件,如"Hover Zoom"、"Magic Zoom"等,这些插件已经封装了上述过程,只需简单配置和调用即可实现图片放大镜效果。例如,1881可能是某个具体插件的文件名,这可能包含了...

    电脑屏幕放大镜Magic Lens Max 4.0汉化版.rar

    这个是比较专业的屏幕放大镜软件,比起系统自带的要强大多了。主程序:magiclensmax.exe可选择镜头形状:椭圆、圆角矩形,矩形。颜色模式:真彩色、灰度,反相,深褐色增强效果:锐化、进一步锐化、边缘增强、无。...

    局部图片放大功能 magiczoom

    标题中的“局部图片放大功能 magiczoom”指的是一个网页图片展示技术,它允许用户在鼠标悬停或点击图片时,以放大镜效果查看图片的细节部分。这种技术在电商网站、产品展示页面等需要用户详细查看商品图片的场景中...

    magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计

    magic-script是一款基于JVM的脚本语言,目前主要是为magic-api项目设计。magic-api,接口快速开发框架,通过Web页面配置,自动映射为HTTP接口;spider-flow,新一代爬虫平台,以图形化方式定义爬虫流程,不写代码...

    Unity商城魔法护盾特效Magic Circles and Shields Vol3 1.0

    "Unity商城魔法护盾特效Magic Circles and Shields Vol3 1.0"是一款专为Unity游戏开发者设计的特效资源包,它包含了多种魔法护盾和光环效果,可以快速提升游戏的视觉吸引力和沉浸感。 在Unity中,特效通常是通过...

    MagicZoom.js放大镜插件特效代码

    **MagicZoom.js 放大镜插件特效代码详解** 在电子商务网站中,商品展示的细节至关重要,这直接影响到消费者的购买决策。MagicZoom.js 是一款基于 JavaScript 的高效、易用的放大镜插件,专为商城详细页面设计,旨在...

    ft magic effects volume01 魔法粒子特效 超炫大招火unity3d插件

    "ft magic effects volume01 魔法粒子特效 超炫大招火unity3d插件"是专为Unity3D设计的一套魔法粒子特效资源包,旨在帮助开发者轻松创建出具有视觉冲击力的魔法、火焰等粒子效果,以提升游戏的视觉体验和玩家沉浸感...

Global site tag (gtag.js) - Google Analytics