踢西工作室

踢西工作室:代码实例,网站重构,XHTML+CSS

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  5 随笔 :: 36 文章 :: 8 评论 :: 0 引用

公告

2007年11月20日 #

SourceGear Fortress 1.0.5的破解包已出来,本次不再提供旧版的破解包。SourceGear Fortress包含了Vault的所有功能,可以做任务管理和代码关,如果只须要做一些版本控制可以直接使用Vault就可以了,可惜的一点就是不支持X64的系统。以前很多公司都使用Dragnet(可以到SourceGear下载Dragnet)和Vault集成使用,安装Fortress已带有Dragnet的功能,不必再安装其它,不过俺没有真正使用过SourceGear Fortress,有经验的高手方便的话希望提供一些资料给本站,谢谢。

破解包下载地址:http://www.web3.cn/Content,2007,7,11,200.aspx

看一下SourceGear Fortress简介:
SourceGear Fortress是一个跨平台的 Application Lifecycle Management (ALM)解决方案,适合于小型和中型的团队。版本控制特性基于从 SourceGear Vault来的成熟技术,SourceGear Vault从2003年2月的最初发行版本开始,已经被不断改进。

产品特性:
  • 无缝集成 ALM解决方案
  • 版本控制
  • 工作项追踪
  • 项目管理
  • 子版本追踪
  • 带有通用 IDE的完整特性集成:
    • Visual Studio 2005
    • Eclipse (on Windows, Mac OS X, Linux, Solaris)
  • 安装简单
posted @ 2007-11-20 10:29 踢西 阅读(265) 评论(1) 编辑

2007年7月28日 #

      前两个星期Google居然把我的网站误判为“这个网站有可能会损害您的计算机“,Google(谷歌)一直致力于保护用户不被连结至传播恶意软件的网站,希望将用户受到恶意软件危害的几率降至最低。因此,谷歌与 StopBadware.org 合作,于搜索结果中对那些在 StopBadware 公布的指南下被判定为发布恶意软件的网站标示警告:该网站可能会损害您的计算机。

      身为网站管理员,当看到自己努力耕耘的网站竟然在搜索结果中被标示了这个警告,感到非常意外,每隔一段时间就会对网站进行安全检查,从来没有发现过有什么问题,更不要说是给黑客进入挂上木马,在2007的半年时间里,俺天天在跟病毒、木马接触,在常用的杀毒软件瑞星、卡巴、金山、江民这几个杀毒软件都未能查杀一此新病毒之前,几乎每天都有提取病毒样本提交到杀毒软件公司,本来只对病毒只是有一此了解,现在来说可以说是几乎没有病毒可以逃过我的手工检查(俺对自己还是有非常大的信心),前段时间Google居然误判我的网站,对Google跟StopBadware.org 合作有非常大意见,哎,没什么办法,只能进行申斥……

      还好,俺在之前已经使用了谷歌网站管理员工具,及早发现网站被标示了警告。将恶意软件通知与网站管理员工具结合,并通过电子邮件发送给部分网站被标示警告的网站管理员。俺就认为Google是把我的网站误判了,通过http://stopbadware.org/home/review 要求复审,嘿嘿,前几天刚刚提交的申请,想不到今天一看居然更正了,嘿嘿,说明俺的网站绝对是误判了,高兴中……

posted @ 2007-07-28 19:23 踢西 阅读(251) 评论(4) 编辑

2007年7月11日 #

     经过两天时间的研究,终于把SourceGear Vault4.0.2的服务器端破解了,直接修改序列号到期时间,用户数限制。明天有时间再把客户端破解了,应该客户端的破解方法和服务器端的差不多,现已有了一些经验,先在这记录一下,等这两天工作不太忙的时候再干革命了。
      在这先说一下SourceGear Vault4.0.2的序列号算法(俺看代码所理解的,应该有其它破解方法,高手可以直接写注册机生成工具,不用修改dll文件,我这用的是暴力法),SGV用MD5加密一特殊字符串(具体怎么加密没有做详细的研究,否则俺也可以写个注册码生成出来了)保存到SQL数据库中,读取序列号是从数据库读取再用每5个字符用“-”分开显示出来,经过一段比较复杂的算法从加密码的字符中生成几个数据,有一个是天数,一个是用户数,另一个是是否演示版,另外两个没搞清楚什么作用,不管他。然后拿日期2004-1-1和天数相加,得到一个演示版的使用期限,其他不变,直接输出。反正其他算法俺一时也看不明白,只知道是那个意思。
    好了,搞明白这里后可以开始干活了,把相关的dll文件转储导出IL中间代码,这里一定记得把强名去掉,否则修改后会出现dll文件被篡改,程序无法运行,然后修改函数保存后重新编译一次,把生成的dll文件覆盖原文件。
      上面就是详细SourceGear Vault4.0.2的破解方法,其它代码没事就不要乱改吧,这是花了我两天时间研究分析出来的结果,写出来可以让大家减少很多时间。
      破解关键过程:先转储vs.dll导出IL源代码(中间代码),找到x_unpack函数,直接序列号过期时间、修改用户限制,修改如下:
.method private hidebysig static class vs.ssd
          x_unpack(uint8[] b) cil managed
  {
    // 代码大小       157 (0x9d)
    .maxstack  4
    .locals init (uint8[] V_0,
             uint8[] V_1,
             class vs.ssd V_2)
    IL_0000:  ldc.i4.s   15
    IL_0002:  newarr     [mscorlib]System.Byte
    IL_0007:  stloc.0
    IL_0008:  ldarg.0
    IL_0009:  ldloc.0
    IL_000a:  ldc.i4.0
    IL_000b:  callvirt   instance void [mscorlib]System.Array::CopyTo(class [mscorlib]System.Array,
                                                                      int32)
    IL_0010:  ldloc.0
    IL_0011:  ldc.i4.0
    IL_0012:  ldc.i4.0
    IL_0013:  stelem.i1
    IL_0014:  ldloc.0
    IL_0015:  ldc.i4.3
    IL_0016:  ldc.i4.0
    IL_0017:  stelem.i1
    IL_0018:  ldloc.0
    IL_0019:  ldc.i4.s   11
    IL_001b:  ldc.i4.0
    IL_001c:  stelem.i1
    IL_001d:  ldloc.0
    IL_001e:  ldc.i4.s   14
    IL_0020:  ldc.i4.0
    IL_0021:  stelem.i1
    IL_0022:  ldloc.0
    IL_0023:  call       uint8[] vs.slic::h(uint8[])
    IL_0028:  stloc.1
    IL_0029:  ldarg.0
    IL_002a:  ldc.i4.0
    IL_002b:  ldelem.u1
    IL_002c:  ldloc.1
    IL_002d:  ldc.i4.0
    IL_002e:  ldelem.u1
    IL_002f:  bne.un.s   IL_009b
    IL_0031:  ldarg.0
    IL_0032:  ldc.i4.3
    IL_0033:  ldelem.u1
    IL_0034:  ldloc.1
    IL_0035:  ldc.i4.1
    IL_0036:  ldelem.u1
    IL_0037:  bne.un.s   IL_009b
    IL_0039:  ldarg.0
    IL_003a:  ldc.i4.s   11
    IL_003c:  ldelem.u1
    IL_003d:  ldloc.1
    IL_003e:  ldc.i4.2
    IL_003f:  ldelem.u1
    IL_0040:  bne.un.s   IL_009b
    IL_0042:  ldarg.0
    IL_0043:  ldc.i4.s   14
    IL_0045:  ldelem.u1
    IL_0046:  ldloc.1
    IL_0047:  ldc.i4.3
    IL_0048:  ldelem.u1
    IL_0049:  bne.un.s   IL_009b
    IL_004b:  newobj     instance void vs.ssd::.ctor()
    //IL_0050:  stloc.2
    //IL_0051:  ldloc.2
    //IL_0052:  ldarg.0
    //IL_0053:  ldc.i4.1
    //IL_0054:  ldelem.u1
    //IL_0055:  ldc.i4.8
    //IL_0056:  shl
    //IL_0057:  ldarg.0
    //IL_0058:  ldc.i4.2
    //IL_0059:  ldelem.u1
    //IL_005a:  or
    IL_0050:  stloc.2
    IL_0051:  ldloc.2
    IL_0052:  ldc.i4     0x1869f  //直接加上99999天
    IL_005b:  stfld      int32 vs.ssd::e
    IL_0060:  ldloc.2
    //IL_0061:  ldarg.0
    //IL_0062:  ldc.i4.s   12
    //IL_0064:  ldelem.u1
    IL_0064:  ldc.i4     5  //4为演示版
    IL_0065:  stfld      int32 vs.ssd::v
    IL_006a:  ldloc.2
    IL_006b:  ldarg.0
    IL_006c:  ldc.i4.4
    IL_006d:  ldelem.u1
    IL_006e:  stfld      int32 vs.ssd::t
    IL_0073:  ldloc.2
    //IL_0074:  ldarg.0
    //IL_0075:  ldc.i4.5
    //IL_0076:  ldelem.u1
    //IL_0077:  ldc.i4.8
    //IL_0078:  shl
    //IL_0079:  ldarg.0
    //IL_007a:  ldc.i4.6
    //IL_007b:  ldelem.u1
    //IL_007c:  or
    IL_007c:  ldc.i4     999  //用户数量
    IL_007d:  stfld      int32 vs.ssd::n
    IL_0082:  ldloc.2
    IL_0083:  ldarg.0
    IL_0084:  ldc.i4.7
    IL_0085:  ldelem.u1
    IL_0086:  ldc.i4.s   16
    IL_0088:  shl
    IL_0089:  ldarg.0
    IL_008a:  ldc.i4.8
    IL_008b:  ldelem.u1
    IL_008c:  ldc.i4.8
    IL_008d:  shl
    IL_008e:  or
    IL_008f:  ldarg.0
    IL_0090:  ldc.i4.s   9
    IL_0092:  ldelem.u1
    IL_0093:  or
    IL_0094:  stfld      int32 vs.ssd::u
    IL_0099:  ldloc.2
    IL_009a:  ret
    IL_009b:  ldnull
    IL_009c:  ret
  } // end of method slic::x_unpack
­
上面还保留原有句子,只是注释掉了,以便以后查看!暂时到这,下一步破解客户端! 应该破解方法差不多。(要是有些朋友只想使用破解好的文件,等俺有点空再发到www.web3.cn吧反正俺现在就在用,应该破解没什么问题)
posted @ 2007-07-11 12:06 踢西 阅读(453) 评论(3)  编辑

使用网站中的资源时,通常必须指定资源的路径。例如,您可以使用 URL 路径引用页面中的图像文件或网站中其他位置处的页面的 URL。同样,Web 应用程序中的代码可以使用基于服务器的文件的物理文件路径对文件进行读写操作。ASP.NET 提供用于引用资源并确定应用程序中的页面或其他资源的路径的方法。
文章来源:http://www.web3.cn/Content,2007,3,2,185.aspx
posted @ 2007-07-11 11:53 踢西 阅读(6) 评论(0)  编辑

由于工作需要,要写一个截取指定长度的函数,写一个又太懒,想或许到Google上能搜索到,但是可惜的是,搜索到的方法几乎都有问题,不单是效率,还有结果都不能正常显示,有的文章甚至被不少大网站互相转来转去,最近找到一个用C#截取指定长度的方法,觉得效率很不错,所以把它保留下来了,转成两个版本C#和VB。
文章来源:http://www.web3.cn/Content,2007,4,4,186.aspx
posted @ 2007-07-11 11:53 踢西 阅读(15) 评论(0)  编辑

介绍大家三个在项目中用到的DataTable的小巧实用的方法(排序、检索、合并):
文章来源:http://www.web3.cn/Content,2007,5,6,187.aspx
posted @ 2007-07-11 11:53 踢西 阅读(2) 评论(0)  编辑

VB.Net的排序算法
文章来源:http://www.web3.cn/Content,2007,5,6,188.aspx
posted @ 2007-07-11 11:53 踢西 阅读(57) 评论(0)  编辑

有两种方法: 方法1: truncate table 你的表名 --这样不但将数据刪除,而且可以重新置位identity属性的字段。 方法2: delete from 你的表名 dbcc checkident(你的表名,reseed,0) --重新置位identity属性的字段,让其下个值从1开始。
文章来源:http://www.web3.cn/Content,2007,5,13,189.aspx
posted @ 2007-07-11 11:53 踢西 阅读(3) 评论(0)  编辑

右键-打开方式-选择程序,无法使用,说拒绝访问。 怎么办? 我也碰到过这个问题 刚就出现了 不知道怎么导致的 哎呀 搜索了一下 这个方法可以解决 打开记事本 保存为ok.reg运行即可,一般是病毒删除后的关联问题
文章来源:http://www.web3.cn/Content,2007,5,19,190.aspx
posted @ 2007-07-11 11:53 踢西 阅读(40) 评论(0)  编辑

引言:为什么需要版本控制? 1.情景1:程序员A和B共同修改同一个模块,两人都辛辛苦苦改了好几天、最后都回存到服务器上。可到使用的时候,发现有一个人的修改被冲掉了!……
文章来源:http://www.web3.cn/Content,2007,5,20,191.aspx
posted @ 2007-07-11 11:53 踢西 阅读(26) 评论(0)  编辑

仅列出标题  下一页