c#程序怎么结合USB加密狗才能真正防破解?
众所周知, c#程序容易被反编译出源代码,软件里有几个自己研究的算法目前比较好用, 不想被人看到怎么实现的, 于是考虑使用usb加密狗保护下
c#程序用vmp3.6虚拟混淆下, 程序内部如果只是简单的读取加密狗时间过期没有进行if判定,
那么有心人只需要简单的找到return false的地方, 跳转下就绕过了.
我看有人说加密狗要用好需要和狗进行交互才能真正防破解,
想问下, 这个交互应该怎么做?
应该不是简单的狗里写入一些字符, 然后程序里读出来比较吧?
如果时读出来给程序内部用, 那么应该怎么实现呢? 怎么给程序用? 加密狗主要工作是用于授权,在C#中需要防破解或者反编译还是要考虑使用商用壳 你可以在加密狗里面写asm的二进制代码,或者弄个公式字符串。或者关键字符串之类的。 矛说没有我扎不破的盾
盾说没有扎破我的矛 没有迫不的程序 关键算法写在c++写的dll里加VMP壳。 破解与防破解,其实就是矛与盾的关系。。。。。。。。 个人理解是分两部分:
首先,在C#程序中调用加密狗API,实现对加密狗的读写操作。在C#程序中添加加密狗验证逻辑,只有在加密狗存在的情况下才能运行程序。
然后,使用代码混淆器,将程序中的代码进行混淆,使得反编译后的代码难以阅读和理解。或者使用加密器,将程序中的关键代码进行加密,使得反编译后的代码无法运行。或者使用虚拟机保护程序,将程序运行在虚拟机中,使得反编译后的代码无法运行。 有矛就有盾,没有绝对的事,商用壳一样的,只能防君子 wincao 发表于 2023-3-30 16:36
个人理解是分两部分:
首先,在C#程序中调用加密狗API,实现对加密狗的读写操作。在C#程序中添加加密狗验 ...
现在就是这样用的, 用论坛里提供的vmp3.6加壳,
操作的时候vmp里添加[虚拟+变异]进程, 有些进程会导致运行报错, 所以也不敢选所有进程,
加壳后的c#代码扔进dnspy确实看不到源码了,
页:
[1]
2