【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果
软件破解分白盒和黑盒两种方式。
白盒破解:白盒破解是指对软件进行破解时,攻击者可以访问软件的内部结构和源代码。这种破解方式通常发生在软件的开发者、技术人员或软件公司内部。攻击者使用这些详细信息来理解软件的工作原理,并针对其中的漏洞或保护机制进行攻击。白盒破解比较复杂,需要对编程和软件系统有深入的了解。
黑盒破解:黑盒破解是指对软件进行破解时,攻击者无法访问软件的内部结构或源代码。攻击者只能通过分析软件的可执行文件、输入和输出来进行破解。这种方法主要依赖于逆向工程技术,通过对软件进行逆向分析和漏洞挖掘来找到弱点,实现破解。
理论上没有100%安全的保护方案。加壳主要是增加破解的难度、时间和成本。
首先需要在程序本身执行逻辑结构上进行改进,让逻辑尽可能避免有重大漏洞,避免破解者通过抓包、修改配置文件、注册表等方式轻易饶过。
在程序改进基础上尽可能可以添加暗桩,所谓暗桩是指“陷阱”,这里指的是程序作者自定义的一些反抗破解者的一些逻辑。比如增加对一些常见抓包软件如filddler、Wireshark、HTTP Analyzer,反编译软件ilspy、dnspy等进程的检测。如果检测到攻击者使用此类软件,则可以“保留现场”后将程序强制退出。
然后再从加壳方面增加,这是很重要的一步,因为.net软件一旦破解,源代码都可以反编译出来,可以直接将程序逻辑完全展现出来,更别说破解了。
加壳软件目前市面上免费的也有,商业版也很多,到底那种加壳工具更安全呢?答案我给你吧,没有百分比安全的壳,这篇文章主要介绍的是怎么让自己.net软件的破解难度达到最大,也就给软件加是接近百分百安全的壳子。
对于.net程序集一般建议采用多层加壳方式——两层甚至三层
第一层:可以采用纯混淆工具进行代码流和名称的混淆(如confusex,eazfusctor,dotfuscator等)
第二层:使用DNGuard进行加密保护(建议同时开启HVM和HVMII保护技术)
第三层:使用传统win32本地的加壳工具进行外壳保护。(如themida/winlicense)
多层加壳可以达到1+1>2的效果,它对破解者的技能和经验要更高,这会导致破解者在时间、难度上挫败,当前成本就会指数型增长!
以上就是我给一些.net软件作者的一些建议,保护自己的知识产权,让自己的劳动成功开花结果,而不是败在破解者无情的屠刀之下!
【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果的更多相关文章
- (转)浅谈MD5加密算法中的加盐值(SALT)
我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就 ...
- Web应用你加盐了吗?——浅谈MD5加密算法中的加盐值(SALT)
转自:http://blog.csdn.net/blade2001/article/details/6341078 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散 ...
- 【原】从一个bug浅谈YUI3组件的资源加载
篇前声明:为了不涉及业务细节,篇内信息统一以某游戏,某功能代替 前不久,某游戏准备内测客户端,开发人员测试过程中发现某功能突然不灵了,之前的测试一切ok,没有发现任何异常,第一反应是,游戏内浏览器都是 ...
- 05 入门 - 浅谈 ASP.NET MVC程序的工作原理
目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容 1. Global.asax文件 2. RouteConfig.cs文件 3. 视图命名和寻址的规则 前面创建了一个简 ...
- 浅谈如何正确给table加边框
一般来说,给表格加边框都会出现不同的问题,以下是给表格加边框后展现比较好的方式 <style> table,table tr th, table tr td { border:1px so ...
- 浅谈Android移动开发程序员的职业发展之路
现在几乎每个it公司都在开发移动产品,我最早知道Android还是在09年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注. 到2010年 ...
- 干货|浅谈iOS端短视频SDK技术实现
短视频SDK主要包含"视频录制"和"视频编辑"这两个核心功能. 视频录制包括:视频采集.美颜.滤镜.摄像头切换.视音频采集参数设置等功能: 视频编辑包括:视频导 ...
- 浅谈C语言中断处理机制
一.中断机制 1.实现中断响应和中断返回 当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急.更重要的工作,则在执行完当前指令后响应这一中断请求.CPU中断响应过程如下:首先, ...
- 浅谈iOS需要掌握的技术点
鉴于很多人的简历中的技术点体现(很多朋友问我iOS需要知道注意哪些)! 技术点: 1.热更新 (及时解决线上问题) 2.runtime(json解析.数据越界.扩大button点击事件.拦截系统方法) ...
- [nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)
蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体 ...
随机推荐
- 【11个适合毕设的Python可视化大屏】用pyecharts开发拖拽式可视化数据大屏
你好,我是@马哥python说,一枚10年程序猿. 一.效果演示 以下是我近期用Python开发的原创可视化数据分析大屏,非常适合毕设用,下面逐一展示:(以下是截图,实际上有动态交互效果哦) 以下大屏 ...
- SSL 证书安装使用中遇到的常见问题
为了实现网站HTTPS加密保护及身份的可信认证,防止传输数据的泄露或篡改,SSL证书已被各政企网站广泛应用.然而在部署和使用SSL证书的过程中,我们经常会遇到一些措手不及的问题,一旦处理不当,就会让网 ...
- 2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109
2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值. 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 由于答案可能非常大,请返回对 109 ...
- 使用增强版 singleflight 合并事件推送,效果炸裂!
hello,大家好啊,我是小楼. 最近在工作中对 Go 的 singleflight 包做了下增强,解决了一个性能问题,这里记录下,希望对你也有所帮助. singleflight 是什么 single ...
- 简要介绍django框架
Django是一个高级的Python Web框架,它鼓励快速开发和干净.实用的设计. Django遵循MVC(模型-视图-控制器)设计模式,使得开发者能够更轻松地组织代码和实现功能.以下是Django ...
- 聊聊ElasticeSearch并发写的乐观锁机制
概述 ES的多客户端并发更新是基于乐观并发控制,通过版本号机制来实现冲突检测. 关键对象 ES的老版本是用过_version字段的版本号实现乐观锁的.现在新版增加了基于_seq_no与_primary ...
- 2019年蓝桥杯C/C++大学B组省赛真题(等差数列)
题目描述: 数学老师给小明出了一道等差数列求和的题目.但是粗心的小明忘记了一部分的数列,只记得其中N 个整数. 现在给出这N 个整数,小明想知道包含这N 个整数的最短的等差数列有几项? 输入格式 输入 ...
- 使用 ChatGPT 的 7 个技巧 | Prompt Engineering 学习笔记
概述 前段时间在 DeepLearning 学了一门大火的 Prompt 的课程,吴恩达本人授课,讲的通俗易懂,感觉受益匪浅,因此在这里总结分享一下我的学习笔记. 为什么要学习 Prompt ? 因为 ...
- CentOS Linux 7 配置 nginx 支持 CGI
Nginx 本身不能执行外部程序,Nginx 处理 PHP 是通过 PHP 的 fastcgi 管理器(php-fpm)进行处理,然后 nginx 再将结果返回给用户:所以如果我们需要通过 cgi 程 ...
- C++面试八股文:在C++中,你知道哪些运算符?
某日二师兄参加XXX科技公司的C++工程师开发岗位第11面: 面试官:在C++中,你都知道都哪些运算符? 二师兄:啥?运算符?+-*/=这些算吗? 面试官:嗯,还有其他的吗? 二师兄:当然还有,+=, ...