惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
T
Threat Research - Cisco Blogs
小众软件
小众软件
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
S
Secure Thoughts
O
OpenAI News
P
Proofpoint News Feed
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
T
Tenable Blog
A
Arctic Wolf
L
LINUX DO - 热门话题
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
博客园 - Franky
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
H
Heimdal Security Blog

博客园 - 飞刀

人生就是这样脆弱,纪念一位刚刚离去的同事 使用动感地带(CMWAP)+笔记本上网 上次被张艺媒给骗了, 这次又给陈凯歌给骗了,炒做的都不是好电影。 刚参加微软的新产品发布会 已经向CSDN提出辞职,不再担任了.Net大版主的职位了。 最近仔细研究了一下Java的NIO以及线程并发,搞清了点思路,特作笔记如下(NIO篇) 哈哈,.Net开源领域的发展比我想像的快啊。 Vs2005 B2中带的测试框架不错,至少在DotNet领域是最好的了。 最近一个专家的退出,.net内部是闹翻了天。 最近心情很郁闷,好多事情都堆在一起,很烦 总算是搞定了Nunit的调试。 与 吕震宇 的共鸣,有感于“专注于技术” 马桶上的乱弹(乱谈JDK5.0 和 .net 2.0) 自已编写Resharper v1.0注册机的流水帐(3) -- 大功告成:) 自已编写Resharper v1.0注册机的流水帐(2) -- 分析算法、痛苦 推荐一个NB的Vs.net 2003插件 吃坏肚子了。。。。唉。。。 有关于Refactor(重构)与Source(源)的比较 比较Eclipse,试用Vs.net 2005(Whidbey) 预览版的感受
自已编写Resharper v1.0注册机的流水帐(1) -- 上阵、分析、碰壁
飞刀 · 2004-08-12 · via 博客园 - 飞刀

本人写这个,仅供学习和研究之用,也算是自己的一个心得,注册后的插件,自己在家玩玩可以,但最好别拿去开发产品,更不要用于商业用途,JBuilder的教训是深刻的,作为公司觉得好还是去买正版吧,这点钱对公司来说还不算贵。如出现版权问题,本人概不负责。

上次给大家推荐了Resharper这个Vs.net插件(不知道他是啥的,可以看上次写的推荐一个NB的Vs.net 2003插件 ),虽然后面有兄弟向我推荐coderush,但是我装上了试试,感觉并不是很好,除了PP一点外,没有给我很兴奋的功能,也许也是因为飞刀我用eclipse写了太多的Java吧,还是喜欢与IntelleJ类似的编程工具。

Resharper牛是牛啊,可就是眼看着30天的试用期一天天临近,又舍不499$(看清楚了是美刀)的注册费,我急啊。在网上搜索了N天,也没有找到过Resharper的破解或注册机,无奈,只有自己动手搞定它了。。

这次是第一次上阵搞破解注册,所以水平有限,有搞破解的专家看到了,别笑话俺。。

以下是俺编写Resharper注册机的流水帐,以享观众:

一、装备

       .Net反编译器是不能少的,除非你很牛,能轻易看懂IL Code,反编译器就很多,免费的有reflector,要钱的有Remotesoft.Net Decompiler什么的。有一个就OKReflector足够了。

二、开始分析

       使用你手上的反编器器,把Resharper安装目录下的dllexe全部打开,一个个的查看。上天保佑,Resharper竟然是没有被混淆的,而且命名很规范,不愧是出品IntelleJ的公司啊。命名规范,看结构就很容易,很快我就锁定了JetBrainShared.dll中的JetBrains.License命名空间(问我为什么锁定?那么大一个License总认识吧,呵呵)。

       发现在这个命名空间下有四个类:BigIntegerEnterLicenseFormLicenseCheckerPasteTextBox。看名字就知道PasteTextBox没用,将其它三个类,统统反编译:

1.       BigInteger:大整型,超大整型类,先不管它。

2.       EnterLicenseForm 看名字就知道是输入License的窗口,一定要看,破解的入口啊。

3.       LicenseChecker 不用说了,名字已经很清楚了,八成算法就在里头。

接下来看代码,唉,反编译器还是不能完全反编译,有些地方还是不能搞定,不过不要紧,能看懂就行。

首先查看EnterLicenseForm的源代码,发现里面有一个CheckLicense的方法,估计这就是重点了,JetBrains公司真是太大方了,代码放得这么明显:)
   

    代码反编译的效果并不是很好,但是还是能够看出来逻辑,大致是先生成一个CheckLicense实例,传入PublicKeyUserName,以及CompanyName,然后使用IsChecksunOK来判断LicenseUserName是否配制,然后再比较License中包含过期时间是否大于当前时间。这里看出来过期时间是跟着License走的,而不是像以前一样的是根据安装时间。

       再来看CheckLicense类的结构,主要有五个属性:

IsChecksumOKTypeVersionGenerateDateExpirationDate

这些属性看名字就知道是什么了,就不解释了。

EnterLicenseForm中只比较了IsChecksumOKExpirationDate两个属性,他们两个属性应当是最重要的。

三、失败的破解过程

       人天生都是很懒的,我也一样,一看只是简单的比较了两个属性,就开始想捷径了,想想也是,破解是最省事的,把IsChecksum直接返回true,把ExpirationDate改成DateTime.MaxValue不就一切搞定了??

       马上搞出ildasm,把dll反编译成为il,直接改il 代码,并重新编译,然后把dll向安装目录和Vs.netprivateAssembly目录各copy一份,马上重新打开Vs.net 2003。。

       完了,Resharper插件,根本就不起作用了。。。连菜单都出不来了:(,太失败了。

       是哪里没有搞定呢?我没写过Vs.net插件,并不了解插件的加载过程:(到底是哪里出问题了,我就改了几个il code而已啊。失败,太打击人了。。。

       看来还是直接改字节,做Patch吧。。。

       不过当我用UltraEdit打开dll,看着满屏的16进制码(不要笑话飞刀俺,俺已经N年没碰过了,不像专业搞C的兄弟),算了,找个特征码都要搞死我,放弃。

       这时谷牛人提示我,像我这种对破解不熟的人,还是直接做注册机好,这样也最保险。

       好吧,做注册机吧。自已编写Resharper v1.0注册机的流水帐(2) -- 分析算法、痛苦
自已编写Resharper v1.0注册机的流水帐(3) -- 大功告成:)