WPF应用程序会被反编译吗

WPF应用程序会被反编译吗,第1张

------解决方案--------------------

WPF程序当然能被反编译,但是xaml部分会变成bmal,不过内容和原先的xmal出入很大

------解决方案--------------------

没做混淆的都能反编译。问题是很难再改了。除非代码量很少的。

1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo)

2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里

3. 点击 File ->Save Code...: 相应的代码会生成到指定地方。

4. 打开应用程序并且编译它,此时程序会报如下错误。主要原因是缺少相应的WPF所必备的DLL--WindowsBase和PresentationCore。添加这两个dll之后程序会编译通过。

5. 这时我们还需要把相应的.XAML添加到应用程序中,我们在WpfApplicationReflectorDemo这个目录下添加与MainWindow.cs相关的MainWindow.xaml并且修改MainWindow.cs -->MainWindow.xaml.cs.与WPF的风格保持一致。这个时候我们需要把第二步看到的mainwindow.baml.中的内容添加到刚刚加入的MainWindow.xaml

6. 这时我们需要到MainWindow.xaml.cs去删除一些多余反编译出来的属性,字段和方法。并且在public class MainWindow加访问修饰符 partial

[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]

internal TextBlock textBlock1

private bool _contentLoaded

public void InitializeComponent()

void IComponentConnector.Connect

7.添加App.xaml.去删除一些多余反编译出来的属性和方法.并且在public class App加访问修饰符 partial

[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]

public void InitializeComponent()

7. 最后删掉mainwindow.baml


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11381150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存