• 标 题:密码管理软件。 (2千字)
  • 作 者:小球
  • 时 间:2001-3-12 23:23:39
  • 链 接:http://bbs.pediy.com


密码管理软件破解。
运行软件,来到注册处,填上注册信息。(当然了随便了)
用ice下断:
bpx hmemcpy
按ok
被拦截.....
按几下f12来到该程序段,再按f10停在这里:
:0041D539 6888130000              push 00001388
:0041D53E 8B5508                  mov edx, dword ptr [ebp+08]
:0041D541 52                      push edx
:0041D542 E8990EFFFF              call 0040E3E0  *不要按了,这里是出错框!
啊!对了,一路上你会碰到,几段代码:
:0041D49E E85D640000              call 00423900  *这里算码!
:0041D4A3 83C404                  add esp, 00000004
:0041D4A6 8985FCFEFFFF            mov dword ptr [ebp+FFFFFEFC], eax
:0041D4AC 81BDFCFEFFFF92A71901    cmp dword ptr [ebp+FFFFFEFC], 0119A792 *对输入的注册码经过复杂计算后比较
:0041D4B6 753C                    jne 0041D4F4 

:0041D519 8B450C                  mov eax, dword ptr [ebp+0C]
:0041D51C 83C032                  add eax, 00000032
:0041D51F 50                      push eax
:0041D520 8B4D0C                  mov ecx, dword ptr [ebp+0C]
:0041D523 51                      push ecx
:0041D524 E897870000              call 00425CC0
:0041D529 83C408                  add esp, 00000008
:0041D52C 3985F8FEFFFF            cmp dword ptr [ebp+FFFFFEF8], eax      *这里也是哦!
:0041D532 7418                    je 0041D54C
:0041D534 68CFEA0000              push 0000EACF

:0041D4F4 81BDFCFEFFFF3CCE5F0D    cmp dword ptr [ebp+FFFFFEFC], 0D5FCE3C *这里也是哦!
:0041D4FE 7519                    jne 0041D519 

  • 标 题:算码过程 (822字)
  • 作 者:china 2000
  • 时 间:2001-3-14 10:44:34

关键:
:0041D524 E897870000              call 00425CC0 //*这里计算注册码!
:0041D529 83C408                  add esp, 00000008
:0041D52C 3985F8FEFFFF            cmp dword ptr [ebp+FFFFFEF8], eax    //*比较注册码
:0041D532 7418                    je 0041D54C    //*相等就OK了
用到的两个表:
FORM1='|b!pz*ls;rn|lf$vi^Axpe)rx5aic&9/2m5lsi4@0dmZw94cmqpfhw'
FORM2='#serB&nz|mfM1/5(!sd$Mq.{s]+sFjtKpzSdtzoXqmb^Al@dv:s?x/'
做注册机要注意用中文时ASC会大于80H,会变成负数的情况。
初始值为:180150264
流程:
取姓名
大于0吗
循环开始
code2=0
I 为从 1 到 姓名长度
code1=取表FORM1[I]*NAME[I]
code2=code2+取表FORM2[I+姓名长度]*code1
I 不等于姓名长度再循环

将公司名也如此处理,再将两个值再加,再加上初始值就是注册码

^-^上午刚做好注册机,为防有心人不会提供。

  • 标 题:如何实现自动注册! (513字)
  • 作 者:china 2000
  • 时 间:2001-3-15 9:30:44

:0041D52C 3985F8FEFFFF            cmp dword ptr [ebp+FFFFFEF8], eax    //*比较注册码
在这里将其改为:
8985F8FEFFFF            MOV dword ptr [ebp+FFFFFEF8], eax    //*将注册码写到内存
再将下面的JZ改为JMPS,也就是74 -》EB
如此改两个字节就OK了,就是你无论输入任何注册码程序都能将正确的注册码写入注册表中。再次启动就可了。
正确的注册码写入注册表中后,无论如何启动当然还是注册版本。
只有将注册表中的值删除后才能再次注册,当然,按上面改了后注册时程序
自己就会将正确的注册码写到内存。再次启动后就是注册版了。