olivato
fbf72b44bf
Add unreachable decoy cases to call dispatch proxies
2026-09-11 20:04:06 +01:00
olivato
d85a37c7ad
Add paramPadSettings to insert random junk parameters into method signatures
2026-09-11 20:04:06 +01:00
olivato
c88021dba9
Fall back to a random reorder seed when nameRandomSeed is 0
...
Claude-Session: https://claude.ai/code/session_01BFaTYyEgRiZgEo2a9S1diu
2026-09-03 08:17:32 +01:00
olivato
ee98c899c3
Skip member reordering instead of failing when nameRandomSeed is 0
...
Claude-Session: https://claude.ai/code/session_01BFaTYyEgRiZgEo2a9S1diu
2026-09-03 08:15:21 +01:00
olivato
50711591e0
Reset the dnlib TypeDef find cache after reordering a module
2026-09-01 16:43:30 +01:00
olivato
1236b2fbf7
Pin field order on base types of serializable types
2026-09-01 16:29:28 +01:00
olivato
7ea47268d4
Pin field order on types the rename policy declines to rename
2026-09-01 16:29:23 +01:00
olivato
b3ef0049fc
Pin type position when a nested type has a RuntimeInitializeOnLoadMethod
2026-09-01 16:29:19 +01:00
olivato
5680d7ef39
Stop reordering nested types, which dnlib refuses to re-add
2026-09-01 16:29:13 +01:00
olivato
a1237f87d5
Add symbolObfusSettings.enableMemberReordering to shuffle type and member declaration order
2026-09-01 16:13:56 +01:00
olivato
e6fd9d404c
Merge remote-tracking branch 'upstream/main'
2026-09-01 16:05:54 +01:00
Gabriel Olivato
72397812cd
Ignore a previous symbol mapping when names are randomised
...
Reusing the previous build's mapping returns every pre-existing symbol to its
old name, which silently undoes the randomisation while every build-side check
still passes. Deleting the mapping file before each build worked but left the
guarantee resting on the caller.
2026-08-19 18:05:15 +01:00
Gabriel Olivato
dcf38b3f0f
Add symbolObfusSettings.nameRandomSeed to randomise generated symbol names
...
Upstream assigns obfuscated names from a monotonic base-52 counter, so two
builds of the same source produce an identical mapping and a build with a
small source change keeps almost every previous name. An attacker who
reverses build N therefore carries that work forward to build N+1.
nameRandomSeed = 0 keeps the original counter, so this is opt-in and the
default behaviour is unchanged.
2026-08-19 17:53:01 +01: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