首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏ek1ng的技术小站

    js混淆混淆

    为什么要进行混淆 由于设计原因,前端的js代码是可以在浏览器访问到的,那么因为需要让代码不被分析和复制从而导致更多安全问题,所以我们要对js代码进行混淆JS混淆混淆常见思路 在了解了js代码的执行过程后,我们来看如何对js进行混淆。 可以想到比如我们想实现一个js混淆器我们该怎么做呢,要不就是用正则替换,要不就是在AST阶段生成混淆代码,用正则替换实现简单但是效果也比较差,现在js混淆大多数都是在不改变AST的情况下去生成混淆后的代码 代码压缩 压缩js代码不用多说,就是去除空格,换行符等等,让代码变成一坨甚至一行。 代码混淆 这里我们抛砖引玉,讲一些比较常见的混淆方式,实际上混淆的办法非常的多。 常见的混淆/混淆工具 亲手尝试混淆 HGAME 2023 Week1 Classic Childhood Game 当然直接执行mota()就能出,但是我们来尝试一下通过调试混淆这段代码,看看是什么逻辑

    14.1K41编辑于 2023-03-08
  • 来自专栏奋飞安全

    初试js混淆

    一、目标最近js玩的花样越来越多了,本来简洁方便的一门开发语言,现在混淆的一塌糊涂。今天我们就介绍几种常见的混淆方案。 混淆就是一个逆过程,上古时期用的是最简单的正则匹配,然后再替换。 /input/demo2.js", {encoding: "utf-8"}); // 读取原始混淆文件var ast_parse = parser.parse(jscode); //将JS源码转换成语法树 /output/demo2_out.js', ast_js_code.code)这就是一个基础的AST混淆处理框架。 混淆基本上就是一次模版批量替换的套路,以前我们仅仅依赖查找替换,然后高级一点就是正则替换,现在有了AST解析,就更加灵活了。

    1.2K00编辑于 2024-11-14
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    CDT(Common Data Types)是一个Go语言库,旨在提供简单而灵活的数据类型处理工具。它提供了一组函数和结构体,用于处理不同类型的数据,并提供了方便的方法进行数据类型转换和操作。支持sql、json序列化,以及validator数据验证。

    95120编辑于 2023-07-20
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    Tabnine AI Code Completion Tabnine 是数百万开发人员信赖的 AI 代码完成工具,可以更快地编写代码并减少错误,支持JS、Java、Python、TS、Rust、Go、PHP

    6.5K30编辑于 2022-01-04
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    gjsonpack is a GoLang program to pack and unpack JSON data.

    6K30编辑于 2022-11-25
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    命令选项如下: -f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。 -p,–project-name NAME指定项目名称,默认将使用所在目录名称作为项目名。 -x-network-driver 使用Docker的可拔插网络后端特性(需要Docker 1.9+版本) -x-network-driver DRIVER指定网络后端的驱动,默认为bridge(需要Docker 1.9+版本) -verbose输出更多调试信息 -v,–version打印版本并退出

    4.5K40编辑于 2022-01-04
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    /assets/logo.png"> <HelloWorld msg="Welcome to Your Vue.<em>js</em> App"/> <HooksDemo></HooksDemo> <button

    6.3K20编辑于 2022-09-29
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    在日常开发工作业务场景中,你可能会遇到重复性的业务工作脚本功能维护。笔者分析了下,其在修改业务代码后,大致都会遇到如下问题:

    4.3K10编辑于 2023-03-16
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    (文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为MetaData。)du命令是用户级的程序,它不考虑MetaData,而df命令则查看文件系统的磁盘分配图并考虑MetaData。

    4.5K50编辑于 2022-01-04
  • js如何反编译、混淆

    JavaScript 的**压缩(Minification)和混淆(Obfuscation)**已经成了标配操作,一个为了“提速”,一个为了“防看”。 早年的 JS 就是写个表单验证、简单交互,代码少又直白,根本不需要保护。但如今,前端早已是复杂的单页应用(SPA),JS 动辄几 MB,压缩和混淆就派上用场了。压缩,主要是“瘦身”。 而混淆,才是“刻意让人看不懂”。它不光改名字,还会扭曲逻辑,目的就是让开发者即使拿到代码,也很难 reverse 出真实意图。 怎么js反编译混淆 怎么进行js逆向呢?浏览器的 Pretty Print(美化) 能帮你格式化代码,加缩进、换行,但对乱七八糟的变量名和逻辑绕弯没辙。 发现一个Ai反编译工具:思路是:先把 JS 解析成 AST(抽象语法树)——也就是忽略名字和格式,只看代码的“骨架”和逻辑关系。

    1.1K11编辑于 2025-08-08
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    描述 node.js 结合selenium实现web端UC 优视站点脚本自动化注册 预览效果 https://lilogs.com/wp-content/uploads/2022/01/preview.mp4 | 中文镜像源大全 GoogleChromeBrowser 官方地址下载 | 第三方应用商店下载 ChromeDriver 官方镜像源大全 | 中文镜像源大全 使用技巧 运行命令node main.js

    3.8K50编辑于 2022-03-15
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    A. _SERVER[‘AGENT’];B. _SERVER[‘USER_AGENT’];C. _SERVER[‘HTTP_USER_AGENT’];D. _SERVER[‘HTTP_USER_AGENT_TYPE’];

    13.3K20编辑于 2022-01-04
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    > </el-row> </template> 代码挂载 <script type="text/javascript"> (() => { /** * @description 动态加载JS = 'text/css'; link.rel = 'stylesheet'; link.href = url; head.appendChild( link ); } //动态加载JS () => { //动态加载CSS dynamicLoadCss( '//unpkg.com/element-ui/lib/theme-chalk/index.css' ) //动态加载JS dynamicLoadJs( '//unpkg.com/element-ui/lib/index.js', () => { let obj = { el : '#post_content

    3.4K20编辑于 2021-12-24
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    感觉现在发面试题有些冷门,就跟昨天德国那场似的,不过看看当提前复习了。提前备战。这2个月出门面试的童鞋可注意不要中暑哦。

    11.4K30编辑于 2022-01-04
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    为什么需要做爬 看看这个 做爬的好处 2. 如何爬虫 三、js代码混淆 1. 为什么需要混淆代码 若是自己辛辛苦苦写的(商业、核心)业务代码,被其他竞争公司拿去用了或者破解了,想想都心塞。 可以从下图对比中看出两种区别: 混淆代码的好处 2. 混淆代码弊端 3. 混淆代码工具 4.1 JavaScript Obfuscator Tool JavaScript Obfuscator 一个免费和高效的JavaScript混淆器。 4.2 Uglify Uglify 是一款JS代码处理工具,提供了压缩,混淆和代码规范化等功能。 四、结语 爬虫工程师(采集)没有未来,数据工程师(采集、分析、预测)有未来。 当下的爬虫场景中,没有绝对安全的保护机制,我们能做好的其实就是提高攻击者的成本。 对于爬虫未来发展方向,个人认为更多的不是依赖于算法识别而是「机器学习」识别爬虫。

    12.6K30编辑于 2021-12-24
  • 来自专栏李昂君

    爬虫+爬虫+js代码混淆

    新手写程序,都喜欢把代码全部写在一起,我个人认为这个是属于意识层面的,并需要太强的编程能力,通过看别人写的代码,还是能够明白如何去组织代码,拆分代码的。核心思想就是“尽量每一个变量名有意义,每一个函数名有意义,每一个函数只干一件事情”。

    2.8K20编辑于 2022-01-04
  • 来自专栏HHTjim'S 部落格

    JS的eval函数解密混淆

    JS的eval函数解密混淆 作者:matrix 被围观: 10,699 次 发布时间:2014-05-14 分类:零零星星 | 15 条评论 » 这是一个创建于 3032 天前的主题,其中的信息可能已经有所发展或是发生改变 打开有些js文件看到的eval(function(p,a,c,k,e,d)开头,只有结尾部分有很多竖线|间隔的字符,这是eval混淆了的。想要查看原本的代码就需要混淆

    6.3K20编辑于 2022-09-26
  • 来自专栏javascript技术

    AI逆向”JS代码混淆加密!

    JS混淆加密,是保护JS代码安全的重要手段。原本,只有技术高手才能对混淆加密后的JS代码进行分析或逆向。但在这个AI时代,普通人也可以借助AI尝试进行逆向还原。 这便给JS代码安全带来了更多的威胁,也给JS混淆加密带来了考验。好在“魔高一尺,道高一丈”,国内有名的JS混淆加密服务商JShaman已发布了“AI”功能。 以下,用一个示例进行测试,看看它的AI效果。1、来到JS-Obfuscator网站。 ,如下:6、再用通义千问尝试逆向,也给出了错误的分析过程和结果,如下:7、而如果是传统没有“AI”功能的JS混淆工具,比如,ob:OB的混淆结果,AI工具是可以轻松逆向还原出原始代码的:由对比可知,JShaman 8:总结:对于JS混淆加密,AI逆向还原能力确实强大。JShaman的“AI”功能更加强大。

    1.1K10编辑于 2025-04-22
  • 来自专栏Python 爬虫

    JS 逆向百例】混淆入门,某鹏教育 JS 混淆还原

    逆向过程 本次逆向的目标同样是一个登录接口,其中的加密 JS 使用了简单的混淆,可作为混淆还原的入门级教程,来到登录页面,随便输入账号密码进行登录,其中登录的 POST 请求里, Form Data 有个加密参数 () 这个方法,是调用了 fm.js 里的 OO0O0() 方法,看这个又是 0 又是 O 的,多半是混淆了,如下图所示: [03.png] 点进去看一下,整个 fm.js 都是混淆代码,我们选中类似 : 混淆还原小脚本 # ================================== # 待替换的值(太多了,仅列出少部分) # 以实际列表为准,要和 fm_old.js 里的列表一致 item ] # 混淆后的 JS with open("fm_old.js", "r", encoding="utf-8") as f: js_lines = f.readlines() js = " 将 JS 还原后,我们可以将还原后的 JS 替换掉网站本身经过混淆后的 JS,这里替换方法有很多,比如使用 Fiddler 等抓包工具替换响应、使用 ReRes 之类的插件进行替换、使用浏览器开发者工具自带的

    8.3K40编辑于 2021-11-30
  • 来自专栏javascript技术

    JS混淆」免费JS混淆工具

    github上的,免费的,英文的,JS混淆工具:https://js-obfuscator.github.io/UI:混淆测试:JS源码:(function (){ var domain = "js-obfuscator.com getFullYear() + "," + domain; }; var console_log = console.log; console_log(copyright())})();JS 混淆结果:(function (_0xe, _0xd) { var _0x4ag10b = "\u006A\u0073\u002D\u006F\u0062\u0066\u0075\u0073\u0063 u006F\u0067']; _0xd = (885711 ^ 885702) + (139322 ^ 139320); _0xbe(_0xea());})();没改变代码结构,只是对代码中的每一行进行混淆变化

    2.7K01编辑于 2024-12-26
领券