buuctf_equation

神秘的Javascript混淆法,从前有个程序员大神, 运用了javascript的语法特性创造了一个js混淆方法,这个名字在日本叫做“jjfucker”..没错,大神都不知道这个玩意儿怎么做的,很烦恼就取名了f**k。

后面还有很长一大串。

嗯,就先搜索一下js混淆方法吧

JS代码混淆技术

JS代码混淆技术可以将JavaScript代码转换成一个新的代码形式,使其难以理解和破解。这种转换通常包括将变量名和函数名替换为无意义的字符、删除代码中的空白和注释、将多行代码压缩成一行等操作。混淆后的代码和原代码在功能上是等效的,但是由于其结构和命名被混淆,甚至看起来无法读懂。

防止爬虫通过分析js内容,轻易的还原出网站的加密逻辑,而做出的安全防御手段之一,常常将一个逻辑简单的可能十几行算法代码思路,通过变量混淆替换、增加冗余无效代码、增加无限debugger反调试功能、增加多层的套娃式if~else代码、以及埋陷阱等混淆成几千行的js代码

JavaScript混淆_js混淆-CSDN博客

好吧,不知道怎么弄

额,是 fuck 混淆

from unjsfuck import *
s = '''l[!+[]+!+[]+!+[]+!+[]+[+[]]] .......'''
v = unjsfuck(s)
print(v)

也有几处没解出来

以及不能显示负数,还有引号

在这里插入图片描述
在这里插入图片描述

正常是-12

在这里插入图片描述

解决方法用replace替换下就行(能用就行.jpg)

from unjsfuck import *
s = '''l[!+[]+!+[]+!+[]+!+[]+[+[]]] .......'''
strlist = s.split("&&")   #分割
for i in strlist:t = i.split("==")   #分割# print("s.add(",unjsfuck(t[0]).replace("'",""),"==",unjsfuck(t[1]).replace("'","").replace("+",""),")")t0 = t[0].split("-")   #由于不能显示负数,所以负号也要分割一下for j in range(len(t0)):print(unjsfuck(t0[j]).replace("'",""),end="")if j != len(t0) - 1 :print("-",end="")print("==",unjsfuck(t[1]).replace("'","").replace("+",""))

 脚本有点问题

还有直接写js脚本的

BUUCTF--equation-CSDN博客

还有使用Google Closure Compiler直接对js进行了压缩。

嗯,js逆向遇到的算是很少的,主要那两个脚本应该学学其思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习和opencv的车牌识别系统

免费获取方式↓↓↓ 项目介绍028: 基于深度学习和opencv的车牌识别系统 同时利用对图片每一帧图像加入视频分析模块 图片分析模块可以依据界面按钮提示进行相应功能 视频分析模块可以根据按钮提示进行对视频的分析 (视频模块的视频追踪处理时间较长&…

天气的雪碧图标(晴天,雨天,雪天,阴天,雾天,多云等)(2024-05-27)

天气的预览图标,可以自行下载,或者在资源中下载高清的

基于单片机和蓝牙控制的智能小车设计

摘要 : 本文设计了一种以智能手机为平台控制小车的控制系统,该系统以蓝牙为通信模块,手机通过蓝牙发送信号给小 车上的蓝牙模块,从而驱动电机实现小车各种运动,提供了一种无线遥控小车的新思路。设计了该系统的硬件与软…

从这个角度去看交换机路由器,你一定没想到

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 中午好,我的网工朋友。 今天聊点有趣的,从最浅层去重新看看交换机和路由器,思考一波网络是怎样互联的 很多网…

感谢信∣高成长型动力电池供应商『华鼎国联』采购管理平台项目上线,企企通SRM加速新能源汽车发展新质生产力

近日,企企通收到来自华鼎国联四川动力电池有限公司(以下简称“华鼎国联”)的感谢信,对企企通团队在采购数字化项目实施中所付出的努力表示感谢。 华鼎国联在感谢信中特别指出,回首披荆斩棘的2023年,企企通的…

Unity3D输入事件

文章目录 前言一、全局事件二、射线三、点选3D模型四、点击地面控制人物移动总结 前言 Unity输入事件分为两类,全局触发和监听式触发。全局触发通常是运行在update在每帧进行检测,而监听式触发是被动的输入事件。 一、全局事件 在最新的unity中有新和旧…

@Async详解,为什么生产环境不推荐直接使用@Async?

一、Async 注解介绍: Async 注解用于声明一个方法是异步的。当在方法上加上这个注解时,Spring 将会在一个新的线程中执行该方法,而不会阻塞原始线程。这对于需要进行一些异步操作的场景非常有用,比如在后台执行一些耗时的任务而不…

JUC框架(Semaphore、CountDownLatch、CyclicBarrier)

文章目录 Semaphore(信号量)Semaphore介绍Semaphore基本概念Semaphore使用场景Semaphore示例 CountDownLatch (计数器/闭锁)CountDownLatch 介绍CountDownLatch 基本概念CountDownLatch 使用场景CountDownLatch 基本方法CountDownLatch 示例 CyclicBarri…

分布式微服务之springboot学习

跟着韩顺平老师学Java SpringBoot基本介绍官方文档springboot是什么?springboot快速入门需求/图解说明完成步骤快速入门小结 Spring SpringMVC SpringBoot的关系梳理关系如何理解 -约定优于配置 依赖管理和自动配置依赖管理什么是依赖管理修改自动仲裁/默认版本号 starter场景…

mac 安装java jjdk8 jdk11 jdk17 等

oracle官网 https://www.oracle.com/java/technologies/downloads/ 查看当前电脑是英特尔的x86 还是arm uname -m 选择指定版本,指定平台的安装包: JDK8 JDK11的,需要当前页面往下拉: 下载到的安装包,双击安装&#x…

ChatGLM3-6B部署

ZhipuAI/chatglm3-6b 模型文件地址 ChatGLM3 代码仓库 ChatGLM3 技术文档 硬件环境 最低要求: 为了能够流畅运行 Int4 版本的 ChatGLM3-6B,最低的配置要求: 内存:> 8GB 显存: > 5GB(1060 6GB,2060 6G…

[力扣]——231.2的幂

题目描述: 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 bool isPowerOfTwo(int n){ if(n0)retur…

3D技术的应用领域

3D技术在现代科技和工业中有广泛的应用,其涵盖的领域非常广泛,从娱乐到医学,再到制造业和建筑,3D技术正在改变我们理解和互动的方式。以下是一些主要的应用领域。北京木奇移动技术有限公司,专业的软件外包开发公司&…

如何获取某个城市或区域的人口分布数据?

人口分布数据在多个领域都扮演着至关重要的角色。这些数据不仅反映了一个国家或地区的人口分布状况,而且为政策制定者、企业决策者和研究者提供了宝贵的信息。那么,我们如何获取这些重要的人口分布数据呢? 政府统计部门是最主要的来源。各国政…

通用代码生成器应用场景二,快速原型

通用代码生成器应用场景二,快速原型 对项目经理,产品经理和售前工程师而言,开发快速原型是一种常见的需求。使用通用代码生成器,您可以更好,更快的开发系统的快速原型。通用代码生成器对完成CRUD和登录系统阶段的快速…

2024 NahamConCTF re 部分wp

IPromise 附件拖入ida main里没东西,但是函数列表很明显。直接在线网站解 Taylors First Swift 附件拖入ida,会提示识别到结构,选择yes 比较简单,可以直接猜异或之后再base64 Whats in the Box? 新遇见的题型,是用mak…

四元数学习总结(2)

导语:相比矩阵,用四元数处理3D旋转的优势是毋庸置疑的,但由于概念复杂,难于理解,一直令我摸不着头脑。最近学习更是发现在机器人、无人机、SLAM等先进领域,四元数被当成实数、整数这样的基础,所…

抄单 高频下单系统的功能都有什么?

1、多开:同一台电脑同一个账户无限数量登录(登录后可独立新开合约,挂单,买卖等),多开后可使用三种不同切换方式来回切换,第一种为ALTTab切换、第二种为点击搜索条切换、第三种为点击下方任务栏切…

RT-Thread更改msh串口波特率

修改rt-thread文件下components下dirvers下serial.h文件里 #define RT_SERIAL_CONFIG_DEFAULT 里的默认波特率即可

Vue进阶之Vue项目实战(三)

Vue项目实战 图表渲染安装echarts图表渲染器(图表组件)图表举例:创建 ChartsRenderer.vue创建 ChartsDataTransformer.ts 基于 zrender 开发可视化物料安装 zrender画一个矩形画一个柱状图 基于svg开发可视化物料svg小示例使用d3进行图表渲染安装d3基本使用地图绘制…