1 Dotfuscator Professional Edition 4.9 破解版

下载地址:http://www.pc0359.cn/downinfo/39815.html

备份地址:C:\D\99backups\01installSoftware\dotfuscator.rar

2 选择默认选项安装Dotfuscator Professional Edition 4.9

这样命令行的位置才是:C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.9\dotfuscator

3 使用命令行,完成获取TFS代码,发布和混淆代码

Test.xml文件内容如下:

  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!DOCTYPE dotfuscator SYSTEM "http://www.preemptive.com/dotfuscator/dtd/dotfuscator_v2.3.dtd">
  3. <dotfuscator version="2.3">
  4. <!--This is application generated code. Do not edit manually.-->
  5. <input>
  6. <loadpaths />
  7. <asmlist>
  8. <inputassembly refid="2187036c-9db0-4255-bff9-6503db4e55c9">
  9. <option>honoroas</option>
  10. <option>stripoa</option>
  11. <option>library</option>
  12. <option>transformxaml</option>
  13. <file dir="xxx\bin" name="xxx.dll" />
  14. </inputassembly>
  15. <inputassembly refid="5de30783-0123-4804-ad0d-f5d3cd5d570f">
  16. <option>honoroas</option>
  17. <option>stripoa</option>
  18. <option>library</option>
  19. <option>transformxaml</option>
  20. <file dir="xxx\bin" name="xxx.dll" />
  21. </inputassembly>
  22. <inputassembly refid="3c102238-4ba0-4855-84bd-82bc483fa0c9">
  23. <option>honoroas</option>
  24. <option>stripoa</option>
  25. <option>library</option>
  26. <option>transformxaml</option>
  27. <file dir="C:\D\xxx\bin" name="xxx.dll" />
  28. </inputassembly>
  29. </asmlist>
  30. </input>
  31. <output>
  32. <file dir="${configdir}\Dotfuscated" />
  33. </output>
  34. <renaming>
  35. <option>xmlserialization</option>
  36. <mapping>
  37. <mapoutput overwrite="true">
  38. <file dir="${configdir}\Dotfuscated" name="Map.xml" />
  39. </mapoutput>
  40. </mapping>
  41. <referencerulelist>
  42. <referencerule rulekey="{6655B10A-FD58-462d-8D4F-5B1316DFF0FF}" />
  43. <referencerule rulekey="{229FD6F8-5BCC-427b-8F72-A7A413ECDF1A}" />
  44. <referencerule rulekey="{2B7E7C8C-A39A-4db8-9DFC-6AFD38509061}" />
  45. <referencerule rulekey="{494EA3BA-B947-44B5-BEE8-A11CC85AAF9B}" />
  46. <referencerule rulekey="{89769974-93E9-4e71-8D92-BE70E855ACFC}" />
  47. <referencerule rulekey="{7D9C8B02-2383-420f-8740-A9760394C2C1}" />
  48. </referencerulelist>
  49. </renaming>
  50. <controlflow level="high" />
  51. <sos mergeruntime="true">
  52. <option>dontsendtamper</option>
  53. </sos>
  54. <smartobfuscation>
  55. <smartobfuscationreport verbosity="all" overwrite="false" />
  56. </smartobfuscation>
  57. </dotfuscator>

Test.xml文件可以在dotfuscator的UI中进行操作然后把这个文件保存下来,以后每次都可以用这个文件。

批处理代码如下:

  1. @echo off
  2. REM 声明采用UTF-8编码
  3. chcp 65001
  4.  
  5. REM 删除发布文件
  6. del /s /f /q C:\D\98publish\06Dotfucator\01WebApi\Release\*.*
  7.  
  8. REM 删除混淆文件
  9. del /s /f /q C:\D\98publish\06Dotfucator\01WebApi\Dotfuscated\*.*
  10.  
  11. REM 获取最最新tfs代码
  12. "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\tf" get C:\D\02tfs_code\01tesla\SourceCode /login:"用户名","密码"
  13.  
  14. REM 发布WebApi文件
  15. MSBuild C:\D\02tfs_code\xxx\SourceCode\xxx\xxx.csproj /p:Configuration=Release /p:DeployOnBuild=true /p:PublishProfile=C:\D\02tfs_code\xxx\SourceCode\xxx\Properties\PublishProfiles\PublishPub.pubxml /p:VisualStudioVersion=12.0
  16.  
  17. REM 混淆文件
  18. "C:\Program Files (x86)\PreEmptive Solutions\Dotfuscator Professional Edition 4.9\dotfuscator" /q ".\Test.xml"
  19.  
  20. pause

其中tfs获取最新代码的时候需要用户名和密码,PublishPub.pubxml是发布的配置文件。将上面的代码保存成一个test_dotfuscator.bat。注意文件路径等需要根据自己的需要进行更改。其中xxx是代指。需要调整为自己项目的路径或者名称.

4 遇到过的坑

4.1 只是打开dotfuscator却不执行

原因是VS2013的dotfuscator是社区版本的,并且没有命令行的方式。所以运行命令只会打开dotfuscator的用户界面。

Dotfuscator分为两个版本:一个是专业版本:dotfuscator professional edition,一个是:Dotfuscator CE社区版本。

VS2013自带了一个PreEmptive  Dotfuscator and Analytics Community Edition,是一个社区版本的

,并且它只有图形界面的方式dotfuscator.exe,没有命令行dotfuscatorCLI.exe的方式。

PreEmptive Dotfuscator and Analytics Community Edition 中的 dotfuscator.exe 是打开GUI的界面,只会打开界面不会执行

PreEmptive  Dotfuscator and Analytics Community Edition 中的 dotfuscatorCLI.exe 是命令行模式。

安装路径下的截图如下。

两个版本的区别如下:

https://www.preemptive.com/products/dotfuscator/compare-editions

4.2 为了dotfuscatorCLI.exe,重装VS2013自带的dotfuscator

VS2013是集成dotfucator的,她没有更新也不可以下载,卸载我也没能实现,因为在uninstall里面不知道卸载哪一个?最后直接放弃这种思路。安装了一个破解版本的dotfuscator.

4.3编译报错找不到Newtonsoft.Json.dll

我以为的原因是,发布之后第三方的dll就不知道从哪里拿?

实际上的原因是,发布之后,所有的dll都在bin目录下,但是因为同一个dll引用的版本不一样,而发布的同一个dll名称只发布一个,所以就造成有的dll可能没有在发布的bin目录下找到的原因。

解决方法:

第一种,把所有的相同的dll都使用同一个版本的dll

第二种,使用自定义的dll路径,如下图:

Dotfuscator Professional Edition获取代码发布和混淆代码的更多相关文章

  1. [转载]Dotfuscator Professional Edition 4.9.7500.9484 混淆工具破解版+使用教程

    如有转载,请注明出处: http://www.cnblogs.com/flydoos/archive/2012/01/26/2329536.html Dotfuscator Professional ...

  2. .NET混淆工具 (Dotfuscator Professional Edition)

      如果不想自己辛辛苦苦码出来的作品被人轻易的破解cpoy就使用这款工具试试吧.^_^   使用版本:4.9.7500.9484 ,破解版:http://pan.baidu.com/s/1dDH7lr ...

  3. Dotfuscator可以实现混淆代码、变量名修改、字符串加密

    C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破.使用VS自带的Dotfuscator可以实现混淆代 ...

  4. 转:C#使用Dotfuscator混淆代码的加密方法

    Author:flymorn Source:flymornCategories:C#编程 PostTime:2011-9-16 1:04:49 正 文:   C#编写的代码如果不进行一定程度的混淆和加 ...

  5. 使用Dotfuscator 进行.Net代码混淆 代码加密的方法

    混淆代码能在一定程度上放置代码被盗用,保护我们的知识产权 1.打开vs2012,选择工具-〉Dotfuscator Software Services 2.选择你需要混淆的DLL 文件,可以多选择 3 ...

  6. C#使用Dotfuscator混淆代码以及加密

    http://www.cnblogs.com/tianguook/archive/2012/10/06/2713105.html C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进 ...

  7. C#使用Dotfuscator混淆代码的加密方法

    C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破.使用VS自带的Dotfuscator可以实现混淆代 ...

  8. 关于Unity发布iOS平台代码混淆问题

    之前在越狱手机里找到<永恒战士3>的程序发现是用Unity做的,拷出资源出来看的时候发现里面有游戏程序集,立马抽出来反编译了一下,发现里面的代码只有方法签名,没有方法体,还以为用什么高端混 ...

  9. C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 今天讲讲如 ...

随机推荐

  1. 从Vue文件到Html文件

    如下图,通过webpack打包工具,将一个Vue文件生成html,css,js文件.其中js对应的是new Vue({})

  2. mysql九大类常用函数

    一.数学函数 ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方 ...

  3. 用SqlConnectionStringBuilder修改连接超时时间

    连接是通过参数传入,欲修改超时时间. SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(connStr); scsb.C ...

  4. 2017头条笔试题:二维点集中找出右上角没有点的点并按x坐标从小到大打印坐标

    PS:这篇是之前本来就想发的但是一直没时间写,加上今天做了京东的题,结果代码名就命名为jingdong了……懒得改代码名重新跑一遍结果了=.= 暴力法去做就是遍历每个点,判断它是不是“最大点”.判断过 ...

  5. Bezier画线算法

    编译器:VS2013 描述:Bezier画线是利用导数相同拼接曲线,使曲线十分光滑,而不是随意拼接观赏性很差 主函数段 #include "stdafx.h" #include&l ...

  6. Bootstrap table的一些简单使用总结

    在GitHub上Bootstrap-table的源码地址是:https://github.com/wenzhixin/bootstrap-table Bootstrap-table的文档地址:http ...

  7. matplot 代码实例2

    要画出如上图(注意原点有边距),怎么办呢? 简单而优雅,请看代码: #!/usr/bin/env python # coding=utf-8 import matplotlib.pyplot as p ...

  8. [UE4]动画序列面板

  9. Java内部类引用外部类中的局部变量为何必须是final问题解析

    今天编写一个多线程程序,发现在方法内定义内部类时,如果内部类调用了方法中的变量,那么该变量必须申明为final类型,百思不得其解,后来想到应该是生命周期的原因,因为方法内定义的变量是局部变量,离开该方 ...

  10. linux常用命令解析

    linux下一些注意事项 1. linux下严格区分大小写 ls 简述:列出文件或目录列表. -> ls 默认列出当前目录下的所有文件. -> ls -l(long)以长格式查看文件. - ...