zoukankan      html  css  js  c++  java
  • SlickUpload 破解方法

    开始->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命令提示,进入原dll文件所在的目录D:/test


    下面以Krystalware.SlickUpload.dll为例


    运行命令ildasm Krystalware.SlickUpload.dll /out=Krystalware.SlickUpload.il进行反编译.

    用记事本打开Krystalware.SlickUpload.il文件,因为我要改的是类x75979804e3328b1e的x8da2e55498083456 ()方法,所以搜索时输入“end of method x75979804e3328b1e::x8da2e55498083456”,这样就能快速定位.

    把原来的
    .method private hidebysig instance string
              x8da2e55498083456() cil managed
      {
        // 代码大小      22 (0x16)
        .maxstack  8
        IL_0000:  ldstr      " <div style=/"z-index:99999;background-color:#265ecf"
        + ";border-top:1px solid #37b0e5;border-right:1px solid #37b0e5;position:a"
        + "bsolute;right:0;bottom:0;margin:0;padding:.25em .5em .25em .5em;font-si"
        + "ze:80%;background-image:url('http://krystalware.com/SlickUpload.ashx/?ve"
        + "rsion="
        IL_0005:  ldarg.0
        IL_0006:  call      instance string Krystalware.SlickUpload.x75979804e3328b1e::xd82cd904f37d14cc()
        IL_000b:  ldstr      "')/"> <a href=/"http://krystalware.com/Products/Slick"
        + "Upload//" style=/"color:#ffffff;text-decoration:none;/" target=/"_top/" onmo"
        + "useover=/"this.style.textDecoration='underline'/" onmouseout=/"this.style."
        + "textDecoration='none'/">Powered By SlickUpload Evaluation Version </a> </d"
        + "iv>"
        IL_0010:  call      string [mscorlib]System.String::Concat(string,
                                                                    string,
                                                                    string)
        IL_0015:  ret
      } // end of method x75979804e3328b1e::x8da2e55498083456

    换成

      .method private hidebysig instance string
              x8da2e55498083456() cil managed
      {
            // 代码大小      11 (0xb)
        .maxstack  1
        .locals init (string V_0)
        IL_0000:  nop
        IL_0001:  ldstr      ""
        IL_0006:  stloc.0
        IL_0007:  br.s      IL_0009

        IL_0009:  ldloc.0
        IL_000a:  ret
      } // end of method x75979804e3328b1e::x8da2e55498083456

    为什么这样换呢?呵呵,IL的语法我也是不太懂的,这里就要借助reflector.

    那dll是强命名的,所以还要生成snk文件,命令
    sn -k Krystalware.SlickUpload.snk

    现在是再编译的时候了,命令
    ilasm /dll /res:Krystalware.SlickUpload.res /key:Krystalware.SlickUpload.snk Krystalware.SlickUpload.il /out:Krystalware.SlickUpload.dll
    生成成功,更破解后的dll文件替换原来的,OK,讨厌的版权信息没了!

  • 相关阅读:
    数组名与指向数组的指针
    如何实现带可变长参数的函数
    assert()的使用
    参数入栈的顺序以及栈/堆的生长顺序
    指向函数的指针
    各变量入栈顺序
    数组与指针
    C中空指针、NULL与0
    C中为什么不能用==比较字符串?
    在命令行窗口中输入EOF
  • 原文地址:https://www.cnblogs.com/ami/p/2315213.html
Copyright © 2011-2022 走看看