|
且行且远
和上次看的那个计算机等级考试的模拟软件是同一个公司出的,而且都是同一个毛病,就是只有一个主程序,特别的大,很ft。仍然是用VB编的,而且没有加壳,上次因为是用SmartCheck看的,得到的信息很少,这次用Odbg载入分析了一下,原来注册码是用浮点运算计算得到的,而SmartCheck 没有检测到浮点运算,因此SmartCheck里面显示的数都不知道是怎么得到的。 VBExplorer先查看注册按钮的入口点,然后ODBG设断点,具体的程序懒得在这里写了,VB的程序太长太麻烦了,看了好久再加上一些猜测才弄明白点。这里就把最后注册码的计算过程写一下算了。 序列号分为两部分,前面是字符串,后面是一串数,把这串数提取出来,分别取得数的1、3、5、7位。分别在每位后面依次加上2、5、7、6。这样得到四个数。 下面再对每个数进行处理,看一下各个数是在什么区间内,分析的时候记录如下: ds:[4026C0]=20 再加上ds:[4026B8]=97 把最初得到的四个数求和,判断和处于如下哪个区间内,然后注册码即可求得 属于区间[0,100]:注册码=zgx+第一位+第二位+gf8+第三位+第四位 注意上面所说的第?位都是以最初得到的数为ASCII码求得的字符。 写的挺凌乱的,基本都是边分析边记录的,还把注册机做了,以后有空补上算法分析吧,最近忙于考试和试验报告,实在没那么多时间,5555 发表评论
|
|
||