KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

[囧文化推广] JS囧化工具1.0版

[ 6420 查看 / 18 回复 ]

首先声明,不是我的原创,而是我修改别人的代码而来的.
原代码出自: http://dean.edwards.name/packer/

经我修改以后,成为一个可以把JavaScript "囧化"的工具: http://ftp1.otomedream.com/JSjiong/Jsjiong.htm

使用方法: 将JS源代码贴入上面一个框,按下Pack,下面那个框就会出现一堆囧
将这一堆囧复制粘贴保存,可以用来完全的替代原来的JS的功能。

提示1:要看囧化以后的JS的例子,察看html源代码里面引用的JS(即: 囧化工具的JS代码)。
提示2:囧化可能会导致JS增大数倍,如要放上Web服务器,请务必使用服务器的静态文件压缩模块以减少下载时间。
(因为囧化过程含有JS精简操作,虽然长度增加,实际上数据的"熵"值降低了,因此静态压缩以后的长度反而比囧化前直接压缩还要小)
(例如,囧化核心Packer.js,囧化前rar压缩为3.63KB,囧化后再压缩只有3.50KB了。因此只要打开服务器的文件压缩模块,不必担心影响下载速度)

提示3:请和谐的使用囧化工具。因为使用囧化工具带来的一切后果请自付。
提示4:欢迎转载,但是请声明来源(即: 我),以及来源的来源(即: 本贴的开头两句)。
最后编辑Prz 最后编辑于 2008-12-16 14:36:32
分享 转发
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[囧文化推广] JS囧化工具1.0版

我被LZ……Jiong到了
Depression is a trap. I choose quit.


10/29
TOP

回复:[囧文化推广] JS囧化工具1.0版

嗯……
其实是给JavaScript加壳么?
或者还有其他的目的?
「大地坏灭,城市尽毁,死伤惨重;唯一语足志:胜利。」
TOP

回复: [囧文化推广] JS囧化工具1.0版

研究了一下,确实很囧……话说这囧工具的原理是啥……为何可以用囧写程序……
============================================================

eval(function(囧,囧囧,囧囧囧,囧囧囧囧,囧囧囧囧囧){囧囧囧囧=function(囧,囧囧){囧囧='囧';while(囧--)囧囧+='囧';return 囧囧};if(囧){while(囧囧--)囧囧囧囧囧[囧囧囧囧(囧囧)]=囧囧囧[囧囧]||囧囧囧囧(囧囧);囧囧囧=[function(囧){return 囧囧囧囧囧[囧]}];囧囧囧囧=function(){return'囧+'};}while(囧囧++)if(囧囧囧[囧囧])囧=囧.replace(new RegExp(囧囧囧囧(囧囧),'g'),囧囧囧[囧囧]);return 囧.replace(/<(囧+)>/g,'$1')}('囧囧囧囧囧囧囧囧囧囧 囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧=囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧({囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:囧囧囧囧囧囧囧囧囧(<囧囧>,<囧>){囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧();囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧),囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧,囧囧囧囧囧囧囧囧);囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧){囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧())}囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧()},囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:囧囧囧囧囧囧囧囧囧(<囧>){囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(!囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>))囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>);<囧>=囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>);<囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧++;囧囧囧囧囧囧囧囧囧囧囧 <囧>},囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:囧囧囧囧囧囧囧囧囧(){囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(囧囧囧囧囧囧囧囧囧(<囧>,<囧囧>){囧囧囧囧囧囧囧囧囧囧囧 <囧囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧-<囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧});囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧("囧囧囧囧囧囧囧囧囧囧 囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧=囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧,囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧="+囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧<囧>);囧囧囧囧囧囧囧囧囧囧 <囧囧囧>=囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧;囧囧囧囧囧囧囧囧囧囧 <囧囧囧囧>=囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧 囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧;囧囧囧囧囧囧囧囧囧囧 <囧囧囧囧囧>=囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧();囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(囧囧囧囧囧囧囧囧囧囧 囧囧囧囧囧囧囧囧囧囧囧囧囧=囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧;囧囧囧囧囧囧囧囧囧囧囧囧囧<<囧囧囧囧囧>;囧囧囧囧囧囧囧囧囧囧囧囧囧++){<囧囧囧囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧囧囧>(囧囧囧囧囧囧囧囧囧囧囧囧囧),囧囧囧囧囧囧囧囧囧囧囧囧囧)}囧囧囧囧囧囧囧囧囧囧 <囧囧囧囧囧囧>=囧囧囧囧囧囧囧囧囧(){囧囧囧囧囧囧囧囧囧囧囧""};囧囧囧囧囧囧囧囧囧囧 <囧囧囧囧囧囧囧>=囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧;囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(囧囧囧囧囧囧囧囧,囧囧囧囧囧囧囧囧囧(<囧>){囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧囧囧囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>)){<囧>.囧囧囧囧囧囧囧囧囧囧囧囧=<囧囧囧囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧>);<囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧=<囧囧囧囧囧囧>}囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧{囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(<囧囧囧>(<囧囧囧囧囧囧囧>)))<囧囧囧囧囧囧囧>++;<囧>.囧囧囧囧囧囧囧囧囧囧囧囧=<囧囧囧囧囧囧囧>++}<囧>.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧=<囧囧囧>(<囧>.囧囧囧囧囧囧囧囧囧囧囧囧)},囧囧囧囧囧囧囧囧);囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧(囧囧囧囧囧囧囧囧囧(<囧>,<囧囧>){囧囧囧囧囧囧囧囧囧囧囧 <囧>.囧囧囧囧囧囧囧囧囧囧囧囧-<囧囧>.囧囧囧囧囧囧囧囧囧囧囧囧})},囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:囧囧囧囧囧囧囧囧囧(){囧囧囧囧囧囧囧囧囧囧囧 囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧().囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧("|")}},{囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:{囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:囧囧囧囧囧囧囧囧囧(<囧>){囧囧囧囧囧囧囧囧.囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧=囧囧囧囧囧囧囧囧囧(){囧囧囧囧囧囧囧囧囧囧囧 <囧>}},囧囧囧囧囧囧囧囧囧囧囧囧囧囧:囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧,囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧:"",囧囧囧囧囧囧囧囧囧囧囧囧:-囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧}});',49,'|||||||this|function|var|return|index|i|count|add|has|0|toString|Collection|constructor|base|forEach|while|encode|if|get|sort|e|encoded|Words|extend|match|WORDS|length|pop|eval|a|62|Packer|ENCODE|new|size|for|put|else|getValues|join|Item|1'.split('|'),'囧',{囧:'囧'}))
TOP

回复:[囧文化推广] JS囧化工具1.0版

果然是为了防止别人盗版技术而给JS文件加壳么
好东西,放入收藏夹……(改天做个PHP的吧……好吧我承认我在口胡……)
「大地坏灭,城市尽毁,死伤惨重;唯一语足志:胜利。」
TOP

回复:[囧文化推广] JS囧化工具1.0版

eval啊
很强大
猫觉得JS加壳的意义不大,再加密也是明文,纯拖速度,不过现在这个程序需要解析JS的语法,要借鉴借鉴啊 ><

PS:函数参数超过5个就不能囧了
最后编辑亡灵之猫 最后编辑于 2008-12-16 19:00:03


传播音乐梦想的种子,让音乐的美在人们心中破土成长
拥有梦,拥有未来!
TOP

回复:[囧文化推广] JS囧化工具1.0版

土豆語變成囧語了!?
水羊不可一日無牡丹!!!
你今天膜拜牡丹神了沒??
TOP

回复: [囧文化推广] JS囧化工具1.0版

咱只是用下边这种脚本随便试了试..

function test() {
  alert("Hello World");
}


IE7下边:
error packing script: 'length' is null or not an object

Firefox3下边:
error packing script: \u56E7 is null


这样你也算是KFC头号JS么

# # #

似乎是按照文字长度来解码的?这样的话编码成Prz更好看吧。
不同长度的
Prrrrrz, Prrrrrrrrrrrrrrrrrrz
等等..
最后编辑悠久ノ風 最后编辑于 2008-12-16 22:17:27
俺は俺であり、そして俺はここにいることを証明し続けるため——
TOP

回复:[囧文化推广] JS囧化工具1.0版

同上楼
函数不带参数或参数不参与运算就爆了

================
再测了一下
貌似也不是参数的问题

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

明白了,函数必须带参数,并且第一个参数的标识符长度必须超过2
LS这样做就能行:
function test(xx) {
  alert("Hello World");
}

Misha大看看是怎么回事吧,改一改程序
最后编辑亡灵之猫 最后编辑于 2008-12-16 19:14:02


传播音乐梦想的种子,让音乐的美在人们心中破土成长
拥有梦,拥有未来!
TOP

回复:[囧文化推广] JS囧化工具1.0版

恩,去翻电脑书看看,话说本人电脑看最近就在学JavaScript

TOP