首页
社区
课程
招聘
问高手一个关于重启软件验证的问题!
发表于: 2005-10-6 15:54 4406

问高手一个关于重启软件验证的问题!

2005-10-6 15:54
4406
我今天碰到一个软件,是采用机器码,序列号的方式注册,一共需要有24位注册码。现在有两个问题要请教高手:

1:这个注册方式是逆向算法,我看了所有的程序,都没发现有比较的地方(无论是明码还是暗码都没有)他是把输入的十六进制序列号x1,首先根据一系列运算,得出第二组号码x2;得到第二组号码后,有根据另外一种复杂算法,这种算法中包括了浮点运算,最后得到第三组号码x3。得到第三组号码后,又根据第三种算法,最后的值必须为0,后面的程序才能通过。同时又用第三组号码的前面4个号码与内存中地址中电脑码最前面一组数比较,一致后后面就能OK。否则失败。
  现在我的问题是,象这种复杂算法,即使找到了第三组号码,有可能计算出第二组吗?即使找到了第二组,有可能算出第一组吗?24位数据,每次取两位一计算,如果都按照FF来计算,每两个数的可能性就是256,穷举法基本不可能了。当然能通过的号码可能不止一组。
  算法我基本搞懂了,但是,知道了又能怎么样呢:(,算不出来啊
  难道有另外一种更好的办法可走?

2:我曾经从别人那里得到过一组序列号,第一组计算能为0,但在和电脑码比较时不能过,我修改了内存电脑码,可以过了。但是,在重新启动程序验证时,又是错误的。
象这种重启软件验证的注册码,到底该怎么解决呢?必须要在启动软件时找到验证部分并修改吗??因为要想自己完全计算出来满足上面的序列号,几乎不可能,即使注册这部分能过了,但在重启软件验证时又回出问题。
  小弟请问高手,象这种重启软件再次验证注册码的软件,到底该如何解决?我被这个问题捆扰很久了,都没找到更好的解决办法。必须要在软件启动时解决吗?

感谢!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
如果搞不定,爆破是唯一的选择

     是否可将安装程式给我看看

      my E-mail address :ycwei@56.com
2005-10-6 18:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你的问题可能没有高手回答你,加密是坛子里的高手指点的,只请求程序过期后,请自解详细过程,菜鸟期待了,感谢了...我听说是用自己的密钥替换程序的破解的.......(又根据第三种算法,最后的值必须为0)地趾在哪?????????
2005-10-7 07:05
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这种逆向算法是很难解的吧,有时候,即使你找到了第三组号码,要想推算出第2或者第一组号码,不找到方法也是很困难的;

我还记得做老大的习题时,就是这个地址a52K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3N6s2g2@1L8%4u0A6j5h3I4Q4x3V1k6U0K9r3q4H3y4W2)9J5c8V1y4Z5j5i4l9$3i4K6u0V1x3g2)9J5k6o6p5I4i4K6u0W2K9s2c8E0K9q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2!0m8b7#2!0m8b7#2!0q4y4q4!0n7b7g2)9^5b7#2!0q4z5g2)9^5x3g2)9&6x3#2!0q4z5g2!0m8x3W2)9&6z5q4!0q4y4#2)9&6b7W2!0m8c8g2!0q4c8W2!0n7b7#2)9&6b7W2!0q4y4W2)9^5z5q4)9&6x3g2!0q4y4q4!0n7c8q4!0n7c8W2!0q4y4#2)9&6y4q4!0m8z5q4k6n7i4@1f1%4i4@1p5&6i4@1t1%4i4@1f1@1i4@1t1^5i4@1u0q4i4@1f1^5i4@1q4q4i4@1p5I4i4@1f1%4i4@1q4q4i4K6V1%4i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4@1u0p5i4K6V1K6i4@1f1$3i4K6R3^5i4K6V1I4i4@1f1@1i4@1u0p5i4@1u0r3i4@1f1%4i4K6V1@1i4@1p5^5y4q4!0q4y4q4!0n7c8q4)9^5c8q4!0q4y4W2)9&6y4g2!0n7x3q4!0q4z5q4!0m8c8g2!0m8x3g2!0q4y4#2!0m8c8g2)9&6y4#2!0q4y4W2)9&6y4#2!0n7y4W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2)9&6y4q4!0m8z5q4!0q4y4q4!0n7b7g2)9^5y4U0g2Q4c8e0N6Q4b7e0N6Q4z5e0u0Q4c8e0S2Q4b7f1g2Q4b7e0q4Q4c8e0N6Q4b7f1g2Q4z5e0N6Q4c8e0g2Q4b7f1g2Q4z5p5y4Q4c8e0k6Q4z5o6S2Q4z5e0m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4b7f1c8Q4z5e0c8Q4c8e0k6Q4b7e0q4Q4z5o6S2Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0g2Q4z5p5c8Q4z5o6q4Q4c8e0S2Q4b7V1k6Q4z5f1u0Q4c8e0g2Q4z5o6S2Q4b7U0j5I4x3o6c8Q4x3X3b7K6y4#2)9J5k6o6j5I4i4K6u0V1y4o6q4Q4c8e0S2Q4b7V1c8Q4b7f1y4Q4c8e0k6Q4z5p5c8Q4b7e0u0Q4c8e0g2Q4z5e0m8Q4z5p5g2Q4c8e0g2Q4b7V1g2Q4z5e0N6Z5i4K6t1#2i4K6y4p5i4K6t1&6i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1@1i4@1t1&6i4K6W2r3i4@1f1#2i4K6S2r3i4@1q4m8i4@1f1$3i4K6W2o6i4K6R3&6i4@1f1^5i4@1u0r3i4K6V1&6i4@1f1@1i4@1t1^5i4K6R3H3i4@1f1%4i4@1u0n7i4K6R3@1i4@1f1K6i4K6R3H3i4K6R3J5

  但是当我使用6位数计算时,我还是计算出前面三组号码十进制32-32-40-37-61-41或32-33-39-37-61-41或32-34-38-37-61-41满足要求,但用了几分钟时间吧。按照每位从32到126计算,要完全计算完大概需要94*94*5秒时间,受不了啦。

  这种穷举计算,应该不是解这种习题的比较好的方法,那么解这种题目的最好方法是什么呢?
2005-10-7 09:27
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
前面的计算程序比较长,下面是第三次算法最后部分

3F8A1D12     66:8B4D E8      mov cx,word ptr ss:[ebp-18]
3F8A1D16     66:D1E1         shl cx,1
3F8A1D19     66:894D E8      mov word ptr ss:[ebp-18],cx --------最后一次0000---如果不为0000,后面不能过
3F8A1D1D   ^ EB B2           jmp short corutil.3F8A1CD1  ----跳回上面(循环8次)

3F8A1D1F   ^ E9 55FFFFFF     jmp corutil.3F8A1C79 -----------跳回上面 循环13次

上面循环完成后,跳到这里
3F8A1D24     66:8B55 E8      mov dx,word ptr ss:[ebp-18]
2005-10-7 09:37
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
要重启验证,爆破在重启软件验证时不能过。除非爆破启动验证部分......?
2005-10-7 09:41
0
游客
登录 | 注册 方可回帖
返回