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

JS代码还原

基于 Babel 对 JS 代码进行混淆与还原操作的网站 JS 代码混淆与还原 (kuizuo.cn) 还原前言​ AST 仅仅只是静态分析,但可以将还原出来的代码替换原来的代码,以便更好的动态分析找出相关点...在还原时,并不是所有的代码都能还原成一眼就识破代码执行逻辑的,ast 也并非万能,如果你拥有强大的 js 逆向能力,有时候动态调试甚至比 AST 静态分析来的事半功倍。...demo.js 替换一下,方便接下来的还原处理。...运行还原后的代码​ 最终整个还原后的代码可以在newCode.js中查看,但到目前为止还没有测试还原后的代码到底能否正常运行,或者是替换节点导致语法错误,所有就需要将还原后的代码与混淆过的代码替换运行这样才能测试的出来...JS 混淆与还原的网站​ 针对上述还原操作其实还不够明显,于是就编写了一个在线对 JS 代码混淆与还原的网站(主要针对还原)– JS 代码混淆与还原 (kuizuo.cn) 其实也就是对上述的还原代码进行封装成工具使用

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

如何还原前端代码

前言 在渗透测试时,经常会遇到以js.map为后缀的文件 这是jQuery中的一个新功能,支持Source Map 非常多Webpack打包的站点都会存在js.map文件....通过还原前端代码找到API,间接性获取未授权访问漏洞 什么是Source map 简单说,Source map就是一个信息文件,里面储存着位置信息。转换后的代码的每一个位置,所对应的转换前的位置。...有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,这无疑给开发者带来了很大方便。...restore-source-tree可以还原目录,但一些文件会出现还原不了的情况 shuji可以还原文件,但同名的文件会出现忽略且不保存的情况 安装reverse-sourcemap 此处以Windows...files - default: \.map$   -r, --recursive          Recursively search matching files Version 1.0.4 还原代码

2.4K30

如何还原前端代码

前言 在渗透测试时,经常会遇到以js.map为后缀的文件 这是jQuery中的一个新功能,支持Source Map 非常多Webpack打包的站点都会存在js.map文件....通过还原前端代码找到API,间接性获取未授权访问漏洞 什么是Source map 简单说,Source map就是一个信息文件,里面储存着位置信息。转换后的代码的每一个位置,所对应的转换前的位置。...有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,这无疑给开发者带来了很大方便。...restore-source-tree可以还原目录,但一些文件会出现还原不了的情况 shuji可以还原文件,但同名的文件会出现忽略且不保存的情况 安装reverse-sourcemap 此处以Windows...files - default: \.map$ -r, --recursive Recursively search matching files Version 1.0.4 还原代码

4.8K31

Android混淆代码错误堆栈还原

前言 相信做过app的同学对代码混淆应该不陌生吧,如果陌生就自行百度,这里不做普及。我们先思考一个问题,如果我们把代码混淆了,如果出错了怎么定位问题?...答案非常简单,只要稍微实践下你就明白了,下面就是给你整理的对混淆代码错误堆栈还原的方法。 如何混淆?...('proguard-android.txt'), 'proguard-rules.pro' } mapping.txt文件 mapping文件是我们要实现混淆代码还原必须要关注的一个文件...制造一个混淆代码的Crash ? ? 启动MainActivity的时候就会直接Crash并抛出以下异常: ? 是不是发现出错的堆栈完全看不懂呢,如果你不会还原的话,你可能根本就定位不到出错的位置。...我们直接双击打开proguardgui.bat文件,通过gui来完成我们的还原工作: ? 哇,好神奇啊,竟然被还原了。

1.9K50

JavaScript代码压缩细节

前言 对于Javascript来说,提高网络下载的性能最直接的方法就是把JS文件体积减小。...为了方便理解和对比,本文会给出压缩前后代码作为参考,但压缩后的代码仍会换行,变量名字不做混淆处理,同时一个压缩规则的例子会尽量不混其它压缩策略进去。 1....的压缩 对a>=b取非可以得到a<b,对a&&b取非可以得到!a||!b。如果转换后的结果能得到更短的代码,那就将这个取非的表达式换成转换后的表达式。 压缩前 !(a>=b) !!!a 12 !...  function B(){ }   return false;   var a = 1; } 规则6.4 合并块末尾的return语句及其前边的多条表达式语句 其实这条规则看起来并不会使最后生成的代码缩小...C){   D(); } 规则7.3 尝试反转if/else分支,看看生成代码是否更短 尝试对if条件取非,如果能得到更短的代码,那就反转if/else分支。 压缩前 if (!

1.1K20

PC逆向之代码还原技术,第四讲汇编中减法的代码还原

PC逆向之代码还原技术,第四讲汇编中减法的代码还原 一丶汇编简介 在讲解减法的代码还原之前.我们首先要知道. 减法在汇编中对应的指令是什么. Sub 汇编指令....; //变量 - 负数常量 return 0; } 有四种方式 第一种 常量 - 常量 第二种 变量 - 常量 第三种 变量 - 变量 第四种 变量 + 负数常量 1.代码还原解析...: 代码还原解析需要了解的知识: reg: 代表任意通用寄存器 imm: 立即数,可以看做常量 ?...pop ebp .text:00401292 retn .text:00401292 _main_0 endp 可以根据自己需求,将上面的代码进行还原...当然还原出的高级代码可能跟我写的高级代码不一样.这是正常的. 但是如果还原正确.那么在IDA中.二进制十一摸一样的. 也就是汇编. 此时就算还原正确. 四丶知识总结 总体来讲.

57720

PC逆向之代码还原技术,第三讲汇编中加法的代码还原

PC逆向之代码还原技术,第三讲汇编中加法的代码还原 一丶汇编简介 在讲解加法的代码还原之前.我们首先要知道. 加法在汇编中对应的指令是什么. Add 汇编指令....nVar; //变量 + 变量 return 0; } 有四种方式 第一种 直接 空语句 1 + 2 ; 第二种 常量 + 常量 第三种 变量 + 常量 第四种 变量 + 变量 1.代码还原解析...: 代码还原解析需要了解的知识: reg: 代表任意通用寄存器 imm: 立即数,可以看做常量 ?...add ecx, [ebp+var_8] .text:0040127E mov [ebp+var_C], ecx 三丶根据上图完整汇编代码进行还原总结 text...在Releas下我们上面的代码会直接优化,没有产生任何汇编代码. 原因是: 常量传播 窥孔优化 常量折叠. 因为上面代码我们并没有用. 无意义的代码.所以不断进行优化就会优化没有.

44420

Nginx 静态压缩代码压缩,提高访问速度!

T_T 对于这个问题,咋们今天就从代码压缩 + nginx 静态资源压缩,两个方面进行研究解决!!!...nginx 静态资源动态压缩的原理,无非就帮我们将 js、css 等文件,压缩为一个.gz 文件,然后传输给前端浏览器,进行解析。...说到这,咋们不禁会说:那咋们先将 js、css 等文件,生成对应的.gz 文件,不就不需要 nginx 动态压缩了嘛? 好像是这么一回事!!! 天才呀!!!...nginx 静态资源静态压缩js、css 等文件,生成对应的.gz 文件 这个,就可以借助一些依赖进行处理了:compression-webpack-plugin 安装依赖: npm install...compression-webpack-plugin -D 复制代码 vue.config.js const CompressionWebpackPlugin = require('compression-webpack-plugin

1.5K20

js代码规范

前言 在js代码开发中,我简单的总结出了以下规则,后面会陆续补充并且对规范进行分类。...js代码建议保存到后缀名.js的文件中 js代码不建议放在html中,原因有:不能被缓存,会增大网页文件的大小,可维护性不高,会影响页面的加载。...缩进,建议使用空格,因为各个环境对tab的解释不通,而空格可以在压缩文件中统一被压缩掉。 每行控制在80个字符以内,如果超过请折行。...比如对象 var obj={} ;var arr=[] eval eval是最容易混乱使用的js函数,他可以执行内部入参的js函数或者表达式,可以直接解析变量。不建议使用 。...尽量使用语法严格模式 消除代码之中的不友好;代码运行更快 ;保证运行的安全 ;为新版本的js做好铺垫。 22.

8.8K30

调试JS代码

记录下近期对JS代码的调试过程 性能分析 启动程序之后,打开google浏览器对应页面,按F12或者Ctrl+Shift+I进入 开发者工具页面 目前主要使用的功能有: Performance....性能评估,比如我想看下页面刷新的性能瓶颈所在,先点击 按钮,然后进行页面操作,当页面刷新完成,再点击 按钮,则会生成性能报告,可以看到资源消耗,JS代码的执行逻辑等 Sources....性能报告页面的 部分,可以通过点击色块查看其所在的js代码文件,如 点击则会跳转到 功能栏,有了源文件就可以进行断点调试;这里注意部分js文件是压缩后的文件,建议手动修改程序替换成可读性更强的原始代码文件...查看程序的打印输出,比如我想知道某个函数的执行时间,可以在js代码中进行修改 当js代码执行之后,可以在console输出中看到foo的执行时间 Network....代码使用for循环进行操作,也就是线性复杂度,计算耗时随数据量的增大而线性增大 通过debug观察发现颜色数组会有不少重复的数值,而同样的输入会导致相同的输出,然后对整个数据的1M个点进行统计分析,发现重复率相当高

19K10
领券