瑞数五代ast反混淆笔记一

news2024/11/24 20:53:59

第一部分 瑞数五代ast反混淆笔记一


文章目录

  • 前言
  • 一、分析第一层js文件
  • 二、转换为switch-case
  • 三、效果图
  • 总结


前言

瑞数五代的反混淆做了很久了,当时写的很复杂,也没有记笔记,现在看代码都看不懂了,重新归顺下逻辑思路


一、分析第一层js文件

第一层js文件是在html页面里的,分析结构,其实是一个大数组,加几个while循环的控制流

  1. 大数组包含了五个数组,对应while的数量,
  2. 有一个起始值,就是大数组上面那个值,第一个while就是取 大数组[0][起始值] 作为控制流条件的开始
    在这里插入图片描述
    while下面的第一行代码是作为条件值的变量,来判断走哪个if分支,if语句中的条件可以得到这个变量所属的范围在这里插入图片描述
    如果是else语句,那么它的条件范围就 in [父节点if中条件范围] and not in [兄弟节点if中条件范围]
    根据这些范围就可以得到每个语句中的变量的值应该是多少。
    还有一些坑,就是一些肯定不会走到的地方,比如说
if(k > 10){
	if (k == 5){
	}else if(k == 4){
	}else if(k == 11){
	}else{
	}
}

k == 11 这个语句一定是不会执行的,所以要注意这个地方,这是个无效语句

二、转换为switch-case

步骤基本是这样的:

  1. 首先拿到while语句中if条件中变量的名称
  2. 创建一个对象存储case值及对应的case语句
  3. 然后根据if语句中的条件范围与父节点及兄弟节点的范围来进行确认这个节点对应的条件值是多少,然后把存入上面的对象中
  4. 最后根据第二步的对象创建出一个switch case 节点来替换掉while下面的block节点

三、效果图

在这里插入图片描述

总结

while 转 switch-case

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

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

相关文章

Bitcoin SV 和 Bitcoin Core 之间首次跨链原子交换

我们已经执行了 Bitcoin SV 和 Bitcoin Core 之间的首次原子交换。 这一成就代表了比特币 SV 的重大进步,以去信任的方式促进了与其他区块链的无缝互操作性。 图片源自Gemini 在上一篇文章中,我们解释了原子交换的高级理论。 我们深入研究了使用哈希时间…

供配电系统智能化监控

供配电系统智能化监控是指利用先进的监测技术、自动化控制技术、计算机网络技术等,对供配电系统进行实时、全方位的监测和控制,以实现供配电系统的安全、稳定、高效运行。 供配电系统智能化监控的主要功能包括: 实时数据采集:通过…

C语言WFC绘制矩形

代码实现: void CCGDrawingView::Rectangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, COLORREF color,CDC* pDC) {CPen redPen(PS_SOLID, 1, color);CBrush redBursh(color);CPen* pOldPen pDC->SelectObject(&redPen);CBrush* p…

十八数字文化受邀参加版博会“区块链+版权”创新应用试点研讨会

2023年11月23日至25日,以“版权新时代 赋能新发展”为主题的第九届中国国际版权博览会在成都市中国西部国际博览城和天府国际会议中心举办。版博会是我国版权领域唯一的综合性、国际性、国家级版权专业博览会,本届版博会由国家版权局主办,四川…

双十一备战与复盘

如何组织备战 重要节点 从大促启动会开始后我就开始计划我们本次备战的整体节奏。 挑战在哪 以上内容介绍了CDP平台有多么重要,那么画像系统备战的核心挑战在“如何保障在大流量高并发情况下系统稳定提供高性能服务”,主要表现在:稳定性、…

【GO】k8s 管理系统项目16[前端部分--项目初始化]-学习记录

学习链接 https://blog.csdn.net/qq_29974229/article/details/129119279?spm1001.2014.3001.5502 nvm use v16.15.0 npm install vue -g npm install -g vue/clivue create k8s-plantform-fe选择 Default cd k8s-plantform-fe npm run servecd ./src mkdir views mkdir r…

ESXi 6.7 升级 7.0

方式一:esxcli方式 1.登陆exsi web界面。 启用控制台shell 2.存储-datastore-数据存储浏览器,上载 ESXI-7.0.0-depot.zip升级文件。记住此datastore的位置 ssh连接ESXI主机 vmware -vl 查看当前版本 查看升级包中对应的版本信息: es…

长沙市中小学入学报名流程及上传证件照电子版制作方法

长沙市中小学入学报名是家长和学生迈向教育之门的第一步。通常,报名过程分为线上和线下两个阶段。首先,家长需在规定时间内登录报名系统,填写详细的入学信息等。长沙市注重教育公平,为确保每个孩子都有平等的入学机会,…

(六)上市企业实施IPD成功案例分享之——中兴通讯

在通信业,项目交付的质量和效率,很大程度上影响着运营商的竞争力,先进的项目管理理念、数字化的项目管理工具及丰富的实践经验,是运营商选择合作伙伴的主要维度。在中国,IPD之所以名气这么大,最大的原因就是…

【全新升级】:Word、Excel和PPT批量转PDF - PyQt设计

文章目录 ✨前言✨脚本使用教程📚资源领取(含源代码) ✨前言 最近花了十几天的时间学习了PyQt的使用,发现PyQt具有丰富的特性和功能,可以创建出漂亮、交互性强的GUI应用程序,而且还可通过CSS样式表来设计界…

C语言:编程实现1!+2!+3!+4!+……+n!

分析&#xff1a; #include<stdio.h>//这是一个预处理指令&#xff0c;将stdio.h头文件包含到程序中&#xff0c;以便使用输入输出函数。 int main()//这是程序的主函数&#xff0c;是程序执行的入口点。 int i, a 1, t 0, n;//定义了整型变量i、a、t和n。其中&#x…

viple模拟器使用(二):Web 2D模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法原理 默认直行&#xff1b;右侧有路&#xff0c;则右转&#xff1b;前方无路&#xff0c;则左转。 使用了2个传感器&#xff0c;分别是&#xff1a;机器人右侧的距离传感器 、前方的触觉传感器。 按照逻辑&#xff0c;程序中需要左转&#xff08;Left90&#xf…

ESXi 添加新网络 配置ubuntu虚拟机双网卡

基本概念 在ESXi的虚拟机之间确保正常通信的基础是网络服务&#xff0c;通常在物理网络中需要使用不同的物理设备进行连接才能组建出高效的网络服务&#xff0c;而在虚拟网络中&#xff0c;需要不同的虚拟设备为其提供服务。 ESXi的网络类型&#xff1a; 1、物理网络&#xf…

(七)上市企业实施IPD成功案例分享之——波音

有数据统计&#xff0c;早在疫情前的2019年&#xff0c;全球民用航空运输的旅客数量就已经达到了45亿人的峰值。其中&#xff0c;中国民航总计运输6.6亿人次。而只要出行坐飞机&#xff0c;就会发现机型大都是波音。事实上&#xff0c;波音公司垄断了全球几近一半的民航大飞机&…

Sass 安装

文章目录 前言SASS的系统要求安装Ruby例子后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;Sass和Less &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&…

排序篇(六)----排序小结(不用三连,混流量券)

排序篇(六)----排序小结 排序算法复杂度及稳定性分析 直接插入排序的算法复杂度&#xff1a; 最好情况下&#xff0c;当数组已经有序时&#xff0c;直接插入排序的时间复杂度为O(n)&#xff0c;其中n是数组的大小。最坏情况下&#xff0c;当数组逆序排列时&#xff0c;直接插…

有哪些可信的SSL证书颁发机构?

目前市面上所显示的SSL证书颁发机构可所谓不计其数&#xff0c;类型也是多样&#xff0c;就好比我们同样是买一件T恤&#xff0c;却有百家不同类型的店铺一个道理。根据CA里面看似很多&#xff0c;但能拿到99%浏览器及设备信任度的寥寥无几&#xff0c;下面小编整理出几家靠谱可…

基于SWT的图书管理系统设计

功能说明 用SWT做一个图书管理系统,要求实现如下功能: 用户从登录窗口登录。用户身份有3种:高级管理员,普通管理员,普通用户。权限如下: 高级管理员具有所有权限,包括增、删、改、查书籍和用户,借书和还书,设置借阅数量限制,查看所有人的借阅记录; 普通管理员只…

京东平台上API接口的接入|获取京东工业商品详情数据

京东获得JD商品详情 API 返回值说明 item_get-获得JD商品详情 onebound.jd.item_get 公共参数 请求地址:申请KEY调用测试 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#x…

Redis基础——入门数据类型常用命令Java中操作Redis

这里写目录标题 1. 前言1.1 什么是Redis1.2 使用Redis能做什么 2. Redis入门2.1 Redis简介2.2 Redis下载与安装2.2.1 Redis下载2.2.2 Redis安装 2.3 Redis服务启动与停止2.4 Redis配置文件 3. Redis数据类型3.1 介绍3.2 Redis 5种常用数据类型 4. Redis常用命令4.1 字符串strin…