继续,注意要慢慢跟啊.
43A260: 1b LitStr: 取"李"的UNICODE值
43A263: 0b ImpAdCallI2 rtcCharvalueBstr
43A268: e7 CI4UI1
43A269: 71 FStR4 local_008C
43A26C: 1b LitStr: 到"滨"的值
43A26F: 0b ImpAdCallI2 rtcCharvalueBstr
43A274: e7 CI4UI1
43A275: 71 FStR4 local_0090
43A278: 6c ILdRf local_008C
43A27B: 6c ILdRf local_0090
43A27E: aa AddI4 ,两值相加
43A27F: 71 FStR4 local_008C 结果为D636H,保存.
43A282: 1b LitStr: "张"
43A285: 0b ImpAdCallI2 rtcCharvalueBstr
43A28A: e7 CI4UI1
43A28B: 71 FStR4 local_0090
43A28E: 1b LitStr: "景"
43A291: 0b ImpAdCallI2 rtcCharvalueBstr
43A296: e7 CI4UI1
43A297: 71 FStR4 local_0094
43A29A: 1b LitStr: "璟"
43A29D: 0b ImpAdCallI2 rtcCharvalueBstr
43A2A2: e7 CI4UI1
43A2A3: 71 FStR4 local_0098
43A2A6: 6c ILdRf local_0090
43A2A9: 6c ILdRf local_0094
43A2AC: aa AddI4
43A2AD: 6c ILdRf local_0098
43A2B0: ae SubI4
43A2B1: 71 FStR4 local_0090 ,数值50F0H保存.
43A2B4: 1b LitStr: "李"
43A2B7: 0b ImpAdCallI2 rtcCharvalueBstr
43A2BC: e7 CI4UI1
43A2BD: 71 FStR4 local_0094
43A2C0: 1b LitStr: "德"
43A2C3: 0b ImpAdCallI2 rtcCharvalueBstr
43A2C8: e7 CI4UI1
43A2C9: 71 FStR4 local_0098
43A2CC: 1b LitStr: L "凯"
43A2CF: 0b ImpAdCallI2 rtcCharvalueBstr
43A2D4: e7 CI4UI1
43A2D5: 71 FStR4 local_009C
43A2D8: 6c ILdRf local_0094
43A2DB: 6c ILdRf local_0098
43A2DE: aa AddI4
43A2DF: 6c ILdRf local_009C
43A2E2: aa AddI4
43A2E3: 71 FStR4 local_0094 数值118F4H保存
以上是几个字符的UNCODE值的处理(估计是作者和他爹妈的名字),因为是固定的,所以得的值也是固定的.下面就有几个值是用这些字符得出的.
43A2E6: 80 ILdI4: local_param_000C ,注意.取机器码
43A2E9: 6c ILdRf local_008C ,取十六进制数"D636h",用前面的字符运算得出,下同.
43A2EC: c2 ModI4 ,机器码 MOD D636H
43A2ED: 71 FStR4 local_008C ,保存结果
43A2F0: 80 ILdI4: local_param_000C ,机器码
43A2F3: 6c ILdRf local_0090 ,50F0H
43A2F6: c2 ModI4 ,取模运算
43A2F7: 71 FStR4 local_0090,保存结果
43A2FA: 80 ILdI4: local_param_000C ,机器码
43A2FD: 6c ILdRf local_0094,118f4h
43A300: c2 ModI4 ,取模运算
43A301: 71 FStR4 local_0094,保存结果
43A304: 6c ILdRf local_008C 注意前面,值为第一个MOD运算的结果
43A307: 6c ILdRf local_0090 ,第二个运算的结果
43A30A: b2 MulI4 ,两者相乘
43A30B: 71 FStR4 local_008C 保存结果
43A30E: 6c ILdRf local_008C载入刚才的结果
43A311: 80 ILdI4: local_param_0010 输入的注册码的前一部分78787878
43A314: c7 EqI4 比较
43A315: 80 ILdI4: local_param_0014 注册码的后一部分即1234
43A318: 6c ILdRf local_0094,和前面第三次MOD的结果
43A31B: c7 EqI4 ,比较
43A31C: c4 AndI4
43A31D: 1c BranchF: 43A328,不等则走了,完了.失败
43A320: f4 LitI2_Byte: 0xff -1 (.) ,相等则输入TRUE
43A322: 70 FStI2 local_0086
43A325: 1e Branch: 43a32d
43A328: f4 LitI2_Byte: 0x0 0 (.) ,43a31d过来的,FALSE,呵呵,把这里的0改成-1就是爆破版的了.(43A329处把机器码00改成FF),当然现在是注册不是爆破.不用改了.
43A32A: 70 FStI2 local_0086
43A32D: 15 ExitProcI2
感谢各位看到这,相信也已经找到注册码了,总结如下
注册码形式为********-*****,中间有一"-",
"-"前的注册码为:(机器码 MOD D636H) * (机器码 MOD 50F0H)
"-"后的注册码为:(机器码 MOD 118F4H)
OK,收工了,写一篇破文比破解还难啊!!!!