160crack之011 Andrénalin.4

xiaoxiao2021-03-01  9

查壳,无壳。

直接运行程序,发现程序界面还是挺有意思的,输入框无法直接输入,只能通过点击下方的按钮实行输入操作。

这里可以先大致猜测下,激活方式可能是直接通过点击按钮输入指定的字符来完成激活,也可能是先输入指定的字符是输入框的状态变为可编辑,此时再直接输入特定的字符完成激活。

载入OD,

搜索字符串,

发现有很多地方都在计算是否激活,

现在从第一个判断处分析,

会段首下断,

获取输入的字符串的长度

获取当前字符的十六进制的数值

将第一个字符直接转换成十进制并加到上面的数值中(如字符为1,则加上十进制的1,注意不是十六进制)

将所有的字符都按照上面方式进行操作。

然后将最后计算出来的数据和0817E7......比较,这里有一个东西要注意看,字符串中有大于F的字符,对于十六进制中最大能显示的字符就是F,所有含有大于F的字符肯定是不可能通过上述方式计算出来的。

继续分析第二个激活方式,

和第一组激活方式对比,有两个地方不一样,第一个是

此时需要加的数据改为了前两个字符的十进制(如字符是“12”,则加上12),

第二个地方

判断条件也不同了。

继续分析其他的激活方式,发现都是这两个地方在发生变化,

需要增加的数据按照规律:第一次加第一个字符,第二次加第一个和第二构成的字符。。。。依次加到有全八个字符构成的数据,然后在依次递减。

现在直接通过搜索的字符来判断哪个地方才有可能激活成功(判断条件:不能含有大于F的字符存在),

查询所有的字符串,只有第14处才是可以激活的字符串(图中标示处),也就是说只存在一组数据可以正确激活程序。第14处的激活增加的数值就是前两个字符构成的数据。

根据前两个最终的值81 7E可以计算出前两个字符是7和4,需要增加的数值是74,

最终计算出来的激活码是74*3032589#**0541238#7412。

最终激活的状态。

转载请注明原文地址: https://www.6miu.com/read-3200361.html

最新回复(0)