.Net代码混淆技巧

很多人老说de4dot一用,大部分混淆就没用了,群里天天看到有人说混淆没用,代码一下子就被人看光了,我咋看下来大部分混淆没去掉呢?这玩意你得配置啊。

混淆软件功能都差不多的,你们搞到啥就用啥配置。功能之间可能有强弱。

首先你得开 变量混淆,资源混淆,字符串加密可选,这几样de4dot只会尽力而为的还原,变量名还是乱的。

变量混淆要多配合internal,因为public出去的变量是不会混淆的,也不能混淆,要加强变量混淆,需要配合程序集合并之类的功能。

流程混淆要配合async await,本来是清晰而且顺序的代码,瞬间变成状态机了,可读性比回调还差得多。这玩意de4dot也没法还原啊。

好一点的混淆工具有虚拟化混淆,这玩意可是神器啊,高手都得破解半天,de4net更没法还原,你说这玩意还原啥了? 

虚拟化混淆适合配合内敛编译,比如检查key的代码,虚拟化混淆后就很难反编译了,但是人家找到地方直接改掉就完了,我告诉你,多写几个调用,然后内敛编译的时候,这些检查代码就跑到那些调用的地方有好几个副本,这人家就难破解了呀。

绝对的防破解本来就是不可能的,我们的目标是用我们菜鸟般的技术,给破解者带来大麻烦,就可以了。

还有个东西,corert,等他成熟了用corert编译后,那玩意应该是最难破解的。

猜你喜欢

转载自www.cnblogs.com/gxrsprite/p/12796008.html