这里有一程序 Deep Green Reversi 4.1.1,用Aspack压缩,用prodump解压后,程序能运行。但是用w32dasm却看不到Hex信息,无法找到注册错这样的字样。可是程序再检查已无任何壳。用Gtw2.52查看的。

望大虾们指教。其主页Http://www.blochweb.com/reversi.htm

  • 标 题:不用脱壳,注册码很好找
  • 作 者:dr0
  • 时 间:>2000-6-29 15:36:03

生成和判断注册码的函数如下所示,可以写个注册机。
Name:  dr0
Mail:  dr0@21cn.com
Code:  3762-8756

0167:0040DD4C  PUSH      EBP
0167:0040DD4D  MOV      EBP,ESP
0167:0040DD4F  ADD      ESP,FFFFFB7C
0167:0040DD55  PUSH      EBX
0167:0040DD56  PUSH      ESI
0167:0040DD57  PUSH      EDI
0167:0040DD58  XOR      EBX,EBX
0167:0040DD5A  XOR      EDI,EDI
0167:0040DD5C  MOV      EAX,[EBP+0C]
0167:0040DD5F  MOV      ESI,EAX
0167:0040DD61  JMP      0040DD6A
0167:0040DD63  MOVSX    EAX,BYTE PTR [ESI]
0167:0040DD66  ADD      EBX,EAX            //名字的累加和
0167:0040DD68  INC      EDI
0167:0040DD69  INC      ESI
0167:0040DD6A  MOV      EDX,[EBP+0C]
0167:0040DD6D  PUSH      EDX
0167:0040DD6E  CALL      00508080
0167:0040DD73  POP      ECX
0167:0040DD74  CMP      EDI,EAX
0167:0040DD76  JB        0040DD63
0167:0040DD78  XOR      EDI,EDI
0167:0040DD7A  MOV      EAX,[EBP+10]
0167:0040DD7D  MOV      ESI,EAX
0167:0040DD7F  JMP      0040DD88
0167:0040DD81  MOVSX    EAX,BYTE PTR [ESI]
0167:0040DD84  ADD      EBX,EAX      //继续累加Email串中的字符
0167:0040DD86  INC      EDI
0167:0040DD87  INC      ESI
0167:0040DD88  MOV      EDX,[EBP+10]
0167:0040DD8B  PUSH      EDX
0167:0040DD8C  CALL      00508080
0167:0040DD91  POP      ECX
0167:0040DD92  CMP      EDI,EAX
0167:0040DD94  JB        0040DD81
0167:0040DD96  PUSH      0A
0167:0040DD98  LEA      ECX,[EBP-03F0]
0167:0040DD9E  PUSH      ECX
0167:0040DD9F  PUSH      EBX
0167:0040DDA0  CALL      0050CF58
0167:0040DDA5  ADD      ESP,0C
0167:0040DDA8  MOV      DWORD PTR [EBP+FFFFFBFC],00000D87
0167:0040DDB2  MOV      DWORD PTR [EBP-0400],00002234
0167:0040DDBC  MOV      DWORD PTR [EBP-03FC],00002231
0167:0040DDC6  MOV      DWORD PTR [EBP-03F8],0000128B
0167:0040DDD0  MOV      DWORD PTR [EBP-03F4],000015AD
0167:0040DDDA  PUSH      0A
0167:0040DDDC  LEA      EAX,[EBP-03F0]
0167:0040DDE2  PUSH      EAX
0167:0040DDE3  LEA      EDX,[EBX+000009C5]
0167:0040DDE9  PUSH      EDX
0167:0040DDEA  CALL      0050CF58
0167:0040DDEF  ADD      ESP,0C
0167:0040DDF2  MOV      EDX,[EBP+14]
0167:0040DDF5  MOV      CL,[EAX]       
0167:0040DDF7  CMP      CL,[EDX]      //比较注册码的一部分
0167:0040DDF9  JNZ      0040DF7D
0167:0040DDFF  TEST      CL,CL
0167:0040DE01  JZ        0040DE19
0167:0040DE03  MOV      CL,[EAX+01]
0167:0040DE06  CMP      CL,[EDX+01]
0167:0040DE09  JNZ      0040DF7D
0167:0040DE0F  ADD      EAX,02
0167:0040DE12  ADD      EDX,02
0167:0040DE15  TEST      CL,CL
0167:0040DE17  JNZ      0040DDF5
0167:0040DE19  JNZ      0040DF7D
0167:0040DE1F  PUSH      0A
0167:0040DE21  LEA      EAX,[EBP-03F0]
0167:0040DE27  PUSH      EAX
0167:0040DE28  MOV      EAX,EBX
0167:0040DE2A  MOV      ECX,00000005
0167:0040DE2F  XOR      EDX,EDX
0167:0040DE31  DIV      ECX
0167:0040DE33  MOV      EAX,[EDX*4+EBP+FFFFFBFC]
0167:0040DE3A  PUSH      EAX
0167:0040DE3B  CALL      0050CF58
0167:0040DE40  ADD      ESP,0C
0167:0040DE43  MOV      EDX,[EBP+18]
0167:0040DE46  MOV      CL,[EAX]
0167:0040DE48  CMP      CL,[EDX]    //比较注册码的另一部分
0167:0040DE4A  JNZ      0040DF7D
0167:0040DE50  TEST      CL,CL
0167:0040DE52  JZ        0040DE6A
0167:0040DE54  MOV      CL,[EAX+01]
0167:0040DE57  CMP      CL,[EDX+01]
0167:0040DE5A  JNZ      0040DF7D
0167:0040DE60  ADD      EAX,02
0167:0040DE63  ADD      EDX,02
0167:0040DE66  TEST      CL,CL
0167:0040DE68  JNZ      0040DE46
0167:0040DE6A  JNZ      0040DF7D