首页 > 编程语言 >浅谈如何给.net程序加多层壳达到1+1>2的效果

浅谈如何给.net程序加多层壳达到1+1>2的效果

时间:2023-08-05 22:22:17浏览次数:44  
标签:浅谈 程序 多层 加壳 攻击者 软件 net 破解

合集 - .net代码混淆加密产权保护(3)   1.记一次.net加密神器 Eazfuscator.NET 2023.2 最新版 使用尝试06-272.将 SmartAssembly 与单文件可执行文件一起使用 (.NET Core 6)06-27 3.【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果08-05 收起  

  软件破解分白盒和黑盒两种方式。

  白盒破解:白盒破解是指对软件进行破解时,攻击者可以访问软件的内部结构和源代码。这种破解方式通常发生在软件的开发者、技术人员或软件公司内部。攻击者使用这些详细信息来理解软件的工作原理,并针对其中的漏洞或保护机制进行攻击。白盒破解比较复杂,需要对编程和软件系统有深入的了解。

  黑盒破解:黑盒破解是指对软件进行破解时,攻击者无法访问软件的内部结构或源代码。攻击者只能通过分析软件的可执行文件、输入和输出来进行破解。这种方法主要依赖于逆向工程技术,通过对软件进行逆向分析和漏洞挖掘来找到弱点,实现破解。

  理论上没有100%安全的保护方案。加壳主要是增加破解的难度、时间和成本。

  首先需要在程序本身执行逻辑结构上进行改进,让逻辑尽可能避免有重大漏洞,避免破解者通过抓包、修改配置文件、注册表等方式轻易饶过。

在程序改进基础上尽可能可以添加暗桩,所谓暗桩是指“陷阱”,这里指的是程序作者自定义的一些反抗破解者的一些逻辑。比如增加对一些常见抓包软件如filddler、Wireshark、HTTP Analyzer,反编译软件ilspy、dnspy等进程的检测。如果检测到攻击者使用此类软件,则可以“保留现场”后将程序强制退出。

  然后再从加壳方面增加,这是很重要的一步,因为.net软件一旦破解,源代码都可以反编译出来,可以直接将程序逻辑完全展现出来,更别说破解了。

  加壳软件目前市面上免费的也有,商业版也很多,到底那种加壳工具更安全呢?答案我给你吧,没有百分比安全的壳,这篇文章主要介绍的是怎么让自己.net软件的破解难度达到最大,也就给软件加是接近百分百安全的壳子。
  对于.net程序集一般建议采用多层加壳方式——两层甚至三层

第一层:可以采用纯混淆工具进行代码流和名称的混淆(如confusex,eazfusctor,dotfuscator等)

第二层:使用DNGuard进行加密保护(建议同时开启HVM和HVMII保护技术)

第三层:使用传统win32本地的加壳工具进行外壳保护。(如themida/winlicense)

多层加壳可以达到1+1>2的效果,它对破解者的技能和经验要更高,这会导致破解者在时间、难度上挫败,当前成本就会指数型增长!

以上就是我给一些.net软件作者的一些建议,保护自己的知识产权,让自己的劳动成功开花结果,而不是败在破解者无情的屠刀之下!

 

出处:https://www.cnblogs.com/chaego/p/17607339.html

标签:浅谈,程序,多层,加壳,攻击者,软件,net,破解
From: https://www.cnblogs.com/mq0036/p/17608755.html

相关文章

  • 浅谈非栈上格式化字符串
    浅谈非栈上格式化字符串这里先浅分析修改返回地址的两种打法,分别是"诸葛连弩"和”四马分肥“修改返回地址本文例题以陕西省赛easy_printf为主简单看一看程序需要先过一个判断然后进入vuln进入后有一个13次的循环可以让我们操作第一步肯定要先leak出栈地址程序......
  • .NET 个人博客-首页排版优化-2
    个人博客-首页排版优化-2原本这篇文章早就要出了的,结果之前买的服务器服务商跑路了,导致博客的数据缺失了部分。我是买了一年的服务器,然后用了3个月,国内跑路云太多了,然后也是花钱重新去别的服务商买了一台服务器,这次只买了一个月,先试试水。优化计划置顶3个且可滚动或切换推......
  • Kubernetes中的ingress问题
    大佬们想问一下我这个问题该如何解决啊,ip访问没问题,但是域名就有问题了     ......
  • .Net Core ActionFilter
    目录作用实现IActionFilterIAsyncActionFilterActionFilterAttributeDemoCustomAsyncActionFilter.csTestFilterController.cs如何在Actionfilter使用日志Action.csCustomAsyncActionFilter.cs全局注册Program.cs作用在请求AuthorizeFilter->ResourceFilter->ActionFilt......
  • 老派Sql之必要,逆天,我在ef core中使用ado.net!
    Wlkr.Core.EFCore逆天,我在efcore中使用ado.net!老派Sql之必要当你开发生涯中基本只用一两种数据库当你觉得用EF的类写报表时很别扭当你觉自己的Sql(Server)语句写得出神入化当你觉自己的Sql(Server)语句比EF生成的更优化当你刚从.netframework转.netcore,还不知道sqls......
  • 探索ASP.NET Framework WebAPI的简介与应用
    一、什么是WebAPI?1.1-什么是WebAPI?WebAPI是一种用开发系统接口、设备接口API的技术,基于Http协议,请求和返回格式默认是Json格式。比WCF简单、更通用;比WebService更节省流量,更简洁。1.2-WebAPI的特点?Action方法直接返回对象,专注于数据更符合Restful的风格有利于独立于IIS部署Action可......
  • 探索ASP.NET Framework WebAPI的简介与应用
    一、什么是WebAPI?1.1-什么是WebAPI?WebAPI是一种用开发系统接口、设备接口API的技术,基于Http协议,请求和返回格式默认是Json格式。比WCF简单、更通用;比WebService更节省流量,更简洁。1.2-WebAPI的特点?Action方法直接返回对象,专注于数据更符合Restful的风格有利于独立于IIS部......
  • .NetCore + Selenium IIS 部署踩坑记
    一、问题   使用Selenium+chromedriver开发自动操作页面demo,本地调试使用IISExpress正常,部署到IIS访问接口代码正常执行,但是,但是页面并没有启动二、排查  网上找相似情况大概以下几种 1,chromedriver和chrome的版本不一致 2,IIS用户权限 3,代码写法问题 本......
  • vb.net Linq XML Xdocument Descendants 为空
    在使用xdocumentdesendants进行筛选元素时,发现结果为空 经过网友的文章提醒发现是命名空间的问题在使用linqwhere进行网页元素筛选时发现descendants("div")不起作用,而是用descendatns可以看到元素枚举DimieAsIEnumerable(OfXElement)=ex1.Descendant......
  • C#.NET 国密SM3 HASH 哈希 与JAVA互通 ver:20230803
    C#.NET国密SM3HASH哈希与JAVA互通ver:20230803 .NET环境:.NET6控制台程序(.netcore)。JAVA环境:JAVA8,带maven的JAVA控制台程序。 简要解析:1:明文输入参数都需要string转byte[],要约定好编码,如:UTF8。2:输出参数:byte[],在传输时需要转为string,要约定好编码,如:16进......