【转帖】解除时间限制的一般办法 {原文链接:http://www.55188.com/thread-4143782-1-1.html}

学习学习,也许有点帮助
 
重要说明:
 1、此为学习帖子,从别的地方红转过来的。也许你感兴趣,可以试试看。
 2、抱着人人为我、我为人人的理念,有价值的方法共享,没有其他的想法,请不要歪曲本意。
 3、对于依照此文做各种假设和试验的,本人概不负责,也请不要在此责怪和埋怨。
 
谢谢。
 
彻底解决共享软件的时间限制的方法(转贴)
 
      大家都知道:许多共享软件都会有使用时间上的限制(也有部分软件是使用次数上的限制,其机理是差不多的)。在第一次使用该软件时,它会告诉您这是一个Shareware(共享软件)或是Trial Version(试用版),您有 XX 天的试用时间(一般为30天左右)。在试用期间内,您可以享受部分和全部的功能。当然,这期间内它也会经常不厌其烦地提示您,请您购买正式版本,或请掏钱注册。30天的试用期一满,要不只是保留部分的基本功能,或者干脆就是您什么也用不了,想继续使用,Money!

  要解决软件的使用时间问题,除了去网上找一些现成的注册码外,我们还可自己动手去解决,毕竟要找到最新版本的注册码也不太容易。手工解决时间的办法,常用的一种就是修改系统日期,让时光倒流到软件试用的30天内。虽然这种方法对相当一部分软件来说还是有点儿作用,但蔽端是显而易见的。经常修改系统日期难免会造成一些混乱,今天为了这个软件改了一下日期,明天又得为另外一个软件改一下日期。结果到最后弄得一团糟,要不是您能用这个就不能用那个,能用那个就用不这个了。而且您的朋友也会惊奇地发现收到了您1900年的一声问候!2010年的一份稿件!再者,这种改时间的方法也不是万能的,现在的软件大多都已注意到了这个问题,所以采取了更高一层次的加密,不会就这样轻意地让您随便改改日期。否刚,算了吧,您就别再用它了,即使您重新安装软件,也无济于事(除非你重装整个系统)。

  所以,我向您介绍另一种方法。既然它不让您改时间,那它肯定是已经记下了这个时间,去掉这个记录那不就行了吗?   下面我就来具体谈一下它的工作原理。

  一般说来,在软件的第一次安装时(或是在第一次运行时),它会以当前的日期时间作为基准,作为试用期的开始,记录在案。以后的每一次运行都会在启动前先取出这个记录,再和当前的时间作一比较,如果在试用期内,那还好,您可以继续使用;反之,那便罢也,软件过期了。要继续使用,Money!所以前面所提到的修改系统时间的方法,在这里只是治标不治本。要解决这个问题,关键还是从根源抓起。

  那么如何修改这个时间记录呢?您可别急。要改还不太简单,首先您得要先找到它吧。这也是本文的关键之所在,您可要看仔细了。

  动动脑筋,想一想这个记录会放在哪儿呢?在Windows下,软件配置信息放在什么地方?对!就在注册表里(Registry),这个注册表是一个庞大而又很复杂的数据库,所以对于一般用户来说很神秘,不敢越雷池一步。这正好为一些软件加密提供了藏身之处,许多软件在第一次使用时,都会将当前的时间放在注册表里的某一个位置。以后的每次运行先从这儿取出时间,再和当前的作比较,从而判断出是否过期。而且这个记录在软件卸载后也不会自动清除掉,这就是为什么我们在软件过期后重装一遍时它还会说过期的原因。 既然知道了这个记录就在注册表里,那我们怎么去找到它呢?

  有人会问,我怎么用注册表编辑器(RegEdit)的搜索功能找不到这个时间呢?

  笨蛋!有这么玩捉迷藏的吗?既然是藏,难道能那样随随便便就让您给找到的?这个时间记录它都是以加密后的数据存放的,您看到的一般都是诸如A4ECFA57-D0A3-9FF3-8481-A492EB945058之类的古怪而无实际意义的字符串。想用Regedit去查找诸如2000-1-1之类的日期格式,白费心机。所以在注册表中您看到一串古怪的数据,如果它越古怪就越值得怀疑。

  其实想在注册表中找到它们也不难。方法有两种:一是在软件还未安装前(第一次安装),先备份一下整个注册表,然后再装。将安装前后的两份注册表作一比较,找出新增加或改动了的地方,缩小可疑范围,然后再进一步判断。这儿我们可以借助Regsnap来完成此项工作。不过这种方法有很大缺点那就是工作量较大,而且一旦事先已安装过该软件了,此法便无效了。所以在这种情况下只能借助于第二种方法了。借助于一些相关的工具来监视软件对注册表的操作,如大名鼎鼎的RegMon(注册表监视器)。利用regmon,监视到软件启动时从注册表读取这个记录的事件,从而找到它的藏身之地。

  具体操作方法下面我以Paint Shop Pro 6.0 为例来说明:

  修改之前您得先安装好Paint Shop Pro(废话) 。准备好之后,那我们开始出发。打开Regmon,在过滤设置中填上psp(Paint Shop Pro 的执行文件名),表示只对PSP文件进行监视。设好过滤之后,开始监视。打开PSP,在出现启动画面和显示已使用时间的时候停止监视。想想在这一段时间里,PSP会从注册表中读取哪些信息呢?然后仔细分析一下监视到的结果(重点在后一部分,想一想这是为什么?)。由于软件把这个时间是以加密的形式存放在注册表中,所以regmon监视到的数据中有一串很奇怪的字符便是这时间了。虽然我们并不知道它具体的加密算法,但最简单的一个方法——删除不就解决问题了吗?双击监视到的这个数据,直接让RegMon打开RegEdit,定位到HKEY_CLASSES_ROOT\CLSID\{ADBB2D80-5DFD-11D2-A00C-00104B65AAF5}\MS,将右窗口中的iPID60u值删掉。重启PSP,这时您便会发现它又从第一天开始计时了。

  怎么样?改起来并不难吧?其实要手工去除一些软件的时间限制就是这么简单,关键就是在于首先要找到这个时间记录的藏身之处,之后的步骤就是轻轻的一个Del 键。搞定!

  当然也并非所有的软件都是这么简单就可以解决的,它们自身也似乎明白了这一点,光只在注册表中藏上一个值,是很容易被别人发现了。所以它们便再加上了一层保护。单独的一个记录也许您会瞎猫碰到死耗子,歪打正着地让您给撞上了。两个记录您还有那么好的运气吗?不过这也难不倒RegMon,只要是程序要读写注册表,那一切都逃不过它的监视。您只要仔细一点,多试试,N个记录也能给找出来!哈哈…….。要想人不知,除非已莫为。你做的任何每当都会留点儿蛛丝马迹的。嘿嘿…….。像藏有两个记录的软件有Turbo Browser98,它的两个记录分别藏在:

  [HKEY_LOCAL_MACHINE\Security]
"Tool1."=hex:e0,59,9b,87,fd,d5,be,01
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\]
"Q. Status"=hex:e0,59,9b,87,fd,d5,be,01。

  不过,难道它们仅仅只会在注册表里捉迷藏吗?硬盘空间那么大,哪儿不好躲?所以还有相当一部分软件的加密方法并不仅仅局限于注册表里,在硬盘上某个位置往往还有几条漏网之鱼。

  经过一番苦战,我终于找到了如何将这群在逃分子揖拿归案的绝佳秘计,您可听好了,此法乃我精心研究数十载,取众家之所长,独成一派,传子不传女的修改大法。在做法之前,我还得再请个助手。而且这位兄台也正是前面所提到的 Regmon 娘家 Sysinternal 公司的又一同胞兄弟——Filemon。一听大名,便知其是如何了得。果不其然,任何软件对文件的各种操作(无论是读,写,修改)都一一逃不过它那双火眼眼睛。

  比如对Zipmagic2000,采用Regmon和Fiemon珠壁联合、共同合作的方式进行监视。通过RegMon可知Zipmagic2000启动时从注册表中读出了 [HKEY_CLASSES_ROOT\CLSID\{187b1580-324b-11d0-9398-0020aff0e034}]   @="GYSupport"
"Data28"="BIPJBPIGFSLHGKDULONNMOMPJNIUMLDM" 的值,而FileMon发现了启动时也动了一下C:\windows\control.ini 文件,仔细分析一下Winini文件中的内容,发现有一段可疑字符串:
[screens data]
screens28=CJQKCQJHGTMIHLEVMPOONPNQKOJVNMEN

估计启动时就是要从这儿读取一个记录,然后再同上面注册表中的另一个记录进行一番互相校验,从而得出第一次安装的时间,再判断软件是否过期。

  所以,为了验证一下我们推测是否正确,我们先调整系统时间,使之超出30天的试用期限。然后删除注册表中该键值和中这段字符。启动一下,这时,它便告之您,软件的试用时间记录已经遭到破坏,请重新安装。重新安装之后便又可使用了。哈哈,上述推断正确,加10分!

  结束之前,我想也该稍做总结。

  软件试用的加密常用的一种,就是比较简单的在注册表中的某一个位置藏上第一次使用的时间记录,以后的每次运行就是先取出这个记录,再同当前时间作一比较。从而判断是否过期。 注1、何时藏入这个记录各个软件不相同。有的是在您第一次安装时,安装程序取当前日期写进注册表。所以有时直接删除这个记录不管用,您还需重新安装一遍。而有的软件是在程序第一次运行时加入的,这也就是说在安装时它并没有写入时间。这些软件在运行前先要在注册表中查询这个记录,如果没有的话便以为这是第一次安装,自作聪明地再取当时时间写入注册表。所以对于这一类软件,我们只需删除这些记录就行了。 注2、不一定是只有一个记录,有的软件会在注册表中写入两个位置,互为校验。一旦其中一个被破坏,那么便会出错,无法继续使用。所以这一类软件,您要打扫彻底了,将所有的时间记录都清干净了。

  另一种就是采取文件加密的方法。软件将时间记录写入一个文件(或者多个文件)中,并且这些文件藏得都是很隐蔽。一般是在初始文件中或者是以二进制文件的方式存放,藏在Windows 子目录或Windows\system 等不易被人发现的目录下,同时文件也具有隐藏或只读属性。总之一句话,就是不能让您轻易地就发现。不过这个我们也不怕,只要它启动时要读出这个记录,那就能把它揪出来。

  当然还有些软件同时采用这两种方法,注册里藏几个值,系统目录里藏几个文件,它们之间互为校验,缺一不可。只要其中一个破坏,便会出错,所以这类软件您一定一定要弄干净了。如Quick View Plus 5.0,像它竟然一下子在注册表藏了两个值 HKEY_LOCAL_MACHINE\Software\CLASSES\.wav\{A4ECFA57-D0A3-9FF3-8481-A492EB945058} 和 HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{D60EB4AA-B69E-BA5C-88FE-CEFE4F8EECC7} 系统目录下有2个文件 c:\os067271.bin 、C:\WINDOWS\SYSTEM\ws476828.ocx 和一个目录 C:\WINDOWS\SYSTEM\Viewers! 可谓是层层加密,绞尽脑汁。不过它最终还是让我给解决了,嘻嘻……

  不知一下说了这么多,您能明白了多少。“授人以鱼,不如授之以渔”,希望本文能对您起个抛砖引玉的作用。
 
附-----Regmon的简单用法
 强大的注册表监视器——Regmon
 

目前,有关注册表的修改一直是个很热门的话题。在具体修改时,您绝不能少了一款注册表监视工具。所以RegMon(注册表监视器)就成了我们的得力助手。其强大的监视功能监视程序对注册表的各种操作,从而方便我们修改。用它我们可以很容易地发现不少秘密,例如 Windows 的许多隐藏属性等。下面就让我来介绍这位不可多得的好帮手。   RegMon 由Sysinternals 公司出品,最新版本为V4.17,适用于Windows 9x和NT下,为免费软件。大小仅为53K(压缩后),只有Regmon.exe, regsys.sys,regvxd.vxd,regmon.hlp和readme.txt五个文件,解压到任一个文件夹下便可以使用,不需安装。

  首先,我来介绍一下Regmon的界面。

  打开Regmon后,便弹出一个标准的Windows程序界面。顶端是标题栏,下面是菜单,工具栏和主窗口。由于菜单里的功能与工具栏上的功能相似,所以我这儿就以工具栏为例介绍其具体作用。

  工具栏上共有七个按钮,依次为保存、监视、自动翻卷、清除、过滤、查找和跳到注册表编辑器。“保存”的功能可以将每一次的监视结果以 *.rgd 的文件格式保存下来,以便以后的参考(实际为文本文件,可以用记事本之类的文本编辑器查看)。“监视”的按钮为启动监视的开关。默认时为开,当按下一次时,按钮上便多了一红色的“X”,表示暂停监视。“自动翻卷”可以使主窗口里的内容不断卷动,以保证最新内容显示在当前屏幕上;当然你也可以按下此按钮,不让它滚动。“清除”的作用就是将当前的窗口里的内容全部清掉,以便进行下一次的监视。当按下“过滤”的按钮时,会弹出一个对话框,让我们设置一下Regmon的过滤选项。如果这儿的过滤设置得当的话,将会给我们的j监视工作带来很大的方便,所以这儿大家要看仔细了。Process Includes 为设置要监视的程序名,这儿填程序的名称,如*.exe 。如果要对几个程序进行监视的,也可以用“;”作间隔符。Process Exclude 正好相反,表示不对某程序进行监视。Path Include 为设定要监视注册表中的路径,如HKLM\System 。同样,Path Exclude为不 对该路径下的值监视。History Depth 为设置保留的历史记录深度,如设为100时,Regmon只保留最后的100条记录。Log Reads 、Log Writes、Log success、Log Errors 是选择让Regmon 监视对注册表的何种操作。是读还是写,是成功读出的还是未读出的。填好这些后,按下Apply 便可使过滤生效了。“过滤”的按钮下来就是“查找”,这没什么多说的。最后一个按钮为“跳到注册表编辑器”,这个功能很是有用,当我们在主窗口中选中一条记录后,再点此按钮,Regmon 便打开了注册表编辑器,并且定位到该记录处,就像Jump(跳)过去的一样。

  主窗口里显示的为监视到的所有对注册表的具体操作。顶部为标题栏,分别为 # (记录条数) 、Process(程序名) 、Request(查询方式) 、Path(路径) 、Result (结果)和Other (其它)。

  光说不做,想必大家也不好理解。下面我就以监视 Snag It V 4.2为例,介绍一下用Regmon进行监视的具体操作。

  我们知道 Snag It 的执行文件为Snagit32.exe,所以在Regmon过滤设置中r的Process Include 一栏填上snagit32.exe ,表示只对它 进行监视。设好过滤后打开 Snag It ,这时Snag It 会跳出个对话窗口,45天的试用期只剩1天了(天啦!只剩一天的时间啦!)。先不管那么多了,继续做下去。切换回Regmon ,按下监视开关按钮,暂停监视。这时你会发现,从Snag It 的启动开始,一直到弹出对话框,Regmon共监视了1602条记录(这么多!)。关掉Snag It ,静下心来,好好分析一下。想一想,在Snag It 启动时它会从注册表中读取哪些信息呢?先读取一些信息用来启动,然后再从注册表中取出第一次运行时的时间,再同当前的时间作一比较,结果计算出只剩下一天。这时弹出对话框,告知只剩 一天了,程序也就在此打住。如此说来,那最后的一部分内容不就应该是监视到的时间吗?果真,在第1554条记录中发现一可疑目标。Process(程序名):snagit32.exe 、 Request(请求方式 ): QueryValue(查询键值)、 Path(路径): HKCR\tigans\(Default) 、 Result(结果) :Success(成功)和 Other(其它) :37ff4d8d (键值)。选中此记录,双击,跳到注册表编辑器中该位置,毫不犹豫地按下 DEL键 。然后再重新启动Snag It ,哈哈!这下我又有了45天的试用时间了。

  在进行最后的扫尾工作时,只见第1556条记录中还有个HKCR\dacdchfile ,键值为7e5d0422 。怎么还有余党?统统DEL之。

  最后总结一下:Snag It 在启动时会先从注册表中读取[HKEY_CLASSES_ROOT\tigans]或是[HKEY_CLASSES_ROOT\dacdchfile]的值。如果找不到,便认为这是第一次运行 Snag It ,并取当前的时间写入该 处。以后的每次运行,就先从这儿取出时间,然后同这次运行的时间作比较,得出试用多少天的结论。要改Snag It的时间,只需将这两处的值删去其中的一个就行了。

  其实Regmon 的功能还远远不止这些,更多功能就看大家如何去发掘了。股票论{原文链接:http://www.55188.com/thread-4143782-1-1.html}

你可能感兴趣的:(【转帖】解除时间限制的一般办法 {原文链接:http://www.55188.com/thread-4143782-1-1.html})