CHMmaker算法分析

原程序是upx加壳,脱壳,发现是DELPHI,然後运行,发现有过期信息,然後在messagebox下断 返回,找到函数头,F2下断,把提示那个JB给JMP掉,就没过期提示了。

由於时间没把注册机代码写出来,但是分析都差不多了:

1,取硬件序列号,serial,长整型,算得机器码的流程:

第一部份:取低16位,乘以3,加上0x260d,转成十进制字符

第二部份:整个serial按十进制输出字符

第三部份:serial的高16位左移2位,转成十进制字符


2.算注册码:

有个常字符串str =“"Q2lA5rM6zI7sK8eO9aL2wP3q3pZ4mW5V5vT6gG7y9iC2bR3hF4uB8cY9fH2tN3kS6oX7nE8jDxU4dJ"”,

计算得到下标index,在这个常字符串里str[i]作为注册码之一.

具体:

取得机器码mstr,长度len;

循环变量i=len-1

取mstr[len],取mstr[len-1],取mstr[len-2],取mstr[len-3],组成字符串,然後转为数值a

a/4f,如果余数不为0,则edx作为下标从str中查表得到一个字符。

如果余数为0,则以i作为下标查str得到一个字符

如果i+1除以5余数为0,则添加"-"到真码中,然後 --i,如果i==3,退出循环.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值