普通用户
关于新版开启代码混淆后可能导致的错误相关情况说明 [复制链接]
管理员 发表于 2024-09-25 310 2

VcnStudio 4.7.0 安卓插件新增并优化了代码混淆功能;在工程配置/编译选项/开启“编译时混淆代码”;在编译时、会将代码中窗口的组件名、窗口成员名、变量名、事件、函数与事件参数值 变成随机字符串。

但需要注意:

开启代码混淆后;部分情况会导致编译失败、或APP崩溃;以下为详细说明:

1. 在函数中使用 @{ } 包裹的 Java 代码中不能直接使用函数的参数名称、因为开启混淆后、会混淆函数参数、但Java代码中用到的参数不会被混淆;因此在项目中使用原生代码时、不能开启混淆。

2. 窗口代码中的成员变量混淆后、在其它窗口中不能直接通过窗口对象调用、请使用 保存/读取 对象函数。

3. 公用模块中的使用 静态 关键字修饰的变量不会被混淆、但普通模块内成员变量会被混淆;混淆后在外部不可使用;请使用函数替代。

关于以上问题;在后续版本中将给出解决方案。

管理员 2024-09-28
引用 @190458889 的回复:

这种混淆有些麻烦 不如直接封装第三方加固,或者编译后自动通过第三方混淆加固

第三方免费加固的也容易被破;因为内置的字节处理、加密算法的偏移量值都是固定的;不过VCN已经支持自定义编写SO库文件了、在后面的版本会更新相关教程;让用户自己写SO库的偏移算法加固自己APP的DEX;从而可以完全实现自定义加固APK文件;防止网上那种一键脱固的工具。

回复
190458889 2024-09-26

这种混淆有些麻烦 不如直接封装第三方加固,或者编译后自动通过第三方混淆加固

回复
 作者信息
管理员
USB专业用户 云验证
VcnStudio官方教程、文档、课程发布视频录制账号。
专业开发指导服务

响应时间:5分钟

服务方式:官方1对1服务

工作时间:工作日 9:00 - 18:30

专业团队 · 开发指导 · 极速响应


官网 | 基础视频教程 | 在线文档 下载 VcnStudio IDE

© VcnStudio Inc All Rights Reserved

蜀ICP备17024229号