SmartAssembly 6.12 does not rename variables or methods when obfuscating a C# WPF application
SoftDevSew
Posts: 1 New member
e.g. after obfuscation I get this result using dotPeek: (Crypto Obfuscator is doing that better)
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
HwndSource hwndSource = HwndSource.FromHwnd(new WindowInteropHelper((Window) this).Handle);
if (hwndSource == null)
return;
IntPtr handle = hwndSource.Handle;
hwndSource.AddHook(new HwndSourceHook(this.HwndHandler));
\u0001.\u0001(handle, false);
}
private IntPtr HwndHandler(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam, ref bool handled)
{
if (msg == 537)
goto label_4;
label_3:
handled = false;
return IntPtr.Zero;
label_4:
switch ((int) wparam)
{
case 32768:
this.Usb_DeviceAdded();
goto label_3;
case 32772:
this.Usb_DeviceRemoved();
goto label_3;
default:
goto label_3;
}
}
private void Usb_DeviceAdded()
{
if (this._ThreadDriveDetection != null)
return;
// ISSUE: method pointer
this._ThreadDriveDetection = new Thread(new ThreadStart((object) this, __methodptr(DriveDetection)));
this._ThreadDriveDetection.Start();
}
private void Usb_DeviceRemoved()
{
if (this._ThreadDriveDetection != null)
return;
// ISSUE: method pointer
this._ThreadDriveDetection = new Thread(new ThreadStart((object) this, __methodptr(DriveDetection)));
this._ThreadDriveDetection.Start();
}
{
base.OnSourceInitialized(e);
HwndSource hwndSource = HwndSource.FromHwnd(new WindowInteropHelper((Window) this).Handle);
if (hwndSource == null)
return;
IntPtr handle = hwndSource.Handle;
hwndSource.AddHook(new HwndSourceHook(this.HwndHandler));
\u0001.\u0001(handle, false);
}
private IntPtr HwndHandler(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam, ref bool handled)
{
if (msg == 537)
goto label_4;
label_3:
handled = false;
return IntPtr.Zero;
label_4:
switch ((int) wparam)
{
case 32768:
this.Usb_DeviceAdded();
goto label_3;
case 32772:
this.Usb_DeviceRemoved();
goto label_3;
default:
goto label_3;
}
}
private void Usb_DeviceAdded()
{
if (this._ThreadDriveDetection != null)
return;
// ISSUE: method pointer
this._ThreadDriveDetection = new Thread(new ThreadStart((object) this, __methodptr(DriveDetection)));
this._ThreadDriveDetection.Start();
}
private void Usb_DeviceRemoved()
{
if (this._ThreadDriveDetection != null)
return;
// ISSUE: method pointer
this._ThreadDriveDetection = new Thread(new ThreadStart((object) this, __methodptr(DriveDetection)));
this._ThreadDriveDetection.Start();
}