首页
社区
课程
招聘
[求助].NET控件去除不了水印文字
发表于: 2009-7-5 17:41 9522

[求助].NET控件去除不了水印文字

2009-7-5 17:41
9522
各位好!
我上星期碰到一个.NET控件,在分析过程中,怎么也找不到水印文字,试过分析DrawString,Rectangle ,但是一无所获,真是烦死人了,这个水印是一个 DEMO 字样,不知道是否是附加了资源,望高手能分析一下,如果有关版权问题,不要直接上传破解文件,请指点一下怎样分析它,非常感谢了

下面是Dll下载地址

http://www.xun6.com/file/2ddeee488/Bin.rar.html

再次感谢

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
顶上去,希望高手指点,谢谢
2009-7-6 20:13
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
为什么大家对DONET这块这么含蓄啊?搞DONET的同志们要团结阿!!

既然大家这么谦虚,我就厚着脸皮来提醒一下楼主吧。
在Stimulsoft.Base.StiTextDrawing类中:

public static void DrawString(Graphics g, string text, Font font, Brush brush, RectangleD rect, StringFormat stringFormat, float angle)

在这个方法中将DEMO作为水印画上去的。(不要弄错方法了)
你现在要做的事情,就是研究这个方法,或者追踪程序哪里调用了这个方法,最终得到程序是如何判断试用版本的信息。

最后,祝你好运,如果有疑问,大家一起探讨。
2009-7-6 23:11
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
终于有高手出现了,非常感谢,但是,我将下面的DrawString方法都NOP了,都未能去掉DEMO字样,还请高手指点,再次谢谢你,具体在哪个?

上传的附件:
2009-7-7 06:47
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
忘了考虑GAC吧?把GAC中和此软件相关的东西全部删掉,他自己也提供了一个GAC的卸载工具,一定要让其变成绿色版,再破解。如果强名验证没有彻底搞定的话,它总会到GAC中读取未破解的文件的。所以一定要先把GAC搞定。这样被系统误导的可能性会大大降低。

经过我测试是可以去掉的。

如果还不行,我们再讨论。
2009-7-7 10:01
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
大师,我已经用sn -vr dll,但是,还有DEMO字样,望大师指点,非常感谢
2009-7-7 11:34
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我刚才也将C:\WINDOWS\assembly\ 下相关dll卸载了,还是不行,万望帮助
2009-7-7 11:39
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
我昨天晚上nop后,是可以成功去掉报表背景的DEMO字样的。可能还有其他验证的地方我没有考虑到吧。
今晚下班后,再帮你看看。不过会下班比较晚,呵呵。
2009-7-7 11:46
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
非常感谢,这是for wpf的
2009-7-7 13:51
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
崩溃,由于我没有exe文件测试,所以我从官方网下载的是For winform的。对于WPF我还不知道咋下断,回去研究一下。
2009-7-7 14:55
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
非常感谢老师,谢谢
2009-7-7 16:43
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
WPF的版本也被我找到了。

文件:     Stimulsoft.Report.Wpf.dll
命名空间: Stimulsoft.Report.Painters
类:        StiPageWpfPainter
方法:     public override void Paint(StiComponent comp, StiPaintEventArgs e)

请找到代码最后几行:
   Point point = new Point(rect2.get_Left() + ((rect2.get_Width() - text.get_Width()) / 2.0), rect2.get_Top() + ((rect2.get_Height() - text.get_Height()) / 2.0));
   dc.DrawText(text, point);  
   dc.PushTransform(new TranslateTransform(-num, -num2));
   StiPage.InvokePagePainted(sender, args);
   dc.Pop();

看到里的dc.DrawText(text, point);了吗?对就是这个。
在IL代码中将其NOP掉。

   IL_0620:  ldloc.1
    IL_0621:  ldloc.s    V_23
    IL_0623:  ldloc.s    V_24
    IL_0625:  callvirt   instance void [PresentationCore]System.Windows.Media.DrawingContext::DrawText(class [PresentationCore]System.Windows.Media.FormattedText,valuetype [WindowsBase]System.Windows.Point)

我已经在WPF环境下测试成功!
2009-7-7 20:22
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢,我当时也查找过字体颜色,没有留意,呵呵,如果当时留意字体是灰色,可能不走这么多弯路,老师你说是吗?
thanks
2009-7-8 09:18
0
雪    币: 290
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我是来膜拜tease的
2009-7-8 09:20
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
查找字体为颜色是一种非常好的方法。我也非常赞同使用这种方法定位水印。
但是如果可以学习使用windbg动态调试或许是一种以不变应万变的破解DONET的方法。
2009-7-8 09:46
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
研究DONET的牛人们好久都没有出现了(Rick,单海波等前辈),我急啊。所以客串一下,如果有不对的地方,还请多多包涵!
2009-7-8 10:06
0
雪    币: 8179
活跃值: (3331)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
膜拜下楼上的
2009-7-13 09:54
0
游客
登录 | 注册 方可回帖
返回
//