solidworks插件打包及简单的注册、解码、混淆、脱壳。

1.solidworks插件打包。Vs自带的打包,可以打包exe文件,但是solidworks插件只有dll,没有exe。所以这里采用网上的ISTool工具来打包。
步骤:
(1)对着教程将软件安装并汉化,对着步骤来。
(2)在一个基础模板上进行修改,先添加需要的文件,再添加图标,写注册码,最后进行options设置。
最终的效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
遇到的问题:
(1).注册表的GUID一定要和自己一致,建议在脚本里面直接使用全部替换,以防有的没有替换到。还有就是SwAddin的名字,要根据自己的项目名来定。
(2).编译完成后,安装程序之后,插件里面有,就证明确实写入了注册表,但是不能加载出来,经常会遇到这种情况,最后找到的解决方法是,在添加文件时,不能添加.tlb这个文件。
tlb文件是一个说明文件,通过这个文件用户可以的得知你的dll文件中的com接口以及常量等信息。具体原因是什么目前不明。
(3).添加文件:应该将引用的solidworks、第三方的dll添加上去。最主要的还是bin/debug/文件目录下面的东西。

2.设计注册码机制
为了轻微防止客户随意注册使用,采用一机一码机制,设计注册机。获取硬盘的型号和CPU的型号,将这个唯一的号码转换成机器码,这样机器码也是唯一的。通过这个机器码,我们可以设计一个独立的算法,生成一个注册码。用户通过这个注册码,就可以完成激活,当然这里只是一个简单的方法,只能防止一些新手破解。

3.使用Dotfuscator进行混淆
为了防止我们的代码被轻松的反编译,使用Dotfuscator进行混淆,这样可以在一定程度上防止反编译,但是这种很容易被脱壳,脱壳之后,只有函数名被rename了,其他的还是没有什么隐藏,基本是完全暴露在用户眼中。但是还是可以防止被粗暴的反编译。
使用方法参考:https://www.cnblogs.com/xiezunxu/articles/7228741.html

4.de4dot脱壳
上面混淆之后的dll或exe文件,使用de4dot可以进行脱壳,脱壳之后的代码就只有函数名是随意定义的,其他的代码就是你的原始代码。de4dot是一个开源的.net反混淆脱壳工具,是用C#编写的,介绍一下它的使用方法。具体参考
https://blog.csdn.net/lee576/article/details/42075949

5.总结
这里只是一个新手就C#开发程序的加密的一点心得,这只是很简单的方法,别人如果想破解还是很容易的。由于.net的反编译器的存在,使得我们设计再复杂的代码都会被反编译出来,不过加入一定的混淆可以一定程度上减少别人对代码的理解,混淆视听。同时可以在代码中加入一定量的垃圾代码,这样即使反编译出来别人也会被你的垃圾代码干扰。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值