zoukankan      html  css  js  c++  java
  • 如何防止源码被盗

    最近用wpf写了个小程序,然后Release以后使用.NET Reactor完全混淆后,把混淆后的exe文件部署到XP上,发现运行不了(已确定安装.net framework 3.5 SP1),但是在win7下可以完美运行,最后查找原因发现是因为勾选了 "native exe file",去掉这个选项后再混淆发现是可以正常运行了(原因见帖子链接回复:http://bbs.csdn.net/topics/390213926?page=1)。随后进行反编译测试,选择两款较为知名的反编译工具:Reflector(dotpeek)IL,测试结果发现不论是否勾选 "native exe file"Reflector均无法识别混淆后的exe文件,但是IL却可以识别出来未勾选 "native exe file" 混淆后的文件,而且方法名,类名都有,这个可怎么办呢?勾了之后无法在xp下使用,不勾的话源码又不安全。最后找了很多方法都无果,却发现了一款混淆神器,Xenocode PostBuild 2010 for .NET,这款神器完美的解决了以上的问题,使用方法也很简单:

    1)运行Xenocode,切换到Application选项卡,点Add按钮添加一个需要混淆的exedll文件,Preset默认是选第一个(dll文件的话选第二个),选完后点下Apply

    2)切换到Protect选项卡,左侧的Metadata Renaming列表是需要对一些类名、方法名、字段名进行重命名,这个根据个人喜好吧,但是我发现我全选了Type Dfinitions之后,混淆后的程序无法运行,所以我就没去管左边的,右上角的两个Suppress选项都勾上吧,然后点Select Strings→全选→OK

    3)最后切换到Output选项卡,最下面那个Output directory给它选个输出混淆文件的路径就好了

    4)点击下面的Build Application按钮完成混淆

    5)如需混淆其他文件,重复操作即可

    据说Xenocode还可以使.NET开发的程序脱离.net framework,这个还没尝试,等试过以后再附上教程。。。

  • 相关阅读:
    javascript学习笔记
    c++输入文件流ifstream用法详解
    如何退出while(cin >> s)
    【赵渝强老师】利用Python完成数据分布特征的分析
    PG 的 AWR pg_profile
    java构建树形结构
    docker安装mongodb 数据备份和还原
    通过经纬度计算不同模型图瓦片坐标
    linux常用命令
    docker 常用命令
  • 原文地址:https://www.cnblogs.com/guyun/p/4092298.html
Copyright © 2011-2022 走看看