首页
社区
课程
招聘
.NET代码格式化工具Clear C# 1.1破解(适合初学者)
发表于: 2006-5-17 12:53 6106

.NET代码格式化工具Clear C# 1.1破解(适合初学者)

2006-5-17 12:53
6106
前两天为了寻找一个C#源代码格式化美观工具,找到了这个小软件,很好用。却发现因为下载的是Demo版本,只能保存50行的代码,很不爽,决定破之。
软件下载地址:
http://www.tangiblesoftwaresolutions.com/Demo_Clear_CSharp/Download_Demo_Clear_CSharp.htm

破解开始:
1、先看看复杂程度,决定是否值得动手。如果是用了流行的加密/加壳/混淆工具,则后面的破解步骤就不一样了。
2、运行Reflector,找到入口点Main函数。看了看类和函数的名称,发现确实是用混淆工具进行了,但比较简单。后来发现用Xencode Fox2006居然加载发生错误,就估计是用Xenocode Postbuild2006进行混淆的,以前也碰到过。
3、还好在Reflector里边加载正常!而且Main函数也能转换成C#代码,那就简单了!
4、居然第一句就是赋值的:
z_a53.z_a56 = z_a53.z_a55.Demo;    ------看到没有?
5、而且后面又有判断语句:
  if (z_a53.z_a56 == z_a53.z_a55.Standard)
….
  if (z_a53.z_a56 != z_a53.z_a55.Demo)
  看来我们的工作量并不大,所以信心大增。只要把Main函数破解掉了,问题也就解决了!
6、如果我们把4里的那句换成如下:
  z_a53.z_a56 = z_a53.z_a55.Standard;
   是不是问题就解决了?至少我们也能得到一个标准版吧?!
但是,别急!再看看里边有个frmMain.z_b7变量出现的挺多,好像后边的几个判断还和这个变量有很大关系,于是点进去再稍微深入一下看看。
7、来到了函数z_a237.z_a239。哦,原来是读取注册表信息啊!那太简单了。加上标准版应该有的项就行了。
后边的工作就简单得很了,用ILDasm或者PEBrowseDebugger得到第一句IL的地址,把原先的L_0000: ldc.i4.0 修改为L_0000: ldc.i4.1就行了,现在得到的就是标准版了!
8、最后加上两个标准版应该具有的注册项,Agreement/Accepted Standard和GUI/Standard Reg Code,前者内容必须为true,后者随便,一切OK!

破解了好几个.NET程序,这个是最省力的,感谢作者没有留下很多暗桩。也许因为是小工具吧,保密功能比较简单,这种程序对初学者用来练手是最好的。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
掀起.Net破解的新高潮............
2006-5-17 13:01
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
3
最初由 快雪时晴 发布
掀起.Net破解的新高潮............


估计会如此~~
2006-5-17 14:43
0
雪    币: 175
活跃值: (2331)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
急需.net方面的资料。
2006-5-17 21:41
0
游客
登录 | 注册 方可回帖
返回
//