Commit Graph

279 Commits (59b1166ff3b373c7e1438cb2ab839ba88a41a0cd)

Author SHA1 Message Date
walon df181ed5c1 更新版本号为v2.0.0-alpha 2025-06-28 13:51:45 +08:00
walon 1f29b5530e 支持UI垃圾代码生成 2025-06-28 13:43:32 +08:00
walon af8477f4b3 添加ConfigGarbageCodeGenerator 2025-06-28 13:10:37 +08:00
walon 9d46b5438a 垃圾代码生成 2025-06-28 12:12:31 +08:00
walon a833cf26e1 修复MonoBehavoiur和ScriptableObject的属性没有混淆的bug 2025-06-28 10:49:30 +08:00
walon 7a7ef72728 支持控制流混淆 2025-06-28 10:10:50 +08:00
walon ac9c96b4b9 删除CallObfusPass中无用代码 2025-06-26 17:28:30 +08:00
walon 95b789deb2 升级版本为 v2.0.0-preview.3 2025-06-26 11:01:33 +08:00
walon f3bde846ea CallObfuscationSettings新增设置obfuscateCallToMethodInMscorlib 2025-06-26 11:01:00 +08:00
walon 905da05afc 重构:将CallObfus的特殊白名单函数计算逻辑从 ConfigurableObfuscationPolicy移到 CallObfusPass 2025-06-26 10:49:14 +08:00
walon 62deffa10d 1. 修复CallObfus混淆了Enum.HasFlag和GetHashCode函数后,Unity 2021的il2cpp生成cpp代码时发生内部异常的问题
2. 修复CallObfus混淆了MethodBase.GetCurrentMethod导致返回了错误函数的严重bug
2025-06-26 10:09:01 +08:00
walon 72d0b292c5 修复 EvalStackCalculator::SimulateRunAllBlocks 计算返回值包含`creq`的函数(如`int XXX{ init;}`的setter函数)的进出栈参数时由于没有对method.ReturnType RemovePinnedAndModifiers,导致错误地判定为methodHasReturnValue,导致进出栈错误的bug 2025-06-26 08:13:24 +08:00
walon 2572841e59 修复 EvalStackCalculator计算泛型类字段类型未inflate的bug 2025-06-22 18:01:47 +08:00
walon 38ebe11d7d - 修复 EvalStackCalculator不支持Conv_R_Un指令的bug
- 修复未不支持float与double进行二元计算的bug
2025-06-22 12:03:34 +08:00
walon 73915db7ca EvalStackCalculator计算EvalStack变量时如果为ValueType则包含类型信息 2025-06-22 11:45:23 +08:00
walon 832a955167 修复DefaultObfuscator抛出异常的问题 2025-06-22 10:48:55 +08:00
walon 5cdc4c9f92 修复符号混淆开启Debug时由于没有读取mapping文件导致增量混淆结果不一样的bug 2025-06-22 10:48:08 +08:00
walon 0508421850 添加ControlFlowObfus基础代码 2025-06-22 10:39:57 +08:00
walon 0ad96daa32 代码清理 2025-06-22 10:39:31 +08:00
walon cfe9dcdd08 删除错误的断言,运行ldsfld指令时栈有可能为空 2025-06-21 18:02:35 +08:00
walon 1afc36339d 更新版本号为2.0.0-preview.2 2025-06-21 11:43:35 +08:00
walon 1f9aac59ee 调整表达式混淆顺序,改到EvalStackObfus之前 2025-06-21 11:43:04 +08:00
walon 338d2acf05 ExprObfus默认混淆级别的None改为Basic 2025-06-21 11:42:43 +08:00
walon d8fb8bc630 CallObfus ConfigurableObfuscationPolicy默认对所有调用都开启cacheIndex 2025-06-21 11:21:24 +08:00
walon 67990f841a 支持EvalStackObfus 2025-06-21 10:59:39 +08:00
walon cbf9ab7d68 ConstFieldAllocator生成的字段不再是initOnly,这显然是给破解者提示 2025-06-21 09:26:07 +08:00
walon f8571ada9e const加密支持多种混淆方式 2025-06-21 09:20:36 +08:00
walon b1731a8c38 Settings中的array参数加上检查 2025-06-21 08:27:45 +08:00
walon 8314ed4327 支持 MostAdvancedObfuscator 2025-06-20 18:58:54 +08:00
walon f247719bc1 实现 AdvancedObfuscator 2025-06-20 18:23:38 +08:00
walon 9c445213b5 支持配置 obfuscationLevel和 obfuscationPercentage,支持advancedObfuscation::neg 2025-06-20 17:34:25 +08:00
walon 111d3a7dc1 支持部分 AdvancedObfuscator 2025-06-20 16:56:14 +08:00
walon 4bc6cf923f 修复 EvalStackCalculator在Unity 2019的编译错误 2025-06-20 12:10:32 +08:00
walon 8288042e94 实现 ExprObfus,暂时只支持BasicObfuscator 2025-06-20 12:06:01 +08:00
walon b84d158fac 修复 ReflectionCompatibilityDetector处理Enum.TryParse<T>,并且T包含泛型参数时抛出异常的bug 2025-06-16 17:02:31 +08:00
walon 0fe0a91793 修复 ReflectionCompatibilityDetector错误地对未混淆程序集中Enum打印错误日志的bug 2025-06-16 11:41:18 +08:00
walon d60d0e02dd BasicBlockCollection新增参数决定是否计算inLoop 2025-06-15 10:55:09 +08:00
walon 52fcf17161 更新版本号到v2.0.0-preview 2025-06-14 09:29:54 +08:00
walon 7ff5c97140 更新版本号到1.0.0-rc 2025-06-14 09:19:13 +08:00
walon df53a0bd1b 修复 ReflectionCompatibilityDetector检查Enum.Parse TryParse GetName GetNames时的判定条件为枚举类型名被混淆的错误,应该是枚举项被混淆 2025-06-14 09:16:06 +08:00
walon 174140c5da 修复 ReflectionCompatibilityDetector检查Enum.ToString时的判定条件为枚举类型名被混淆的错误,应该是枚举项被混淆 2025-06-13 21:31:05 +08:00
walon 3f00d5ca91 新增 ReflectionCompatibilityDetector 2025-06-13 21:00:58 +08:00
walon 28b841562c 修复LinkXmlProcess在Unity 2019-2022执行OnBeforeRun和OnAfterRun接口函数抛出NotImplementedException的bug 2025-06-12 15:27:16 +08:00
walon 6226c3a867 - 修复 RvaDataAllocator::GetDataHolderType 创建TypeDefUser未disableTypeDefFindCache的bug
- 使用 DisableTypeDefFindCacheScope 重构创建TypeDef类型自动disable和enable TypeDefFindCache
2025-06-12 15:07:13 +08:00
walon a61f31e289 不混淆标记了`[Serializable]`特性的枚举类的枚举项名 2025-06-12 14:25:24 +08:00
walon ea5a8e62ce 修复当混淆程序集虚函数override了nonObfuscatedButReferencingObfuscatedModuleSet程序集中虚函数,错误地将nonObfuscatedButReferencingObfuscatedModuleSet中虚函数也混淆的bug 2025-06-12 10:30:42 +08:00
walon 83598d6805 更精确地进行虚函数override匹配,检查返回值和参数的匹配性 2025-06-12 09:49:24 +08:00
walon 114707544a 修复在Unity 2019和2020上的编译错误 2025-06-12 09:42:22 +08:00
walon a109511f9e 新增 ObfuscationTypeMapper及相应的Instinct函数RegisterReflectionType 2025-06-10 13:56:05 +08:00
walon 3867a98d48 修复未Preserve混淆后的名字,导致新增的混淆函数名与旧的混淆函数名冲突的严重bug 2025-06-10 13:55:09 +08:00