walon
0b6b8a92c0
fix: rename all parameter names to `1` may lead burst compile error, change to $"_{param.Sequence}"
2026-09-11 12:03:17 +08:00
walon
aefec5c024
fix: don't rename inherit enclosing types and nested types of types with `[BurstCompile]`
2026-09-11 12:01:30 +08:00
walon
79c81e234c
fix: remove RuntimeHelpers.InitializeArray dependency from ConstEncrypt DecryptInitializeArray
...
DecryptInitializeArray now takes encrypted byte[] + offset instead of RuntimeFieldHandle,
copies via Buffer.BlockCopy, and loads payload through RvaDataAllocator. Avoids Unity
6000.5+ IL2CPP C2664 on RuntimeFieldHandle vs Il2CppFieldRvaData. see issue-34
2026-09-07 22:26:01 +08:00
walon
fa2345017a
fix: fix VirtualMethodGroupCalculator.TypeFlatMethods::IsLooseTypeSigMatch treats type and forward type as different type by type.AssemblyQualifiedName which leads same-virtual-slot virtual methods are grouped to different virtual method group. see [issue-32]( https://github.com/focus-creative-games/obfuz/issues/32 )
2026-07-19 13:02:21 +08:00
walon
977779c8b7
fix(SymbolObfus): still rename parameter names of .ctor and ..ctor even they aren't renamed
2026-07-03 10:02:55 +08:00
walon
6c543d233a
add copyright header to all cs files.
2025-10-29 20:40:37 +08:00
walon
c9ea564544
fix: 修复SplitBasicBlockGroup计算带filter的异常handler时,先计算整个异常块再计算filter和handler块的顺序bug,正确方式为先计算filter和handler,再计算整体
2025-10-16 22:28:05 +08:00
walon
b40a063582
fix: 修复ScriptObject中事件函数名默认未被禁用混淆的bug
2025-10-08 22:25:01 +08:00
walon
403764e7af
fix: 修复符号混淆规则文件中modifier条件对property和event没有生效的bug。由于property和event本身并不存在Access Attributes,实际上是由它们所包含的method的Access属性`或`计算而来。
2025-09-10 18:20:29 +08:00
walon
e12a0e26dc
new: 新增CompatibilitySettings,允许指定生成与mono或il2cpp兼容的混淆代码
2025-09-10 11:15:05 +08:00
walon
59b1166ff3
fix: 修复 ReflectionCompatibilityDetector处理Unity 6000新增的Enum.TryParse(Type,bool, out object)函数时抛出异常的bug
...
refactor: 将 ReflectionCompatibilityDetector移到独立的ReflectionCompatibilityDetectionPass
2025-08-27 20:15:20 +08:00
walon
4ad3ed76dc
fix: 修复 ConstFieldAllocator和 RvaDataAllocator的encryption level固定取4导致EncryptionVirtualMachine的Opcode个数超过256时打印了大量"OpCode overflow"警告日志的问题
2025-08-26 20:58:09 +08:00
walon
2576236960
暂时对泛型禁用控制流混淆
2025-08-12 14:19:32 +08:00
walon
0889f730fd
- 修复EvalStackCalculator计算Ref类型栈变量全部归结来IntPtr类型,导致il2cpp生成代码出错的bug
...
- 修复MethodControlFlowCalculator将box后的值类型变量类型定义为值类型的bug,正确应该是object
2025-08-12 12:46:34 +08:00
walon
739fcb24c5
WatermarkPass不对DOTS函数注入水印指令
2025-08-06 18:27:15 +08:00
walon
246a49f8ba
fix: 修复WatermarkPass某些情况下导致栈不平衡的bug
2025-08-06 15:21:23 +08:00
walon
b68571de7e
fix: 修复在Unity 2019上的编译错误
2025-08-05 14:20:46 +08:00
walon
d52a9e7016
Code Clean Up
2025-08-03 12:37:44 +08:00
walon
f5c2fe94ea
WatermarkPass不打印注入日志
2025-08-02 23:22:26 +08:00
walon
54bcae5178
代码水印注入特征IL指令
2025-08-02 23:15:17 +08:00
walon
1e027e6299
feature: 支持代码水印
2025-08-02 21:52:35 +08:00
walon
4db68f707b
MethodControlFlowCalculator对InputArgs为0的BasicBlock随机化打乱顺序
2025-08-01 11:32:33 +08:00
walon
c596b58d3e
优化 MethodControlFlowCalculator生成的指令有可能违反IL控制流规则的问题
2025-08-01 10:57:53 +08:00
walon
ddb144eac8
feature: 新增 RemoveConstField pass
2025-08-01 09:19:24 +08:00
walon
1a240c47ac
修复ModifierType::Public枚举项值的错误
2025-07-31 20:06:04 +08:00
walon
0985b3d06e
修复$$Obfuz$RVA$的所有rva字段累计长度超出16k引发的在hybridclr下运行出错的问题。此问题是hybridclr的bug,因为ldslfd之类指令要求offset小于16k。
2025-07-23 20:56:38 +08:00
walon
d4133f1e8a
移除不必要的对NUnit.Framework的引用
2025-07-23 19:34:42 +08:00
walon
3bcf204f69
ExprObfus的BasicObfuscator支持混淆参数类型为IntPtr的表达式
2025-07-21 11:37:29 +08:00
walon
3bcb093467
由于EvalStackObfus会显著增加混淆后的程序集大小(当obfuscationPercentage=1.0时大约增加了5倍),将默认obfuscationPercentage改为0.05,并且在global obfuscationPercentage超过0.1时打印警告
2025-07-14 18:12:54 +08:00
walon
083ddd3035
对于标记`[BurstCompile]`的类型,除了类型名和函数名以外的仍然混淆
2025-07-11 19:08:25 +08:00
walon
2887231df7
禁止混淆带`[BurstCompile]`的函数
2025-07-11 18:03:25 +08:00
walon
e3d9d7a08e
重构GroupByModuleEntityManager代码
2025-07-02 18:57:53 +08:00
walon
4b0c5d7521
CallObufs新增Delegate Proxy支持
2025-07-01 18:46:09 +08:00
walon
9b9eb6d12d
重构CallObfusPass代码
2025-06-30 20:02:49 +08:00
walon
655c2fe07f
`ObfuzSettings.enable`字段移到`BuildPipelineSettings`中
2025-06-28 20:38:27 +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
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
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
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
f8571ada9e
const加密支持多种混淆方式
2025-06-21 09:20:36 +08:00