瑞数五代ast反混淆笔记二

news2024/10/5 20:28:52

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


文章目录

  • 前言
  • 一、分析思路
  • 二、轨迹合并思路
  • 三、避免重复调用一个轨迹
  • 四、自己调用自己所在的函数
  • 五、语句中包含if的处理
  • 六、语句中包含try的处理
  • 七、节点中包含影响自身值的操作
  • 总结


前言

当if转为switch后,就要对switch-case节点进行节点合并了,这样才能保证更便捷的分析处理代码


一、分析思路

如果要合并代码,那我们要知道代码的运行轨迹是怎样的,因为while下面的代码中,条件变量的值是会改变的,每次取得下标会递增,在语句中还会赋值加减在这里插入图片描述
所以可以创建一个对象,然后把每次的运行轨迹存起来,然后通过fiddler替换响应,页面执行后,就可以得到它的轨迹流程了在这里插入图片描述

当地一层页面加载完成后,将轨迹复制出来
得到了运行轨迹,还有转化好的switch-case语句,然后开始轨迹合并

二、轨迹合并思路

根据while节点一个一个处理

  1. 找到while节点
  2. 取出之前保存好的该while节点对应的轨迹
  3. 根据轨迹构建case节点,直到return证明节点创建完毕
  4. 整合所有创建好的switch-case节点,替换while节点在这里插入图片描述

三、避免重复调用一个轨迹

例如轨迹是这样的
[16,8,6,1,9,2,7,5,3,1,9,2,7,5,3,4,12,…]
可以看出 1,9,2,7,5,3, 调用了两次,其实 1 就是一个起始case节点, 如果这样的话就要忽略掉

case 1:
	1节点内容;
	9节点内容;
	2节点内容;
	7节点内容;
	3节点内容;
	return

所以一个节点创建了就不要重复再进行创建;

四、自己调用自己所在的函数

调用自身函数的时候,节点就要创建一个新的,如下图,就需要创建一个 case 8 节点,可以使用正则判断语句内是否包含本身函数并且传入了值,然后在进行创建case节点在这里插入图片描述

五、语句中包含if的处理

六、语句中包含try的处理

七、节点中包含影响自身值的操作

总结

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

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

相关文章

机器视觉 AI 数据集制作

工业中,机器视觉物体分拣时,需要制作,数据集,那么,一般情况下,可以选择几个物体的几张图片,或者视频,将待识别的物体的掩模扣取出来,随机的贴在 传送带背景中&#xff0c…

多线程04 死锁,线程可见性

前言 前面我们讲到了简单的线程安全问题以及简单的解决策略 其根本原因是cpu底层对线程的抢占式调度策略,随机调度 其他还有一些场景的问题如下 1.多个线程同时修改一个变量问题 2.执行的操作指令本身不是原子的 比如自增操作就分为三步,加载,自增,保存 3.内存可见性问题 4.指令…

【vue】浏览器安装vue插件不生效

上一篇:浏览器安装vue插件 https://blog.csdn.net/m0_67930426/article/details/134598104 目录 问题情景 解决办法 问题情景 输入框无内容 解决办法 添加 Vue.config.devtools true; 并且控制台不显示的vue又出现

13.端点、簇、属性

源码地址:13.端点、簇、属性 端点(endPoint) 一个端点就是一个应用 一个字节编号,数据收和发送的基本单元,在模块通信的时候,发送模块必须指定收发双方模块的网络地址和端点。端点要使用必须要和模块里的…

「Linux」git的安装与使用

💻文章目录 📄前言安装git的使用配置git初始化 git 仓库提交文件推送到远端使用HTPPS方式:SSH方式 📓总结 📄前言 git是一款多平台的版本管理器,用于对代码进行版本控制,如果你还不知如何安装gi…

Git指定分支或文件回退到指定版本

文章目录 一、分支回滚1.1、使用 git reset 命令1.2、使用 git revert 命令1.3、使用 git checkout 命令 二、文件回滚2.1、回滚未提交文件2.2、回滚已提交文件2.2.1、首先查看文件的历史版本2.2.2、找到你想要还原的版本2.2.3、将文件还原到你想要还原的版本2.2.4、提交代码 三…

【数据结构初阶(5)】链式队列的基本操作实现

文章目录 队列的定义初始化队列队尾入队列队头出队列取队头元素取队尾元素获取队列有效元素个数判断队空销毁队列 因为队列比较简单,关于队列的概念就不过多赘述了,本文只讲链队的基本操作实现 队列的定义 定义队列结点结构 链队中的每个结点都应该包…

RK3568平台开发系列讲解(Linux系统篇)pinctrl api介绍及实验

🚀返回专栏总目录 文章目录 一、pinctrl函数介绍二、设备树案例三、驱动案例 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍pinctrl api及其使用案例 。 一、pinctrl函数介绍 ①获取设备对应的 pinctrl…

在Matlab里安装gurobipy怎么安装教程

在Matlab 里安装gurobipy 先在CMD里激活, 然后添加系统环境变量 GRB_LICENSE_FILEC:\gurobi10.2\gurobi.lic 然后输入 addpath(D:\gurobi1003\win64\matlab) addpath(C:\gurobi1003\win64\matlab) addpath(C:\gurobi1002\win64\matlab) C:\gurobi1003\win64\m…

多功能智慧路灯系统整体解决方案介绍

在不改变现有城市景观的前提下,利用现有路灯改造,或新建多功能叁仟智慧路灯的方法,可实现城市无线网络、视频监控、物联传感网络、新能源充电系统、网格信息化管理的全覆盖,有效解决信息化设备选址难、取电难等问题。在目前无线通…

可以免费使用的Axure在线版来了

Axure作为一种功能强大的原型设计工具,一直受到设计师的青睐。然而,其高昂的价格可能成为一个门槛,限制了一些设计师的选择。但不用担心,现在有一个免费的Axure在线工具即时设计,功能更完整,更划算&#xf…

智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于飞蛾扑火算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.参考…

小程序如何进行版本回退

当商家决定回退小程序版本时,可能是因为新版本出现了一些问题或者不符合预期,需要恢复到之前的稳定版本。下面具体介绍怎么回退小程序的版本。 在小程序管理员后台->版本设置处,点击版本回退。确认后,小程序会回退到上一次的版…

基于springboot-“有光”摄影分享网站系统(2023年☆全网唯一)【附源码|数据库|表结构|万字文档(LW)|技术文档|说明文档】

主要功能 前台登录: 注册用户:用户账号、密码、姓名、手机号、身份证号、性别、邮箱 用户: ①首页、公告资讯展示、图片素材展示、活动展示、视频素材展示、查看更多 ②论坛、发布帖子、活动、活动标题、活动类型、公告资讯、公告标题、公告…

Day43力扣打卡

打卡记录 子数组的最小值之和(乘法原理 单调栈) 大佬的题解 class Solution:def sumSubarrayMins(self, arr: List[int]) -> int:n len(arr)# 左边界 left[i] 为左侧严格小于 arr[i] 的最近元素位置(不存在时为 -1)left, s…

消失的数字,旋转数组(leetcode 一题多解)

目录 一、消失的数字 思路一(暴力求解)代码实现: 思路二(数列的思想)代码实现: 思路三(异或的运用)代码实现: 二、轮转数组 思路一(暴力求解&#xff09…

viple模拟器使用(三):unity模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法 引导 线控模拟可以使得通过用户手动操作,实现机器人在模拟环境下在迷宫中行走(即:运动),算法可以使得机器人按照一定的策略自动行走,沿右墙迷宫算法就是其中的一种策略。 目的 运行程序后&…

C++学习之路(七)C++ 实现简单的Qt界面(消息弹框、按钮点击事件监听)- 示例代码拆分讲解

这个示例创建了一个主窗口,其中包含两个按钮。第一个按钮点击时会显示一个简单的消息框,第二个按钮点击时会执行一个特定的操作(在这个例子中,仅打印一条调试信息)。 功能描述: 创建窗口和布局:…

RT-DETR改进 | 2023小目标改进 | InnerEIoU、InnerSIoU、InnerWIoU、InnerDIoU等二十余种损失函数

论文地址:官方Inner-IoU论文地址点击即可跳转 官方代码地址:官方代码地址-官方只放出了两种结合方式CIoU、SIoU 本位改进地址: 文末提供完整代码块-包括InnerEIoU、InnerCIoU、InnerDIoU等七种结合方式和其AlphaIoU变种结合起来可以达到二十…

【大家的项目】Tran 简洁, 快速, 划词翻译

技术栈: rusttaurisolidjstypescript 欢迎萌新参与练手, 也欢迎大手子来魔改, ⭐star 当然是多多益善啦, ヾ(≧▽≦*)o Tran 简洁, 快速, 划词翻译 Keep it simple,stupid. 功能 划词翻译划过固定 划过关闭划过复制 快捷键: Alt X 构建 To \ FormZHJAZH…