none
跪求Silverlight xap 文件混淆(加密)的详细步骤。 RRS feed

  • 常规讨论

  • 经实验,用DeepSea等代码混淆器,混淆后,重新形成的xap文件,SL不认。

    错误如下:

    第一种情况:(DeepSea混淆,这可是网上人家推荐使用的xap文件混淆器,里面的设置,我用了最简单的,就是把我的字符串加密以下,其他的我不要他加密)

    消息: Unhandled Error in Silverlight Application
    Code: 2105   
    Category: InitializeError      
    Message: 无法加载应用程序的先决条件    

    第二种情况(另外一个混淆器,不记得名字了)

    我是先把xap解包,然后把里面的dll混淆,最后把混淆后的dll重新打包成zip格式,后缀改名为xap。就提示以下信息。并且以后你就是把没有混淆的正确xap文件拷贝回去,再也没办法消除这个错误了。(我清除了浏览器的缓存也不行)。只有取另外一个名字,换一个虚拟目录才可以。(计算机我也重新启动了,也没用,只有重新做虚拟目录,以前那个虚拟目录再也没办法使用了,实验了无数次重新启动)。

    消息: 初始化错误。英文我不记得了,错误代码大致是:Code: 2103,Category: nitializeError      

    第三种情况:实验了这个:https://www.componentone.com/SuperProducts/XapOptimizer/

    压缩后的xap文件倒是可以使用。但是一是要银子,二是免费的不能加密,只是帮你清除一些没有引用到的类,然后给你一个小一点的xap。就是给你一个小一点的类,也是错误的(错误情况我分析了,就是你用反射动态创建的类,他认为你没有用到,居然“好心帮你”删除了,让你哭笑不得)。

     第四种情况:先把xap文件解压,然后用winrara重新打包成zip格式,我注意比较了他们的路径,压缩格式,怎么也形成不了原先的xap文件。所以说网上流传的所谓xap文件揭秘,并没有真正揭秘,他的xap文件究竟是怎么回事的zip文件(什么格式的zip),我搞不清除。因此解开后,再打包回去,就没有任何复原的办法。微软是不是在他的Zip文件里面做了一点手脚?我觉得不是纯粹的zip文件那么简单。

     整个实验是在SL4.0开发版下实验的,其他版本的,我没有实验,你知道,开发人员安装的是开发版,做实验是一件非常麻烦的事情。

    • 已更改类型 天使坠Moderator 2011年7月12日 2:04 这个话题很有讨论的价值,我做为讨论贴处理了
    2010年9月11日 12:10

全部回复

  • 我猜测你可能没有正确的生成xap文件,我用的是系统右键->send to->Compressed (zipped) folder, 生成的xap可以使用。


    Mog Liang
    2010年9月14日 7:12
  • 生成了正确的xap。你想我后来根本就不生成混淆dll,而是在vs.net下可以运行的xap文件拷贝到发布目录下,你说他都不运行,我有办法么?但是奇怪的是,过了若干时间,我有重新拷贝到帆布目录,重新建立虚拟目录,他又可以运行。总之我觉得应该与系统的注册表或者缓存之类的东西有关系。

     

    2010年9月14日 12:36
  • 顶楼主一下,我也正在找这个问题.
    sel
    2010年9月20日 2:29
  • 请使用deepsea,安装最新版后如查发现混了后的xap还不能运行。那么就使用一下deepsea的update功能,update完后应该就可以混sl4的xap了。我已经亲手测试过。
    2010年11月4日 19:53
    版主
  • 你们这个话题很有讨论的价值,我做为讨论贴处理了
    努力!完成了js解析器,还差一个svg插件,一个绘图程序,做好自己,呵呵~!
    2011年7月12日 2:04
    版主
  • 你好,关于xap的加密问题,你现在找到好的方法了吗?请分享,谢谢
    2011年9月7日 2:26