混淆相关测试demo,混淆相关配置和规则的demo验证测试

混淆相关配置和规则的demo验证测试

HarmonyOS
2024-05-23 21:38:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
五行缺踹

核心代码解释

混淆配置:

# 开启属性混淆 
# 混淆字符串字面量属性名 
-enable-property-obfuscation 
-enable-string-property-obfuscation 
# 关闭混淆配置 
#-disable-obfuscation 
# 开启文件/文件夹名称混淆 
-enable-filename-obfuscation 
# 开启顶层作用域名称混淆 
-enable-toplevel-obfuscation 
# 删除所有console.*语句 
-remove-log 
# 去除不必要的空格符和所有的换行符,所有代码会被压缩到一行 
#-compact 
​ 
#保留选项 
#保留属性名 
-keep-property-name 
myson 
#保留顶层作用域的名称 
-keep-global-name 
youson 
#保留的文件/文件夹名称(无需文件后缀) 
-keep-file-name 
moduleName 
#保留指定路径的.d.ts文件中的名称 
#-keep-dts

可在生成的js和.d.ets文件中查看是否混淆

Son.ets包含以下混淆测试:

//直接导出类的属性混淆测试(`import/export`直接导入或导出的类或对象的属性名不会被混淆) 
//用于注释删除测试1 
/*用于注释删除测试2*/ 
//直接导出类的方法混淆测试 
//function.toString函数打印源代码测试 
//console删除测试 
//非直接导出方法混淆测试 
//API参数混淆测试(系统API列表中的名称不会被混淆) 
//保留文件/文件夹名称测试 
//保留顶层作用域测试 
//保留属性测试 
//interface混淆之后声明是否存在测试

sonlibrary的MainPage.ets包含以下混淆测试:

//ArkUI组件中的属性名不会被混淆测试

library1的IndirectExportTest.ts包含以下测试:

//间接导出混淆测试

library1的PrivateTsTest.ts包含以下测试:

//private混淆后消失bug测试

library1的SysAPITest.ets包含以下测试:

//API系统参数混淆测试

son.ets

import {Father} from 'fatherlibrary' 
​ 
export class Son extends Father{ 
name: string = ""; 
age: number = 0; 
//直接导出类的属性混淆测试(`import/export`直接导入或导出的类或对象的属性名不会被混淆) 
aa: number = 0; 
​ 
//用于注释删除测试1 
/*用于注释删除测试2*/ 
constructor() { 
  super(); 
} 
​ 
//直接导出类的方法混淆测试 
bbb(): string{ 
  return ""; 
} 
​ 
toString(): string{ 
  //function.toString函数打印源代码测试 
  aaa(); 
  console.log(aaa.toString()); 
​ 
  ccc(1); 
  init(); 
  new youson(); 
​ 
  //console删除测试 
  console.log("???"); 
  let xxxxxxxx: string = ""; 
  return this.name+this.age+"father"; 
} 
} 
​ 
//非直接导出方法混淆测试 
function ccc(aa: number){ 
} 
​ 
//function.toString函数打印源代码 
function aaa() { 
"show source" 
let xx: string = ""; 
} 
​ 
//API参数混淆测试(系统API列表中的名称不会被混淆) 
function init(): string{ 
return ""; 
} 
​ 
//保留文件/文件夹名称测试 
const moduleName = './file2' 
​ 
//保留顶层作用域测试 
class youson{ 
//保留属性测试 
myson: string = "x"; 
​ 
constructor() { 
} 
} 
//interface混淆之后声明是否存在测试 
export interface InterfaceTest{ 
axx: number; 
}

实现效果

适配版本

DevEco Studio Version: 4.1.1.300

SDK:HarmoneyOS 4.0.0.43

分享
微博
QQ
微信
回复
2024-05-24 16:42:03
相关问题
HarmonyOS 混淆相关问题
959浏览 • 1回复 待解决
HarmonyOS 混淆相关场景咨询
1101浏览 • 1回复 待解决
HarmonyOS关于混淆强度相关问题
1417浏览 • 1回复 待解决
HarmonyOS Mqtt相关demo
1063浏览 • 1回复 待解决
HarmonyOS sdk混淆规则
882浏览 • 1回复 待解决
HarmonyOS 混淆规则问题
1013浏览 • 1回复 待解决
HarmonyOS 录音语音播放相关demo
903浏览 • 1回复 待解决
HarmonyOS 录制相关demo
854浏览 • 1回复 待解决
HarmonyOS har包混淆规则
1244浏览 • 1回复 待解决
HarmonyOS 手机蓝牙相关demo
1052浏览 • 1回复 待解决
HarmonyOS 上传文件相关Demo
1572浏览 • 1回复 待解决
HarmonyOS 日历门票相关demo
979浏览 • 1回复 待解决
HarmonyOS 音频录制相关demo
1036浏览 • 1回复 待解决
HarmonyOS 多媒体相关demo
1168浏览 • 1回复 待解决
HarmonyOS 模块之间混淆规则
956浏览 • 1回复 待解决
HarmonyOS 混淆规则细节疑惑
906浏览 • 1回复 待解决
HarmonyOS 新闻相关DEMO参考
874浏览 • 1回复 待解决
HarmonyOS 蓝牙ble相关demo
1157浏览 • 1回复 待解决
HarmonyOS 下载文件相关demo
884浏览 • 1回复 待解决
HarmonyOS 活体认证相关demo
845浏览 • 1回复 待解决
NFC相关代码HarmonyOS化策略demo
1019浏览 • 1回复 待解决
HarmonyOS ArkWeb拦截有相关demo嘛?
862浏览 • 1回复 待解决