Я создаю простое приложение в WPF с .net 9.0. Приложение состоит из кнопки, которая при нажатии на нее меняет значение текстового поля. Ниже приведен код двух основных классов. < /P>
Код: Выделить всё
Class.xamlКод: Выделить всё
< /code>
class xaml.csКод: Выделить всё
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace ProvaSemplice;
///
/// Interaction logic for MainWindow.xaml
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Print.IsReadOnly = true;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Print.Text = "Hai Cliccato!";
}
}
< /code>
When I obfuscate with Obfuscar 2.2.41, and I don't rename the public classes or methods, the application restarts after obfuscation. Below is the code from the .xmlКод: Выделить всё
< /code>
While when I go to obfuscate also the public classes and methods the application does not start anymore. Below is the .xml< /code>
If I go to analyze the application debug with Visual Studio, I get the following logs:
Output Debug
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Users\Antonio\Desktop\TestProgetto\ProvaSemplice\ProvaSemplice\bin\Debug\net9.0-windows\Output\ProvaSemplice.exe' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\ntdll.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\kernel32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\KernelBase.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\shell32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\msvcp_win.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\ucrtbase.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\user32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\win32u.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\gdi32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\gdi32full.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\advapi32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\msvcrt.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\sechost.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\rpcrt4.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\imm32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\host\fxr\9.0.2\hostfxr.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\hostpolicy.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\coreclr.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\ole32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\combase.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\oleaut32.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\bcryptprimitives.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0x04242420 (parametri: 0x0000000031415927, 0x00007FF84A8F0000, 0x000000010017E6E0).
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Private.CoreLib.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\kernel.appcore.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\clrjit.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\icu.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Users\Antonio\Desktop\TestProgetto\ProvaSemplice\ProvaSemplice\bin\Debug\net9.0-windows\Output\ProvaSemplice.dll' completato. Modulo compilato senza simboli.
Il thread 13700 è terminato con il codice 0 (0x0).
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\PresentationFramework.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\WindowsBase.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Runtime.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\System.Xaml.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\uxtheme.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\System.IO.Packaging.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Private.Uri.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\PresentationCore.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Runtime.InteropServices.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\Microsoft.Win32.Primitives.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\DWrite.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\DirectWriteForwarder.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Runtime.Extensions.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Diagnostics.Debug.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Runtime.CompilerServices.VisualC.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Threading.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Collections.NonGeneric.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\bcrypt.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\Microsoft.Win32.Registry.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Diagnostics.TraceSource.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Collections.Specialized.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Collections.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Memory.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.ComponentModel.Primitives.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Threading.Thread.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\PresentationNative_cor3.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\System.Configuration.ConfigurationManager.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Xml.ReaderWriter.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Private.Xml.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Net.WebClient.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Text.Encoding.Extensions.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Linq.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Numerics.Vectors.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\msctf.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.ComponentModel.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.ComponentModel.TypeConverter.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\9.0.2\System.Windows.Extensions.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Threading.ThreadPool.dll' completato.
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352.
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352.
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352.
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352 (parametri: 0xFFFFFFFF80131501, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00007FF84A8F0000).
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Windows\System32\version.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\Microsoft.DiaSymReader.Native.amd64.dll' completato. Caricamento dei simboli disabilitato dall'impostazione Include/Exclude.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Diagnostics.StackTrace.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Reflection.Metadata.dll' completato.
'ProvaSemplice.exe' (Win32): caricamento di 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\9.0.2\System.Collections.Immutable.dll' completato.
Unhandled exception. System.Windows.Markup.XamlParseException: The method or operation is not implemented.
---> System.NotImplementedException: The method or operation is not implemented.
at System.Windows.Baml2006.Baml2006SchemaContext.ResolveBamlType(BamlType bamlType, Int16 typeId)
at System.Windows.Baml2006.Baml2006SchemaContext.GetXamlType(Int16 typeId)
at System.Windows.Baml2006.Baml2006Reader.Process_ElementStart()
at System.Windows.Baml2006.Baml2006Reader.Process_OneBamlRecord()
at System.Windows.Baml2006.Baml2006Reader.Process_BamlRecords()
at System.Windows.Baml2006.Baml2006Reader.Read()
at System.Windows.Markup.WpfXamlLoader.TransformNodes(XamlReader xamlReader, XamlObjectWriter xamlWriter, Boolean onlyLoadOneNode, Boolean skipJournaledProperties, Boolean shouldPassLineNumberInfo, IXamlLineInfo xamlLineInfo, IXamlLineInfoConsumer xamlLineInfoConsumer, XamlContextStack`1 stack, IStyleConnector styleConnector)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
--- End of inner exception stack trace ---
at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.DoStartup()
at System.Windows.Application.b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at . .?()
Eccezione generata in corrispondenza di 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352 (parametri: 0xFFFFFFFF80131501, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00007FF84A8F0000).
Eccezione non gestita in 0x00007FF9118CBB0A (KernelBase.dll) in ProvaSemplice.exe: 0xE0434352 (parametri: 0xFFFFFFFF80131501, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x00007FF84A8F0000).
Stack
> KernelBase.dll!00007ff9118cbb0a()
< /code>
Could someone please tell me how to solve the above problem, that is, I would also like to obfuscate the public methods and classes, but the application should work.
The source file of the obfuscator I use is at this link: https://github.com/obfuscar/obfuscar/tree/2.2.41
The language used is c#. Thanks to those who will help me
Подробнее здесь: https://stackoverflow.com/questions/795 ... doesnt-run