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
EP-Toushirou
7b06f0fed8
new: add support for 6000.3.x;
...
fix: fix deprecated warning of PlayerSettings.GetScriptingBackend(BuildTargetGroup) in Unity 6000
2026-02-27 12:36:49 +08:00
walon
3615bbcce9
fix: fix resolving type in Obfuz.Runtime failed when no to-obfuscated dll references to Obfuz.Runtime
2025-12-26 21:25:08 +08:00
walon
1ff3b5c324
new: 新增PS5平台支持
2025-11-24 18:40:22 +08:00
walon
6c543d233a
add copyright header to all cs files.
2025-10-29 20:40:37 +08:00
walon
4bdf21349c
format: 修正VirtualMachineCodeGenerator生成的代码的格式化问题
2025-10-16 22:39:04 +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
747ee88fd3
fix: 修复 EvalStackCalculator::ReduceBaseType计算boxed值类型和class类型的base type失败的bug
2025-09-14 09:15:58 +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
eeff4a75ca
fix: 修复 EvalStackCalculator计算 eval data的reduce type时未import来自其他程序集的共享基类的bug
2025-09-06 17:50:09 +08:00
walon
b0699ecf5c
修复EvalStackCalculator计算input eval stack data类型时没有对多个inbound basic block的input计算共享类型的bug
2025-09-06 12:26:02 +08:00
walon
5557b27724
typo: AssetUtility -> AssertUtility
2025-08-29 21:55:24 +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
c3c53b2797
修复 EvalDataTypeWithSig计算ldarga等取引用的指令的栈数据类型未包含具体类型的bug
2025-08-12 14:19:11 +08:00
walon
0889f730fd
- 修复EvalStackCalculator计算Ref类型栈变量全部归结来IntPtr类型,导致il2cpp生成代码出错的bug
...
- 修复MethodControlFlowCalculator将box后的值类型变量类型定义为值类型的bug,正确应该是object
2025-08-12 12:46:34 +08:00
walon
87cd3caf44
change: 禁用EvalStackObfus pass,因为它的性价比太低了。如果将来无法优化,则会被移除
2025-08-07 21:32:00 +08:00
walon
8dd6352028
fix: 修复类型上包含[ObufzIgnore(ObfuzScope.TypeName)]导致类型内所有函数体不混淆的bug
2025-08-07 18:55:17 +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
2e48164ae9
修复EvalStackCalculator计算isinst和castclass指令的返回值的类型未转换为token所引用的类型的bug
2025-07-31 12:14:18 +08:00
walon
38ad0de746
禁用obfuz时LinkXmlProcess::GenerateAdditionalLinkXmlFile返回null
2025-07-28 10:46:17 +08:00
walon
87f086e310
支持多态dll文件结构
2025-07-25 20:47:38 +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
905351789e
fix: 修复静态与成员函数在包含this参数后如果参数完全相同则计算出MethodDefSignature相同导致RenameRecordMap加载symbol-mapping文件时signature冲突的bug
2025-07-21 09:35:40 +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
6a4f84a9b0
不混淆被BurstCompile函数直接或者间接调用的函数的代码,但仍然混淆函数名。
2025-07-14 11:45:15 +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
f908b648c1
修复LinkXmlProcess::GenerateAdditionalLinkXmlFile返回的link.xml为相对路径,没有生效的bug
2025-07-03 12:41:06 +08:00
walon
9cbb105405
LinkXmlProcess中保留整个Obfuz.Runtime
2025-07-03 12:09:56 +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