160个CrackMe_逆向 2/160

文件名:Afkayas.1

一、软件信息

属于name,serial类的软件,有注册算法

160个CrackMe_逆向 2/160_第1张图片

错误提示

160个CrackMe_逆向 2/160_第2张图片

二、分析

这种软件一般第一步查看字符串,在ASCII中没有找到相应字符串,在UNICODE中找到了相应的字符串

160个CrackMe_逆向 2/160_第3张图片

双击跟进,到代码的位置,依旧是在函数最前面下断点,输入之后点击OK

160个CrackMe_逆向 2/160_第4张图片

计算name的长度

160个CrackMe_逆向 2/160_第5张图片

将得到的长度*0x17CFB,值保存在EDI中

取name的第一个字节,函数运行完之后把这个字符转换成了对应的ASCII码

160个CrackMe_逆向 2/160_第6张图片

把ASCII的值跟之前乘法运算得到的值相加,后面还有一个验证是否溢出的判断,如果结果有溢出,直接跳到ErrorOverFolw错误提示处。

160个CrackMe_逆向 2/160_第7张图片

vbaStrI4函数,将数值转换成字符串,传参的值为:name的长度*0x17CFB+name首字节的ASCII值,转换之后为UNICODE "487704"

160个CrackMe_逆向 2/160_第8张图片

字符串拼接

160个CrackMe_逆向 2/160_第9张图片

拼接完成后

字符串比较

160个CrackMe_逆向 2/160_第10张图片

三、注册码算法

vbaStrCat("AKA-",vbaStrI4(name长度*0x17FCB+name首字节的ASCII值)),name要求为数字开头,后面的字符没有要求

160个CrackMe_逆向 2/160_第11张图片

 

你可能感兴趣的:(逆向,CrackMe)