混淆相关测试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关于混淆强度相关问题
369浏览 • 1回复 待解决
HarmonyOS 上传文件相关Demo
363浏览 • 1回复 待解决
运行时AOP插桩demo测试
862浏览 • 1回复 待解决
HarmonyOS有没有蓝牙相关操作demo
242浏览 • 1回复 待解决
HarmonyOS 有没有蓝牙,NFC相关DEMO
238浏览 • 1回复 待解决
HarmonyOS MD5加密相关demo
355浏览 • 1回复 待解决
HarmonyOS 测试命令行相关使用
348浏览 • 1回复 待解决
HarmonyOS 即时通讯相关demo
120浏览 • 1回复 待解决
混淆策略配置都有哪些?
327浏览 • 1回复 待解决
当前有没有图片裁剪相关demo
282浏览 • 1回复 待解决
HarmonyOS 静态har包混淆配置参考
552浏览 • 1回复 待解决
HarmonyOS 安全加固混淆
765浏览 • 1回复 待解决
版本新增taskpool相关功能验证
771浏览 • 1回复 待解决
编译har,如何混淆混淆如何使用
968浏览 • 1回复 待解决
基于反混淆工具混淆日志定位
337浏览 • 1回复 待解决
在HarmonyOS平台上测试验证so文件功能
252浏览 • 1回复 待解决