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