C#程序采用AOT发布,真的可以避免被反编译?

上次跟大家分享过,C
C
》,根据这个教程,我们都知道C
随着.Net 7的发布,Native AOT也成为亮点之一,大家都非常关注AOT能否解决被反编译的问题,今天我们就一起来看看。
一、演示项目
先创建一个演示项目,方便后续验证能否反编译。
1.1、创建控制台项目:ConsoleAppAot
C#程序采用AOT发布,真的可以避免被反编译?
项目名:ConsoleAppAot
C#程序采用AOT发布,真的可以避免被反编译?
1.2 选择框架.Net 7


1.3 实现功能:2个数字相加

// See https://aka.ms/new-console-template for more informationint num1 = 1;int num2 = 2;Console.WriteLine(num1 + num2);Console.Read();


1.4 项目修改为Aot发布方式


右键项目=》编辑项目文件,添加Aot发布方式。

<PublishAot>true</PublishAot>


1.5 运行效果


二、采用ILSpy、dnSpy进行反编译
2.1 采用win-x64发布

2.2 发布的文件

从发布后的文件,我们可以看到exe有接近3M,这是因为AOT是通过ilc.exe来加载托管的DLL,然后把这个DLL编译成.Obj文件,所以导致exe文件超大。
2.3 反编译结果


ILSpy反编译:
dnSpy反编译:

通过以上反编译工具查看,采用Aot发布确实能有效解决反编译的问题。

今天就跟大家,分享到这边了,希望对您有帮助,欢迎点赞关注转发。
– End –
分享一套.NetCore从入门到精通视频教程

领取方式:点击下方公众号卡片,关注我
回复“888”,免费领取
推荐阅读

  • 一个界面美观、支持团购、拼团、直播、秒杀等营销功能商城系统

  • 盘点5个C

  • 一个基于NetCore可视化编辑CMS系统

  • 推荐一个数据可视化大屏幕报表开源系统

  • 盘点10个Web开发人员必备的最佳开发工具推荐

觉得好看 点个在看

C#程序采用AOT发布,真的可以避免被反编译?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/192.html