Esempio n. 1
0
        private static void InitializeInternal()
        {
            if (LogToFile.Value)
            {
                InitializeFileLog();
            }
            LibcHelper.Init();

            bool IsUnityPlayer(ProcessModule p)
            {
                return(p.ModuleName.ToLowerInvariant().Contains("unityplayer"));
            }

            var proc = Process.GetCurrentProcess().Modules
                       .Cast <ProcessModule>()
                       .FirstOrDefault(IsUnityPlayer) ?? Process.GetCurrentProcess().MainModule;

            if (IntPtr.Size == 8)
            {
                patcher = new X64Patcher();
            }
            else
            {
                patcher = new X86Patcher();
            }

            patcher.Patch(proc.BaseAddress, proc.ModuleMemorySize);
        }
 internal static void OnUnityLog(InternalLogLevel logLevel, IntPtr message, IntPtr parts)
 {
     try
     {
         OnUnityInternalLog?.Invoke(null, new UnityLogEventArgs
         {
             LogLevel = logLevel,
             Message  = LibcHelper.Format(message, parts)
         });
     }
     catch (Exception e)
     {
         File.WriteAllText($"unity_logger_err_{DateTime.Now.Ticks}.txt", e.ToString());
     }
 }