续 (3千字)
上面的那段代码是输入注册码之后进行的判断。启动时的判断在这里。基本上是在ID#后面添加“123”,再在Name后面添加一些空格,然后两者异或,最后得出注册码。001B:005278A3 LEA EAX,[EBP-04]
001B:005278A6 PUSH EAX
001B:005278A7 LEA EDX,[EBP-18]
001B:005278AA MOV EAX,[00532790]
001B:005278AF MOV EAX,[EAX]
001B:005278B1 CALL 00527788
001B:005278B6 LEA EAX,[EBP-18]
001B:005278B9 MOV EDX,00527A9C
001B:005278BE CALL 00403F2C
001B:005278C3 MOV EAX,[EBP-18]
001B:005278C6 MOV ECX,0000000C
001B:005278CB MOV EDX,00000001
001B:005278D0 CALL 00404128
001B:005278D5 LEA EAX,[EBP-18]
001B:005278D8 PUSH EAX
001B:005278D9 MOV EAX,[00532744]
001B:005278DE MOV EAX,[EAX]
001B:005278E0 MOV ECX,00000009
001B:005278E5 MOV EDX,00000001
001B:005278EA CALL 00404128
001B:005278EF MOV EDX,[EBP-18]
001B:005278F2 LEA EAX,[EBP-0C]
001B:005278F5 MOV ECX,00527AB4
001B:005278FA CALL 00403F70
001B:005278FF MOV EAX,[EBP-04] ;Name
001B:00527902 CALL 00403F24 ;strlen( )
001B:00527907 CMP EAX,03
001B:0052790A JL 0052799D
001B:00527910 MOV EAX,[00532600]
001B:00527915 MOV EAX,[EAX] ;reg key
001B:00527917 CALL 00403F24 ;strlen( )
001B:0052791C CMP EAX,0C
001B:0052791F JNZ 0052799D
001B:00527921 LEA EAX,[EBP-08]
001B:00527924 CALL 00403CA8
001B:00527929 MOV ESI,00000001
001B:0052792E LEA EAX,[EBP-18]
001B:00527931 MOV EDX,[EBP-04]
001B:00527934 MOV DL,[ESI+EDX-01] ;Name[k]
001B:00527938 MOV ECX,[EBP-0C]
001B:0052793B MOV CL,[ESI+ECX-01] ;ID[k]
001B:0052793F XOR DL,CL
001B:00527941 CALL 00403E4C
001B:00527946 MOV EDX,[EBP-18]
001B:00527949 LEA EAX,[EBP-08]
001B:0052794C CALL 00403F2C
001B:00527951 INC ESI
001B:00527952 CMP ESI,0D ;循环次数
001B:00527955 JNZ 0052792E
001B:00527957 LEA EAX,[EBP-0218]
001B:0052795D MOV EDX,[EBP-08]
001B:00527960 MOV ECX,000000FF
001B:00527965 CALL 00403F00
001B:0052796A LEA EAX,[EBP-0218]
001B:00527970 LEA EDX,[EBP-0118]
001B:00527976 CALL 0049D564
001B:0052797B LEA EDX,[EBP-0118]
001B:00527981 LEA EAX,[EBP-18]
001B:00527984 CALL 00403EC8
001B:00527989 MOV EAX,[EBP-18] ;正确注册码
001B:0052798C MOV EDX,[00532600]
001B:00527992 MOV EDX,[EDX] ;错误注册码
001B:00527994 CALL 00404034 ;比较注册码
001B:00527999 JNZ 0052799D
001B:0052799B XOR EBX,EBX
001B:0052799D TEST BL,BL
001B:0052799F JZ 005279D5
001B:005279A1 MOV EAX,[0053261C]
001B:005279A6 CMP BYTE PTR [EAX],00
001B:005279A9 JZ 005279C5
001B:005279AB MOV EAX,[00532854]
001B:005279B0 CMP BYTE PTR [EAX],00
001B:005279B3 JZ 005279C5
001B:005279B5 MOV EAX,[005325D4]
001B:005279BA CMP WORD PTR [EAX],6358
001B:005279BF JNZ 005279C5
001B:005279C1 XOR EBX,EBX
001B:005279C3 JMP 005279C7
001B:005279C5 MOV BL,01
001B:005279C7 MOV EAX,EBX
001B:005279C9 XOR AL,01
001B:005279CB MOV EDX,[00532510]
001B:005279D1 MOV [EDX],AL ;注册与否的标志位
001B:005279D3 JMP 00527A03
http://www.bersoft.com/hmhtml/hypermaker2000.exe
