From 8cc1110e07a0e545de3a9724e0fabc48a7fd044b Mon Sep 17 00:00:00 2001 From: walon Date: Sat, 10 May 2025 19:56:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dfield=20encrypt=E5=9C=A8ecryp?= =?UTF-8?q?t=E6=97=B6=E6=9C=AA=E6=8F=90=E5=89=8D=E5=B0=86float=E5=92=8Cdou?= =?UTF-8?q?ble=E8=BD=AC=E4=B8=BAint=E5=92=8Clong=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Editor/ObfusPasses/FieldEncrypt/DefaultFieldEncryptor.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Editor/ObfusPasses/FieldEncrypt/DefaultFieldEncryptor.cs b/Editor/ObfusPasses/FieldEncrypt/DefaultFieldEncryptor.cs index 64c0fd1..5f9de8a 100644 --- a/Editor/ObfusPasses/FieldEncrypt/DefaultFieldEncryptor.cs +++ b/Editor/ObfusPasses/FieldEncrypt/DefaultFieldEncryptor.cs @@ -122,6 +122,10 @@ namespace Obfuz.ObfusPasses.FieldEncrypt { // value has been put on stack // xor + if (fei.fieldType == ElementType.R4) + { + outputInstructions.Add(Instruction.Create(OpCodes.Call, importer.CastFloatAsInt)); + } outputInstructions.Add(Instruction.CreateLdcI4((int)fei.xorValueForZero)); outputInstructions.Add(Instruction.Create(OpCodes.Xor)); @@ -134,6 +138,10 @@ namespace Obfuz.ObfusPasses.FieldEncrypt { // value has been put on stack // xor + if (fei.fieldType == ElementType.R8) + { + outputInstructions.Add(Instruction.Create(OpCodes.Call, importer.CastDoubleAsLong)); + } outputInstructions.Add(Instruction.Create(OpCodes.Ldc_I8, fei.xorValueForZero)); outputInstructions.Add(Instruction.Create(OpCodes.Xor));