我的网址导航

JavaScript04

我的网址导航,第1张

清爽的网址导航 https://wht.im/

IT 之家 - 一个IT资讯站

https://www.ithome.com/

百度 https://www.baidu.com/

- 写作 https://www.jianshu.com

爱奇艺 - 视频网站 https://www.iqiyi.com

QQ 邮箱 https://mail.qq.com

电影天堂 - 经典电影站 https://www.dytt8.net

淘宝 https://www.taobao.com

or 天猫 https://www.tmall.com

京东商城 https://www.jd.com/

简单生活Easylife - 美食旅游、软体资讯网

https://sofun.tw/

坚果云 (和百度云形成良好补充)

https://www.jianguoyun.com

彩云翻译 - 自然好用

https://fanyi.caiyunapp.com/#/

图灵社区 (精选高质量和特价 IT 书籍)

https://www.ituring.com.cn

搜漫_一站式漫画搜索引擎

https://www.soman.com/search.html?keyword=%E6%B5%B7%E8%B4%BC%E7%8E%8B

菜鸟教程 https://www.runoob.com/

Java学习路线 https://edu.aliyun.com/roadmap/java

The Java™ Tutorials

https://docs.oracle.com/javase/tutorial/

The Java® Language Specification https://docs.oracle.com/javase/specs/jls/se8/html/index.html

Try Redis

https://try.redis.io/

开源中国 gitee

https://gitee.com/

https://www.showdoc.cc

360极速浏览器

好用的 json 格式化

https://www.json.cn/

HTML/CSS/JS 在线工具 | 菜鸟工具

https://c.runoob.com/front-end/61

js混淆加密,js解密,js去除注释—在线工具

https://www.sojson.com/js.html

掘金 https://juejin.im/

美团技术团队 https://tech.meituan.com/

ThoughtWorks 洞见 https://insights.thoughtworks.cn/

linux运维教程,linux运维从业者笔记 https://www.zsythink.net/

又拍云 - 小拍日志 https://www.upyun.com/tech

牛客网

LeetCode

异次元 https://www.iplaysoft.com/

小众软件 https://www.appinn.com/

iOS 精品限免 http://www.iappstoday.com/

ucloud https://www.ucloud.cn/

百度云 https://cloud.baidu.com/

西部数码 https://www.west.cn/

阿里云 https://www.aliyun.com/product/ecs

腾讯云 https://buy.cloud.tencent.com/cvm

js的不可读化处理分为三个方面:压缩(compression)、混淆(obfuscation) 和加密(encryption)。

1. 压缩

这一操作的目的,是让最终代码传输量 (不代表代码量, 也不代表文件体积)尽可能小。压缩js的工具,常见的有:YUI Compressor、UglifyJS、Google Closure Compiler 等。

通常在代码压缩的过程中,只改变代码的语法,代码的语义和控制流不会有太大改变。

常见做法是把局部变量缩短化,把一些运算进行等价替换等。代码压缩对于代码保护有一些帮助,但由于语义和控制流基本没变,起不了太大作用。

在压缩层面上,代码不可读只是一种附带伤害,不是最终目的。

2. 混淆

这一操作的目的,是让代码尽可能地不可读,主要用作代码保护。

让代码不可读,增加分析的难度,这是唯一目的。混淆过后文件体积变大一倍也没关系,代码量变多也没关系,运算慢50% 也没关系。

常见的做法有:分离常量、打乱控制流、增加无义代码、检查运行环境如果不对就罢工,等等。

在混淆层面上,代码不可读是最终目的。

值得一提的是,Google Closure Compiler 的 Advance Level Compression 会压缩类和对象的成员,其压缩结果很难分析,也可以认为是一种混淆,但兼容性不太好。

3. 加密

有加密就有解密,意味着加密操作可逆,密文可以明文化。

在Web界,可以称之为加密的东西包括:HTTPS传输、JavaScript实现对称加密或者不对称加密等等。

前面的\x只是16进制编解码就好

function decode(str){

return str.replace(/\\x(\w{2})/g,function(_,$1){ return String.fromCharCode(parseInt($1,16)) })

}

后面的使用压缩混淆工具,压缩了空格,简化了变量名.是可以格式化回去的,但是变量你想还原到原来的有含义的命名,是不可能的了