首页 > 其他分享 >JS混淆代码数据集构建方法

JS混淆代码数据集构建方法

时间:2024-04-17 19:45:02浏览次数:18  
标签:混淆 变量 代码 JS 语法 构建 变量名

  • 数据获取

(1)公开JS数据集,比如CodeSearchNet;

(2)自行构建JS数据集,爬取Github开源前端项目;

  • 数据描述

Github中采集前端项目文件分类如下,从中提取JS文件

  • 数据预处理

  其中比较重要的步骤:

  (1)代码混淆:使用现有工具,如UglifyJS、Terser、babel-minify、JS-Obfuscator;

     以UglifyJS为例,结果如下(混淆前-->混淆后);

  (2)变量名提取:包括静态解析和动态分析两种方法;通过静态解析的方式可递归遍历抽象语法树节点以提取代码中定义的变量名。静态解析的一种常用方法如下:

  采用DTW算法,通过声明变量的节点到抽象语法树根节点的路径来表征该变量,然后计算原始代码的抽象语法树变量路径和混淆代码抽象语法树 中变量表征路径的相似度来进行变量名匹配, 以此创建变量名映射表(即原始变量 名和混淆变量名构成的键值对), 同时在此过程中丢弃不包含变量名的函数。 

标签:混淆,变量,代码,JS,语法,构建,变量名
From: https://www.cnblogs.com/theon/p/18141559

相关文章

  • 最高法--质量保证金应按照《工程质量保修书》的约定从质量保修期满后开始计算利息系混
    (2020)最高法民申3252号  河南国安建设集团有限公司、河南亚星置业集团有限公司建设工程施工合同纠纷再审审查与审判监督民事裁定书本院认为:(三)关于二审判决认定的工程款利息起算点是否正确的问题。双方在《补充协议》第26.1.1.3条中约定,“剩余的5%作为质量保证金,待竣工验收合......
  • JS代码混淆器:iPaGuard — 让你的代码看起来令人头大
     在当今互联网时代,JavaScript作为一种广泛应用的编程语言,扮演着至关重要的角色。然而,随着网络技术的不断发展,JavaScript代码也面临着日益增加的安全威胁。为了保护JavaScript代码免受未经授权的复制、修改和逆向工程,开发者需要借助专业的工具和技术。其中,iPaGuard就是一款......
  • IPAguard–iOS代码混淆工具(免费)
     IPAguard是一款为iOS开发者设计的代码混淆工具,旨在为开发者提供方便制作和分析马甲包的解决方案。通过高效的匹配算法,IPAguard可以在保证代码混淆的同时,保证编译后的代码质量,减少了因混淆引起的bug,使得开发者能够更加专注于App的功能实现与优化。 TODOLIST以下是IPAguard......
  • 离线使用Pyecharts制作可视化图表——方法1:启动本地 js 服务
    在离线使用Pyechart进行可视化数据绘图的时候,会有生成的html网页打不开,或者是网页不出图像,是一个空白页面的问题出现,搜索发现其主要原因是:由于PyEcharts在升级到1.x版本后,将原来HTML网页中使用到的很多js文件换为了在线获取的方式,例如打开我本地生成的bar.html示例文件,就会发......
  • autojs 坚果云上传文件跟下载
    例子:点击查看代码/**坚果云*/letJgy=JianGuoYunHelper();//初始化Jgy.init("username","password","坚果云测试_数据备份");//文件名Jgy.setThisFileName("测试文件");//上传数据(覆盖)letputRes=Jgy.put("测试数据测试数据测试数据");//获取数......
  • HarmonyOS 项目 module.json5默认配置属性及描述
    module.json5entry>src>main>module.json5是模块的配置文件,包含当前模块的配置信息。 其中module对应的是模块的配置信息,一个模块对应一个打包后的hap包,hap包全称是HarmonyOSAbilityPackage,其中包含了ability、第三方库、资源和配置文件。其具体属性及其描述可以参照下表1。......
  • 解决苹果审核4.3问题的有效策略:尝试混淆或重新上架?用这招居然成功上架AppStore了!
    本文分享了一款社交App在迭代过程中遇到苹果审核4.3问题的解决经验。我经历了被拒、账号封禁等困境,最终通过沟通、混淆和寻找解决方案成功上架AppStore。特别推荐了4.3解决秘籍-ipaguard 神器,分享了其对解决问题的帮助。在社交App迭代过程中,我们不幸遭遇了苹果审核4.3问题。新版......
  • js 搜索查找算法
    线性查找线性查找是最简单的一种查找算法,它的基本思想是从头到尾遍历待查找的数据集,找到对应的元素,时间复杂度为O(n)。代码实现:functionlinearSearch(arr,target){for(leti=0;i<arr.length;i++){if(arr[i]===target){returni;......
  • 构建之法06
    在阅读完第六章后,我深感敏捷开发的思想和实践方法对我的工作有很大的启发。在我的实际工作中,我也尝试了一些敏捷开发的做法。首先,我更加注重与团队成员的沟通和协作。我们定期召开面对面的会议,讨论项目的进展、遇到的问题以及下一步的计划。这种沟通方式不仅提高了我们的工作效率......
  • js带注释的冒泡排序算法
    一、简述冒泡排序(BubbleSort)是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果二者的顺序(如从大到小、首字母从A到Z)错误就交换。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法......