SmartAssembly 使用方法
SmartAssembly加壳工具,我还真的是不太喜欢给自己的程序加壳,觉得开源才是王道,但是没办法工作需要,需要有个加壳后与加壳前的对比,好吧谁叫咱只是程序员呢。
开始埋头苦干,找了半天也没找到合适的,后来有群里大佬告诉我是“流程混淆”并且告诉了我SmartAssembly这个工具。
let‘s 干活
安装好之后才发现 需要sql server 尼玛 这么大玩意 可不好整 最后仔细看了看 说用sqllocal 也可以,但是咱不了解sqllocal 啊 又开始百度问 终于问出个好消息来 只要是vs2015或者以上版本默认都安装好了 太好了 让我拿过来直接用,下面是配置步骤
第一步设置数据库:
第二步,新建工程
设置输出目录
设置加壳的选项
添加依赖库文件
pruning 精简代码,这一步将从程序集中删除一些没有用的代码和元数据。smartassembly将检查程序集中的代码,自动判定哪些代码是有用的,哪些代码是从不会执行到的。同时,也将移除没有用的元数据。并可以分别选择对主程序集和依靠的程序集进行精简代码操作。可以根据自己的具体需要选择
obfuscation 混淆代码
混淆代码是保护你的程序集最重要的方法。它将类和方法的名称更改为不可读的字符,但不会改变代码的功能,达到保护代码的目的。同时,也可以减少元数据,减小程序集的大小
build 输出混淆后的程序集
点击build 按钮,就输出混淆后的程序集了,并且所有依靠的程序集都合并在一起了,这样在发布的时候,只需要发布合并后的一个程序集和第三方的程序集了
最后我们用ILSpy反编译工具测试一下效果
加壳前:
加壳后:
SmartAssembly 使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- smartassembly 使用指南
原文 http://www.cnblogs.com/hsapphire/archive/2010/09/21/1832758.html smartassembly 提供了一种用于优化和混淆你的 .ne ...
- .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
长文预警!!! UWP 程序有 .NET Native 可以将程序集编译为本机代码,逆向的难度会大很多:而基于 .NET Framework 和 .NET Core 的程序却没有 .NET Nativ ...
- 混淆-SmartAssembly
SmartAssembly 7 documentation:https://documentation.red-gate.com/sa SmartAssembly7.2版本下载链接: https:// ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
随机推荐
- 使用pip出现 cannot import name "main"
最近在linux使用pip install时遇到了这个报错 1.jpg ImportError: cannot import name main 遇到这个问题,我的解决办法是:cd 到usr/bin目 ...
- Chrome的使用技巧总结
设置一>” 首先设置打开特定的网页 设置--> “下载位置” (Ctrl+H),快速查找自己浏览器访问网页的历史记录 (Ctrl+D),将目前认为比较好的网页保存. ctrl+t 新建标 ...
- 笔记:VSCODE 在 WSL 开发时不显示代码差异问题
笔记:VSCODE 在 WSL 开发时不显示代码差异问题 这个好像和 VSCODE 关系不大,主要是因为 WSL 里使用了软链接接,导致无法显示差异. 因为毕竟是软链接,所以在系统文件中会导致无法识别 ...
- Java练习 SDUT-2733_小鑫の日常系列故事(二)——石头剪子布
小鑫の日常系列故事(二)--石头剪子布 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小鑫在上幼儿园的时候,喜欢跟小伙 ...
- 微信小程序中支持es7的async语法
最近在原生的微信小程序项目中需要把原来es6的promise方法改成es7的async await,这样代码看起来更直观,也方便以后的兄弟维护,但是改了代码之后项目就报错了. 提示的错误是:regen ...
- [React Native]StatusBar的使用
StatusBar是React Native 0.20 新增的跨平台组件,它可以用来设置并动态改变设备的状态栏显示特性. 虽然说是跨平台的组件, 但是有些属性不是跨平台的 ,我们需要注意下.因为IOS ...
- python 列表索引
- Java练习 SDUT-3106_小鑫数数儿
小鑫数数儿 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 某天小鑫忽然得到了许多的数字,他很好学,老师给他布置了一个任 ...
- 2018-3-22-win10-uwp-设置-HttpClient-浏览器标识
title author date CreateTime categories win10 uwp 设置 HttpClient 浏览器标识 lindexi 2018-3-22 9:1:55 +0800 ...
- @bzoj - 3749@ [POI2015] Łasuchy
目录 @description@ @solution@ @version - 1@ @version - 2@ @accepted code@ @version - 1@ @version - 2@ ...