吾爱破解
http://www.52pojie.cn/
欢迎大家常来！

破解工具：PEID  OD

WM Splitter 1.7.1004.21 是一个视频处理软件，算法很简单。做这个动画只是来抛砖引玉。

开始了

程序需要注册，并且提示不注册可能有使用限制的

好像很慢

探壳：Microsoft Visual C++ 7.0

假码出现了

跟进看看

三处返回

三个值不一样

决定了返回后的跳转

原来是要让EAX＝2

重新来一次了

原来是用注册码与这个字符进行比较的

也就是说注册码的前面一定是要这两个字符中的一个
004E3778=WMSplitt.004E3778 (UNICODE "RWMSZ")
004E3784=WMSplitt.004E3784 (UNICODE "RWMSP")

继续重新来

看，还是不行

2D是“－”的ASCII码

这里实际上就是看你的注册码中有没有 －

原来是这样比较的

修正注册码

这里不断的用注册码来与ASCII码为47的字符进行比较

当然都不成功

这三个可是我们自己输入的

也就是说一定要输入G

RWMSPGabcd-864

864可能在修正了

RWMSPGabcd-935

还在验证

不过是同一个CALL

再次验证

现在点注册已经没有反应了

正确的注册码：RWMSPGabcd-935

现在可以总结一下了：

1 注册的前面一定得为上面的那两个字符串中的一个

2 注册码中一定要有一个 － 分为两部分

3 注册码前一部分累加并加上BD后转为十进制作为注册码的后一部分。

4注册码前一部分一定要及时出现 G

5 此外还有一个循环替换了注册码中的一些特殊字符

据此可以做出注册机了

谢谢大家

动画到此结束了

有问题大家共同来探讨！


附上注册机源码

.版本 2

.子程序 _按钮1_被单击
.局部变量 随机码, 文本型, , , 两个随机码
.局部变量 i, 整数型
.局部变量 s, 整数型
.局部变量 n, 字节型

置随机数种子 ()
.如果 (取随机数 (0, 1) ＝ 0)
    随机码 ＝ “RWMSZG”
.否则
    随机码 ＝ “RWMSPG”
.如果结束

s ＝ 取随机数 (0, 2)
.计次循环首 (s, i)
    随机码 ＝ 随机码 ＋ 字符 (取随机数 (65, 90))
.计次循环尾 ()
s ＝ 0
.计次循环首 (取文本长度 (随机码), i)
    n ＝ 取代码 (随机码, i)
    .如果真 (n ＝ 73)
        n ＝ 49
    .如果真结束
    .如果真 (n ＝ 79)
        n ＝ 48
    .如果真结束
    s ＝ s ＋ n
.计次循环尾 ()
s ＝ s ＋ 129800 ＋ 189
编辑框2.内容 ＝ 随机码 ＋ “萧萧黄叶” ＋ “-” ＋ 到文本 (s)

