欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

《媒体2000V6.0》破解心得: (3千字)

《媒体2000V6.0》破解心得: (3千字)

一、流程分析
  先运行TRW2000 1.23注册版,再运行媒体2000,随便乱输注册码,确定,跳出窗口提示注册码错,按ctrl-N,下pmodule命令,返回出错窗口,点确定,立刻被拦,按2次F10来到40f41d处,往上看:
0167:0040F0D1  LEA      ECX,[ESP+48]
0167:0040F0D5  MOV      BYTE [ESP+052C],0A
0167:0040F0DD  CALL    004593E8        显示输入框
0167:0040F0E2  CMP      EAX,BYTE +01      按确定?
0167:0040F0E5  JNZ      NEAR 0040F40E      否
0167:0040F0EB  LEA      EAX,[ESP+A4]
0167:0040F0F2  LEA      ECX,[ESP+14]
0167:0040F0F6  PUSH    EAX
0167:0040F0F7  CALL    0045DD86
0167:0040F0FC  MOV      ECX,[ESP+14]
0167:0040F100  PUSH    DWORD 004A7B48
0167:0040F105  PUSH    ECX
0167:0040F106  CALL    0043319B
0167:0040F10B  ADD      ESP,BYTE +08
0167:0040F10E  TEST    EAX,EAX         注册码为空?
0167:0040F110  JZ      0040F15C         是
0167:0040F112  MOV      EDX,[ESP+14]
0167:0040F116  MOV      EAX,[EDX-08]       取注册码长度
0167:0040F119  CMP      EAX,BYTE +0C
0167:0040F11C  JL      0040F15C        小于12则错
0167:0040F11E  PUSH    BYTE +04
0167:0040F120  LEA      EAX,[ESP+14]
0167:0040F124  PUSH    BYTE +08
0167:0040F126  PUSH    EAX
0167:0040F127  LEA      ECX,[ESP+20]
0167:0040F12B  CALL    0044F1DB        取注册码的第8-12位
0167:0040F130  MOV      EAX,[EAX]
0167:0040F132  PUSH    EAX
0167:0040F133  CALL    0043362C        变成数值
0167:0040F138  ADD      ESP,BYTE +04
0167:0040F13B  LEA      ECX,[ESP+10]
0167:0040F13F  MOV      ESI,EAX        存入ESI
0167:0040F141  CALL    0045DC4D
0167:0040F146  CMP      ESI,BYTE +64
0167:0040F149  JNL      0040F158        小于64则错
0167:0040F14B  PUSH    BYTE +00
0167:0040F14D  PUSH    EBP
0167:0040F14E  PUSH    DWORD 004A1C9C
0167:0040F153  JMP      0040F416
0167:0040F158  CMP      ESI,EDI        等于识别码后4位?
0167:0040F15A  JZ      0040F169        等于
0167:0040F15C  PUSH    BYTE +00
0167:0040F15E  PUSH    EBP
0167:0040F15F  PUSH    DWORD 004A1C9C
0167:0040F164  JMP      0040F416        出错
0167:0040F169  LEA      ECX,[EDI+EDI*4]    以下校验注册码的真假
0167:0040F16C  LEA      EDX,[EDI+EDI*8]
0167:0040F16F  LEA      EAX,[EDI+ECX*8]
0167:0040F172  LEA      ESI,[EDI+EDX*2]
0167:0040F175  LEA      ECX,[EAX+EAX*2]
.
.
.
0167:0040F300  LEA      EAX,[ECX+EAX*4]
0167:0040F303  LEA      EAX,[EAX+EAX*4]
0167:0040F306  LEA      ECX,[EAX+EAX*4]
0167:0040F309  LEA      EAX,[ESI+ECX*4]
0167:0040F30C  LEA      EAX,[EAX+EAX*4]
0167:0040F30F  LEA      EAX,[EAX+EAX*4]
0167:0040F312  LEA      EDX,[EDX+EAX*4-1C]
0167:0040F316  MOV      EAX,[ESP+44]
0167:0040F31A  CMP      EAX,EDX        注册码为真?
0167:0040F31C  JNZ      NEAR 0040F3C1     否,出错
弄清以上流程,爆破就容易了。
  二、注册码的校验算法
  1、将输入的12位注册码分成2部分:前8位设为X,后4位设为Y(均为10进制,以下同);
  2、将Y*123的前3位与Y*456的第2、3、4位串起来成为一个6位数,设为Z;
  3、计算X-Z,设为M;
  4、将M从高位到低位分成4个2位数,设为A、B、C、D;
  5、将A、B、C、D重新组合成新的8位数CBDA,计算CBDA-15111028,设为N;
  6、比较N与识别码的前8位,相等则输入的注册码为真,否则为假。
  三、注册码的生成算法
  1、将软件给出的12位识别码分成2部分:前8位设为X,后4位设为Y(均为10进制,以下同);
  2、将Y*123的前3位与Y*456的第2、3、4位串起来成为一个6位数,设为Z;
  3、计算X+15111028,设为M;
  4、将M从高位到低位分成4个2位数,设为A、B、C、D;
  5、将A、B、C、D重新组合成新的8位数DBAC,计算DBAC+Z,设为N;
  6、将N与识别码的后4位串起来,形成注册码。
  四、注册成功标志
  注册成功标志放在注册表的HKEY_USERS\.Default\RemoteAccess\Identf\Licn处。

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功