首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

逆向过程 本次逆向的目标同样是一个登录接口,其中的加密 JS 使用了简单的混淆,可作为混淆还原的入门级教程,来到登录页面,随便输入账号密码进行登录,其中登录的 POST 请求里, Form Data 有个加密参数...() 这个方法,是调用了 fm.js 里的 OO0O0() 方法,看这个又是 0 又是 O 的,多半是混淆了,如下图所示: [03.png] 点进去看一下,整个 fm.js 都是混淆代码,我们选中类似...随便搜索一个值,可以在代码最后面找到一个数组,这个数组其实就是 OQoOo,可以传入下标来验证一下,如下图所示: [05.png] 到这里其实就知道了其大致混淆原理,我们可以把这个JS 拿下来,到本地写个小脚本...# @Software: PyCharm # @describe: 混淆还原小脚本 # ================================== # 待替换的值(太多了,仅列出少部分)...将 JS 还原后,我们可以还原后的 JS 替换掉网站本身经过混淆后的 JS,这里替换方法有很多,比如使用 Fiddler 等抓包工具替换响应、使用 ReRes 之类的插件进行替换、使用浏览器开发者工具自带的

7.2K40

Vue混淆还原

混淆是一种有效的保护措施,可以加密和压缩代码,使其难以被理解和修改。本文将介绍Vue混淆的概念以及如何进行还原混淆 混淆是将Vue代码进行加密和压缩,增加其安全性。...可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片,资源,配置等进行修改名称,修改md5。...还原 还原是将混淆后的代码还原成可读性较高的代码。Vue混淆还原通常包括以下步骤: 解压缩:将混淆后的代码进行解压缩,还原成原始的代码格式。...在实际操作中,可以借助工具和插件来辅助还原,提高效率和准确性。 总结 Vue混淆是保护代码安全的有效手段,防止恶意篡改和盗用。...参考资料 Vue.js官方文档: https://vuejs.org/ UglifyJS - JavaScript压缩工具: https://github.com/mishoo/UglifyJS Babel

19310
您找到你想要的搜索结果了吗?
是的
没有找到

js混淆与反混淆

为什么要进行混淆 由于设计原因,前端的js代码是可以在浏览器访问到的,那么因为需要让代码不被分析和复制从而导致更多安全问题,所以我们要对js代码进行混淆。...JS混淆和反混淆常见思路 在了解了js代码的执行过程后,我们来看如何对js进行混淆。...可以想到比如我们想实现一个js混淆器我们该怎么做呢,要不就是用正则替换,要不就是在AST阶段生成混淆代码,用正则替换实现简单但是效果也比较差,现在js混淆大多数都是在不改变AST的情况下去生成混淆后的代码...访问成员变量的方法 js可以通过window.eval()访问windows对象的eval方法,也可以用window[‘eval’]来访问 变量名混淆(将变量名变成一些无意义的可以来较乱的字符串(16...,大多数都是可以慢慢调还原出来的。

10K41

Android混淆代码错误堆栈还原

答案非常简单,只要稍微实践下你就明白了,下面就是给你整理的对混淆代码错误堆栈还原的方法。 如何混淆?...('proguard-android.txt'), 'proguard-rules.pro' } mapping.txt文件 mapping文件是我们要实现混淆代码还原必须要关注的一个文件...制造一个混淆代码的Crash ? ? 启动MainActivity的时候就会直接Crash并抛出以下异常: ? 是不是发现出错的堆栈完全看不懂呢,如果你不会还原的话,你可能根本就定位不到出错的位置。...怎么还原? 一个字,简单。利用SDK给我提供的工具就可以,大家要有一颗发现美的眼睛啊,SDK提供了很多有用的工具哦。...我们直接双击打开proguardgui.bat文件,通过gui来完成我们的还原工作: ? 哇,好神奇啊,竟然被还原了。

1.9K50

JS的分号可以省掉

第一反应就是JS引擎将代码生成语法树的时候,可能解析不正确。于是,我在第一行末尾加分号测试。...如果你不想用分号,又怕出问题,v2ex上有位童鞋给出了一个速记方案: 如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 "("、"[" 、"/"、"+"、"-" 开头的语句前面都加上一个分号...我最终的解法是先声明一个变量来指向这个数组,这样就可以避免以[开头,又不使用分号: let indexArray = [1, 2, 3] indexArray.map(i=>console.log(i)...) 关于Fundebug Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。...版权声明 转载时请注明作者 Fundebug以及本文地址: https://blog.fundebug.com/2018/09/18/js-semicolon-bug/

9K60

JS 压缩混淆

概念介绍 昨天接到了一个任务,H5  app 的JS CSS 需要压缩,混淆。 然后怎么办呢?...首先理解下压缩混淆是指什么 压缩 compress: 去掉空格,换行,注释等,格式紧凑,节约存储空间。 混淆 obfuscate/garble:替换变量名或方法名,让js不容易看懂。...加密 encrypt:一般用eval方法加密,效果与混淆相似。也做到了压缩的效果。 混淆加密:先混淆再加密。 百度一下js压缩,混淆会搜到一堆在线混淆加密的网页,但是这些都不是你想要的。...但是觉得这个网页混淆做的好:http://www.moralsoft.com/jso-online/hdojso.htm 我们不可能把那么多js文件一个一个的混淆加密,就算你愿意,你老板也觉得你很low...--name-cache 用来保存混淆map的文件 --pure-funcs 假如返回值没被调用则可以安全移除的函数。

14.7K20

JS代码之混淆

AST 在线解析 AST explorer js 在线混淆工具 JavaScript Obfuscator Tool 书籍 《反爬虫 AST 原理与还原混淆实战》 相关混淆代码 kuizuo/js-de-obfuscator...js 代码中混淆还原的对抗,而所使用的技术便是 AST,通过 AST 能很轻松的将 js 源代码混淆成难以辨别的代码。...同样的,也可以通过 AST 将其混淆的代码 还原成执行逻辑相对正常的代码。...(还原)的实现往往可以有好几种方法遍历,会懂得融会贯通,AST 混淆还原才能精通。...有混淆就有还原​ 既然混淆是通过 AST 来进行混淆的,那么还原也同样可以,不过还原就不可能还原出原始开发者所编写的,就如同一些打包工具打包后的代码,比如将 name 压缩成 n,age 压缩成 a,那么就无法推断出

21.8K10

js代码混淆工具?

js混淆工具可以通过以下方式实现代码的混淆:变量重命名:将变量名替换成随机的字符或者无意义的单词,使得代码逻辑难以跟踪。字符串加密:将字符串转换成编码或者其他形式,使得字符串内容难以识别。...由于js代码是运行在浏览器端的,任何人都可以通过查看网页源码或者使用开发者工具来查看和修改js代码,这给js代码带来了很大的风险。...因此,使用js混淆工具可以有效地防止上述情况发生,提高js代码的保密性和抗攻击性。如何选择合适的js混淆工具?市面上有很多不同类型和功能的js混淆工具,如何选择合适的js混淆工具呢?...一般来说,可以从以下几个方面来考虑:混淆效果:不同的js混淆工具可能采用不同的混淆算法和技术,导致混淆效果有所差异。...它可以通过npm安装或者cdn引入使用。JShaman: 这是一个商业级的js代码混淆器,看起来很专业且没有广告。它提供了在线免费使用和购买商业版两种方式。

58200

js代码混淆加密,也可以在vs code中进行

在vs code中对js代码混淆加密Vs code是常用的js代码编辑工具。本文演示如何在vs code中调用jshaman扩展,实现非常方便的js代码加密。...(JShaman是业界很有名的JS代码混淆加密工具)图片搜索到“jshaman javascript obfuscator”后,安装:图片这便把这个扩展安装到了本地,接下来就可以使用了。...打开一个js文件,然后使用此扩展进行js代码混淆。如何使用扩展呢?可以按下ctrl+shift+p,或者从view菜单的command plette...调出命令窗口。...图片然后输入或选择“obfuscate”,即可调用jshman javascript obfuscator,对当前打开的js代码进行混淆。...混淆加密之后,会提示加密完成:图片这时会在原文件的目录中,生成一个加密后的文件:图片很简单吧,在vscode中加密js文件便完成了。

46350

JS代码之还原

基于 Babel 对 JS 代码进行混淆还原操作的网站 JS 代码混淆还原 (kuizuo.cn) 还原前言​ AST 仅仅只是静态分析,但可以还原出来的代码替换原来的代码,以便更好的动态分析找出相关点...接下来我将要演示一个混淆代码是如何还原的,这个例子是我第一次接触混淆的例子,也可以说是我玩的最溜的一次还原了,反正折腾了也有 4,5 来次。...同时这个计算二项式字面量可以还原一些相对简单的混淆,比方说数字异或混淆 706526 ^ 706516计算为 10 就可以直接替换原节点。所以这步的遍历需要相对其他还原提前一些。...运行还原后的代码​ 最终整个还原后的代码可以在newCode.js中查看,但到目前为止还没有测试还原后的代码到底能否正常运行,或者是替换节点导致语法错误,所有就需要将还原后的代码与混淆过的代码替换运行这样才能测试的出来...JS 混淆还原的网站​ 针对上述还原操作其实还不够明显,于是就编写了一个在线对 JS 代码混淆还原的网站(主要针对还原)– JS 代码混淆还原 (kuizuo.cn) 其实也就是对上述的还原代码进行封装成工具使用

18.8K20

JS代码混淆 | js 逆向系列

保护知识产权:混淆代码可以防止他人盗用和复制您的代码。通过混淆,您可以更好地保护您的知识产权,确保您的代码不会被滥用或未经授权使用。...-g uglifyjs example.js -c -m --mangle-props -c 代码压缩 -m 代码混淆 --mangle-props 混淆属性名 -b 美化显示 // 原代码 const...这里需要注意的是,似乎在 javascript 中字符串本身与其 ascii hex 的表示形式效果是一样的(在很多语言里都是这样的) 这种混淆方法可以用在以下位置 字符串值中 对象的属性名称中 这种混淆如果写自动化还原应该也不是很难...根本就不重要,因为它完全可以做成一个黑盒子,随意自定义的对原代码的字符串进行修改,之后提供最终的字符串以及逆向还原的过程,最终通过 eval 来执行,所以回到我们的初衷,我们分析这种混淆压缩所采用的知识点...eval packer 了,它只是简单的字符串替换,即使将原代码中的部分提取出来,通过数组、字典等各种形式存储、拼接、替换等,最终进行还原,这里面没有利用到复杂的语法以及js 语言本身的特性,所以我们一点点解开也学不到什么

85510

逆向进阶,利用 AST 技术还原 JavaScript 混淆代码

AST 并不是为了逆向而生,但做逆向学会了 AST,在解混淆可以如鱼得水。...插入新节点后,再转换成 JavaScript 代码,就可以看到多了一行新代码,如下图所示: [14] 常见混淆还原 了解了 AST 和 babel 后,就可以对 JavaScript 混淆代码进行还原了...extra 节点,或者删除 raw 值也是可以的,所以以下几种写法都可以还原代码: const parser = require("@babel/parser"); const generate =...; 表达式还原 之前K哥写过 JSFuck 混淆还原,其中有介绍 ![] 可表示 false,!![] 或者 !...,比如需要加一些类型判断来限制等,后续K哥会用实战来带领大家进一步熟悉解混淆当中的其他操作。

4.5K54

JS加密、JS混淆技术原理简介

JS加密、JS混淆技术原理简介JS加密、JS混淆JS混淆加密,所指相同,都是指对JS代码进行加密式处理,使代码不可读,以达到保护代码的目的。...执行时,加密的代码会经过解密算法,还原出原始代码,对原始代码进行执行。这属于一种简单加密混淆,可逆、容易解密,安全性很低。...第二种,操作层面与前者最大的差别是,不是对JS代码直接进行分析并加密,而是会进行低层处理,先会对JS代码进行词法分析、语法分析,转化成AST(抽象语法树),得到AST之后,混淆加密操作都是在AST中进行...,完成语法树加密修改之后,再根据AST重新生成全新的密文式JS代码,专业的JS代码加密混淆工具,比如JShaman、JScrambler都是属于这一类。...如此混淆过的JS代码,人无法读懂,但机器可识别,是可以直接运行的,不需要经过解密,因此,不存在通过解密而直接逆向出原码的问题,安全性高。在业内是被广泛认可和应用的。

29840

JS常见加密混淆方式

目录 前端js常见混淆加密保护方式 eval方法等字符串参数 emscripten WebAssembly js混淆实现 JSFuck AAEncode JJEncode 代码压缩 变量名混淆...字符串混淆 自我保护,比如卡死浏览器 控制流平坦化 僵尸代码注入 对象键名替换 禁用控制台输出 调试保护,比如无限Debug,定时Debug 域名锁定 前端js常见混淆加密保护方式 代码压缩:去除空格...、换行等 代码加密:eval、emscripten、WebAssembly等 代码混淆:变量混淆、常量混淆、控制流扁平化、调试保护等 eval方法等字符串参数 emscripten 核心:C/C++...编译:emscripten 结果:asm.js 调用:JavaScript WebAssembly 核心:C/C++ 结果:wasm文件 调用:JavaScript js混淆实现 JSFuck AAEncode...JJEncode 代码压缩 变量名混淆 字符串混淆 自我保护,比如卡死浏览器 控制流平坦化 僵尸代码注入 对象键名替换 禁用控制台输出 调试保护,比如无限Debug,定时Debug

8.4K30

JS逆向常见混淆总结

eval加密 把一段字符串当做js代码去执行 1eval(function(){alert(100);return 200})() 例子: 漫画柜,空中网 之后会单独写一篇漫画柜的解密。...变量名混淆 把变量名、函数名、参数名等,替换成没有语义,看着又很像的名字。...1_0x21dd83、_0x21dd84、_0x21dd85 用十六进制文本去表示一个字符串 1\x56\x49\x12\x23 利用JS能识别的编码来做混淆 JS是Unicode编码,本身就能识别这种编码...类似的一些变量名,函数名都可以用这个表示,并且调用。 1类似: 2 3\u6210\u529f表示中文字符(成功)。...['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'];效果等同于String.fromCharCode 把一大堆方法名、字符串等存到数组中,这个数组可以是上千个成员

2.2K20
领券