【破文标题】RER DVD to 3GP Converter 3.2.0.0825算法分析
【破文作者】tianxj
【作者邮箱】tianxj_2007@126.com
【作者主页】WwW.ChiNaPYG.CoM
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】RER DVD to 3GP Converter 3.2.0.0825
【软件大小】26217KB
【软件类别】国外软件/视频转换  
【软件授权】共享版 
【软件语言】英文 
【运行环境】Win9x/Me/NT/2000/XP/2003 
【更新时间】2008-9-8 
【原版下载】华军软件园
【保护方式】注册码
【软件简介】RERDVD的3gp转换器可以转换的DVD文件的移动电话3gp/3g2视频和MP3音频。您可以在完成转换的任务,与3个简单的步骤,您可以享受无损质量,和您最喜爱的视频,音频。 
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"Activation Failed! Invalid license code."
**************************************************************
二、用PEiD对DVDto3GPConverter.exe查壳,为 Microsoft Visual C++ 7.0 Method2 [Debug]
**************************************************************
三、运行OD,打开DVDto3GPConverter.exe,用F12暂停发现
==============================================================
0012DBE0   77D505CF   ? USER32.MessageBoxExA                                                                 USER32.77D505CA  
             0012DBDC
0012DBE4   003C090E     hOwner = 003C090E ('Activate RER DVD to 3GP Conve...',class='#32770',parent=008A089
0012DBE8   00464A38     Text = 
0012DBEC   00467B38     Title = "Failed"
0012DBF0   00000040     Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
0012DBF4   00000000     LanguageID = 0 (LANG_NEUTRAL)
0012DBFC   7C1CE579   ? USER32.MessageBoxA                                                                   MFC71.7C1CE573   
             0012DBF8
0012DC00   003C090E     hOwner = 003C090E ('Activate RER DVD to 3GP Conve...',class='#32770',parent=008A089
0012DC04   00464A38     Text = "Activation Failed! Invalid license code."
0012DC08   00467B38     Title = "Failed"
0012DC0C   00000040     Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
0012DC14   00401EBC   ? <JMP.&MFC71.#4104>                                                                   
DVDto3GP.00401EB7
==============================================================

代码:
00401DA0   .  6A FF         PUSH -1
00401DA2   .  68 1D064200   PUSH DVDto3GP.0042061D                                    ;  SE 处理程序安装
00401DA7   .  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00401DAD   .  50            PUSH EAX
00401DAE   .  64:8925 00000>MOV DWORD PTR FS:[0],ESP
00401DB5   .  83EC 0C       SUB ESP,0C
00401DB8   .  56            PUSH ESI
00401DB9   .  8BF1          MOV ESI,ECX
00401DBB   .  8D4C24 04     LEA ECX,DWORD PTR SS:[ESP+4]
00401DBF   .  FF15 38424200 CALL DWORD PTR DS:[<&MFC71.#310>]                         ;  MFC71.7C173199
00401DC5   .  8D4424 04     LEA EAX,DWORD PTR SS:[ESP+4]
00401DC9   .  50            PUSH EAX
00401DCA   .  8D4E 74       LEA ECX,DWORD PTR DS:[ESI+74]
00401DCD   .  C74424 1C 000>MOV DWORD PTR SS:[ESP+1C],0
00401DD5   .  E8 96DB0100   CALL <JMP.&MFC71.#3761>                                   ;  //取用户名
00401DDA   .  51            PUSH ECX
00401DDB   .  8D5424 08     LEA EDX,DWORD PTR SS:[ESP+8]
00401DDF   .  8BCC          MOV ECX,ESP
00401DE1   .  896424 10     MOV DWORD PTR SS:[ESP+10],ESP
00401DE5   .  52            PUSH EDX
00401DE6   .  FF15 F8414200 CALL DWORD PTR DS:[<&MFC71.#297>]                         ;  MFC71.7C14E575
00401DEC   .  8B8E C8000000 MOV ECX,DWORD PTR DS:[ESI+C8]
00401DF2   .  FF15 28404200 CALL DWORD PTR DS:[<&Control.DvdProxy::RegisteProduct>]   ;  Control.DvdProxy::RegisteProduct
00401DF8   .  85C0          TEST EAX,EAX
00401DFA   .  8B86 CC000000 MOV EAX,DWORD PTR DS:[ESI+CC]
00401E00   .  75 6A         JNZ SHORT DVDto3GP.00401E6C
00401E02   .  05 5C010000   ADD EAX,15C
00401E07   .  50            PUSH EAX
00401E08   .  8D4C24 10     LEA ECX,DWORD PTR SS:[ESP+10]
00401E0C   .  FF15 F8414200 CALL DWORD PTR DS:[<&MFC71.#297>]                         ;  MFC71.7C14E575
00401E12   .  8B8E CC000000 MOV ECX,DWORD PTR DS:[ESI+CC]
00401E18   .  81C1 60010000 ADD ECX,160
00401E1E   .  51            PUSH ECX
00401E1F   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
00401E23   .  C64424 1C 01  MOV BYTE PTR SS:[ESP+1C],1
00401E28   .  FF15 F8414200 CALL DWORD PTR DS:[<&MFC71.#297>]                         ;  MFC71.7C14E575
00401E2E   .  6A 40         PUSH 40
00401E30   .  8D4C24 10     LEA ECX,DWORD PTR SS:[ESP+10]
00401E34   .  C64424 1C 02  MOV BYTE PTR SS:[ESP+1C],2
00401E39   .  FF15 F4414200 CALL DWORD PTR DS:[<&MFC71.#876>]                         ;  MFC71.7C158BCD
00401E3F   .  50            PUSH EAX
00401E40   .  8D4C24 10     LEA ECX,DWORD PTR SS:[ESP+10]
00401E44   .  FF15 F4414200 CALL DWORD PTR DS:[<&MFC71.#876>]                         ;  MFC71.7C158BCD
00401E4A   .  50            PUSH EAX
00401E4B   .  8BCE          MOV ECX,ESI
00401E4D   .  E8 0CDB0100   CALL <JMP.&MFC71.#4104>
00401E52   .  8B16          MOV EDX,DWORD PTR DS:[ESI]
00401E54   .  8BCE          MOV ECX,ESI
00401E56   .  FF92 54010000 CALL DWORD PTR DS:[EDX+154]
00401E5C   .  8D4C24 08     LEA ECX,DWORD PTR SS:[ESP+8]
00401E60   .  FF15 E0414200 CALL DWORD PTR DS:[<&MFC71.#578>]                         ;  MFC71.7C1771B1
00401E66   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
00401E6A   .  EB 5E         JMP SHORT DVDto3GP.00401ECA
00401E6C   >  05 64010000   ADD EAX,164
00401E71   .  50            PUSH EAX
00401E72   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
00401E76   .  FF15 F8414200 CALL DWORD PTR DS:[<&MFC71.#297>]                         ;  MFC71.7C14E575
00401E7C   .  8B8E CC000000 MOV ECX,DWORD PTR DS:[ESI+CC]
00401E82   .  81C1 68010000 ADD ECX,168
00401E88   .  51            PUSH ECX
00401E89   .  8D4C24 10     LEA ECX,DWORD PTR SS:[ESP+10]
00401E8D   .  C64424 1C 03  MOV BYTE PTR SS:[ESP+1C],3
00401E92   .  FF15 F8414200 CALL DWORD PTR DS:[<&MFC71.#297>]                         ;  MFC71.7C14E575
00401E98   .  6A 40         PUSH 40
00401E9A   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
00401E9E   .  C64424 1C 04  MOV BYTE PTR SS:[ESP+1C],4
00401EA3   .  FF15 F4414200 CALL DWORD PTR DS:[<&MFC71.#876>]                         ;  MFC71.7C158BCD
00401EA9   .  50            PUSH EAX
00401EAA   .  8D4C24 14     LEA ECX,DWORD PTR SS:[ESP+14]
00401EAE   .  FF15 F4414200 CALL DWORD PTR DS:[<&MFC71.#876>]                         ;  MFC71.7C158BCD
00401EB4   .  50            PUSH EAX
00401EB5   .  8BCE          MOV ECX,ESI
00401EB7   .  E8 A2DA0100   CALL <JMP.&MFC71.#4104>                                   ;  //错误提示
00401EBC   .  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
00401EC0   .  FF15 E0414200 CALL DWORD PTR DS:[<&MFC71.#578>]                         ;  MFC71.7C1771B1
00401EC6   .  8D4C24 08     LEA ECX,DWORD PTR SS:[ESP+8]
00401ECA   >  FF15 E0414200 CALL DWORD PTR DS:[<&MFC71.#578>]                         ;  MFC71.7C1771B1
00401ED0   .  8D4C24 04     LEA ECX,DWORD PTR SS:[ESP+4]
00401ED4   .  FF15 E0414200 CALL DWORD PTR DS:[<&MFC71.#578>]                         ;  MFC71.7C1771B1
00401EDA   .  8B4C24 10     MOV ECX,DWORD PTR SS:[ESP+10]
00401EDE   .  64:890D 00000>MOV DWORD PTR FS:[0],ECX
00401EE5   .  5E            POP ESI
00401EE6   .  83C4 18       ADD ESP,18
00401EE9   .  C3            RETN
==============================================================
0037ADA0 >  6A FF           PUSH -1
0037ADA2    68 E9973800     PUSH Control.003897E9
0037ADA7    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
0037ADAD    50              PUSH EAX
0037ADAE    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0037ADB5    51              PUSH ECX
0037ADB6    56              PUSH ESI
0037ADB7    57              PUSH EDI
0037ADB8    8BF1            MOV ESI,ECX
0037ADBA    51              PUSH ECX
0037ADBB    8D4424 20       LEA EAX,DWORD PTR SS:[ESP+20]
0037ADBF    8BCC            MOV ECX,ESP
0037ADC1    896424 0C       MOV DWORD PTR SS:[ESP+C],ESP
0037ADC5    50              PUSH EAX
0037ADC6    C74424 1C 00000>MOV DWORD PTR SS:[ESP+1C],0
0037ADCE    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
0037ADD4    8B4E 0C         MOV ECX,DWORD PTR DS:[ESI+C]
0037ADD7    E8 84B9FFFF     CALL Control.AVProxy::RegisteProduct                      ; //F7
0037ADDC    8BF8            MOV EDI,EAX
0037ADDE    85FF            TEST EDI,EDI
0037ADE0    75 0A           JNZ SHORT Control.0037ADEC
0037ADE2    8B4E 08         MOV ECX,DWORD PTR DS:[ESI+8]
0037ADE5    C741 20 0100000>MOV DWORD PTR DS:[ECX+20],1
0037ADEC    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
0037ADF0    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
0037ADF6    8B4C24 0C       MOV ECX,DWORD PTR SS:[ESP+C]
0037ADFA    8BC7            MOV EAX,EDI
0037ADFC    5F              POP EDI
0037ADFD    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
0037AE04    5E              POP ESI
0037AE05    83C4 10         ADD ESP,10
0037AE08    C2 0400         RETN 4
==============================================================
00376760 >  6A FF           PUSH -1
00376762    68 28923800     PUSH Control.00389228
00376767    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
0037676D    50              PUSH EAX
0037676E    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00376775    81EC 54040000   SUB ESP,454
0037677B    A1 F4553900     MOV EAX,DWORD PTR DS:[3955F4]
00376780    53              PUSH EBX
00376781    55              PUSH EBP
00376782    56              PUSH ESI
00376783    898424 5C040000 MOV DWORD PTR SS:[ESP+45C],EAX
0037678A    57              PUSH EDI
0037678B    8BE9            MOV EBP,ECX
0037678D    8D4424 20       LEA EAX,DWORD PTR SS:[ESP+20]
00376791    33DB            XOR EBX,EBX
00376793    50              PUSH EAX
00376794    899C24 70040000 MOV DWORD PTR SS:[ESP+470],EBX
0037679B    83CE FF         OR ESI,FFFFFFFF
0037679E    E8 2DD1FFFF     CALL Control.003738D0
003767A3    8BC8            MOV ECX,EAX
003767A5    E8 96C7FFFF     CALL Control.PgcConfigData::GetPgcName
003767AA    8D4C24 34       LEA ECX,DWORD PTR SS:[ESP+34]
003767AE    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],1
003767B6    E8 1B150100     CALL <JMP.&Util.RegUtil::RegUtil>
003767BB    8D4C24 14       LEA ECX,DWORD PTR SS:[ESP+14]
003767BF    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],2
003767C7    E8 F40E0100     CALL Control.003876C0
003767CC    51              PUSH ECX
003767CD    8D9424 78040000 LEA EDX,DWORD PTR SS:[ESP+478]
003767D4    8BCC            MOV ECX,ESP
003767D6    896424 14       MOV DWORD PTR SS:[ESP+14],ESP
003767DA    52              PUSH EDX
003767DB    C68424 74040000>MOV BYTE PTR SS:[ESP+474],3
003767E3    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
003767E9    51              PUSH ECX
003767EA    8D4424 28       LEA EAX,DWORD PTR SS:[ESP+28]
003767EE    8BCC            MOV ECX,ESP
003767F0    896424 20       MOV DWORD PTR SS:[ESP+20],ESP
003767F4    50              PUSH EAX
003767F5    C68424 78040000>MOV BYTE PTR SS:[ESP+478],4
003767FD    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
00376803    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
00376807    C68424 74040000>MOV BYTE PTR SS:[ESP+474],3
0037680F    E8 3C120100     CALL Control.00387A50                                     ; //F7
00376814    0FB6C0          MOVZX EAX,AL
00376817    3BC3            CMP EAX,EBX
00376819    0F84 50020000   JE Control.00376A6F
0037681F    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
00376823    FF15 C8B03800   CALL DWORD PTR DS:[<&MFC71.#310>]                         ; MFC71.7C173199
00376829    8D4C24 10       LEA ECX,DWORD PTR SS:[ESP+10]
0037682D    51              PUSH ECX
0037682E    C68424 70040000>MOV BYTE PTR SS:[ESP+470],5
00376836    E8 71140100     CALL <JMP.&Util.AppUtil::GetAppPath>
0037683B    8B10            MOV EDX,DWORD PTR DS:[EAX]
0037683D    68 DCB33800     PUSH Control.0038B3DC                                     ; ASCII "config.ini"
00376842    52              PUSH EDX
00376843    8D4424 28       LEA EAX,DWORD PTR SS:[ESP+28]
00376847    68 CCB33800     PUSH Control.0038B3CC                                     ; ASCII "%s\config\%s"
0037684C    50              PUSH EAX
0037684D    C68424 80040000>MOV BYTE PTR SS:[ESP+480],6
00376855    FF15 E0B03800   CALL DWORD PTR DS:[<&MFC71.#2322>]                        ; MFC71.7C146A9D
0037685B    83C4 14         ADD ESP,14
0037685E    8D4C24 10       LEA ECX,DWORD PTR SS:[ESP+10]
00376862    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],5
0037686A    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376870    8D4C24 18       LEA ECX,DWORD PTR SS:[ESP+18]
00376874    E8 45140100     CALL <JMP.&Util.ProfileUtil::ProfileUtil>
00376879    51              PUSH ECX
0037687A    8BCC            MOV ECX,ESP
0037687C    896424 14       MOV DWORD PTR SS:[ESP+14],ESP
00376880    68 10B43800     PUSH Control.0038B410                                     ; ASCII "RegPath"
00376885    C68424 74040000>MOV BYTE PTR SS:[ESP+474],7
0037688D    FF15 DCB03800   CALL DWORD PTR DS:[<&MFC71.#304>]                         ; MFC71.7C16A59C
00376893    51              PUSH ECX
00376894    8BCC            MOV ECX,ESP
00376896    896424 40       MOV DWORD PTR SS:[ESP+40],ESP
0037689A    68 C4B33800     PUSH Control.0038B3C4                                     ; ASCII "convert"
0037689F    C68424 78040000>MOV BYTE PTR SS:[ESP+478],8
003768A7    FF15 DCB03800   CALL DWORD PTR DS:[<&MFC71.#304>]                         ; MFC71.7C16A59C
003768AD    51              PUSH ECX
003768AE    8D5424 28       LEA EDX,DWORD PTR SS:[ESP+28]
003768B2    8BCC            MOV ECX,ESP
003768B4    896424 38       MOV DWORD PTR SS:[ESP+38],ESP
003768B8    52              PUSH EDX
003768B9    C68424 7C040000>MOV BYTE PTR SS:[ESP+47C],9
003768C1    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
003768C7    8D4424 34       LEA EAX,DWORD PTR SS:[ESP+34]
003768CB    50              PUSH EAX
003768CC    8D4C24 28       LEA ECX,DWORD PTR SS:[ESP+28]
003768D0    C68424 7C040000>MOV BYTE PTR SS:[ESP+47C],7
003768D8    E8 DB130100     CALL <JMP.&Util.ProfileUtil::GetContentFromProfile>
003768DD    8D4C24 24       LEA ECX,DWORD PTR SS:[ESP+24]
003768E1    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],0A
003768E9    E8 E8130100     CALL <JMP.&Util.RegUtil::RegUtil>
003768EE    33C0            XOR EAX,EAX
003768F0    B9 00010000     MOV ECX,100
003768F5    8D7C24 60       LEA EDI,DWORD PTR SS:[ESP+60]
003768F9    F3:AB           REP STOS DWORD PTR ES:[EDI]
003768FB    8D4C24 60       LEA ECX,DWORD PTR SS:[ESP+60]
003768FF    51              PUSH ECX
00376900    8D8C24 78040000 LEA ECX,DWORD PTR SS:[ESP+478]
00376907    C68424 70040000>MOV BYTE PTR SS:[ESP+470],0B
0037690F    FF15 D0B03800   CALL DWORD PTR DS:[<&MFC71.#876>]                         ; MFC71.7C158BCD
00376915    50              PUSH EAX
00376916    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
0037691A    E8 A10F0100     CALL Control.003878C0
0037691F    8D5424 60       LEA EDX,DWORD PTR SS:[ESP+60]
00376923    52              PUSH EDX
00376924    8D4C24 34       LEA ECX,DWORD PTR SS:[ESP+34]
00376928    FF15 DCB03800   CALL DWORD PTR DS:[<&MFC71.#304>]                         ; MFC71.7C16A59C
0037692E    51              PUSH ECX
0037692F    8D4424 34       LEA EAX,DWORD PTR SS:[ESP+34]
00376933    8BCC            MOV ECX,ESP
00376935    896424 30       MOV DWORD PTR SS:[ESP+30],ESP
00376939    50              PUSH EAX
0037693A    C68424 74040000>MOV BYTE PTR SS:[ESP+474],0C
00376942    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
00376948    C68424 70040000>MOV BYTE PTR SS:[ESP+470],0D
00376950    51              PUSH ECX
00376951    8BCC            MOV ECX,ESP
00376953    896424 40       MOV DWORD PTR SS:[ESP+40],ESP
00376957    68 B8B53800     PUSH Control.0038B5B8                                     ; ASCII "SerialCode"
0037695C    FF15 DCB03800   CALL DWORD PTR DS:[<&MFC71.#304>]                         ; MFC71.7C16A59C
00376962    51              PUSH ECX
00376963    8D5424 34       LEA EDX,DWORD PTR SS:[ESP+34]
00376967    8BCC            MOV ECX,ESP
00376969    896424 1C       MOV DWORD PTR SS:[ESP+1C],ESP
0037696D    52              PUSH EDX
0037696E    C68424 7C040000>MOV BYTE PTR SS:[ESP+47C],0E
00376976    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
0037697C    68 01000080     PUSH 80000001
00376981    8D4C24 34       LEA ECX,DWORD PTR SS:[ESP+34]
00376985    C68424 7C040000>MOV BYTE PTR SS:[ESP+47C],0C
0037698D    E8 7A130100     CALL <JMP.&Util.RegUtil::SetRegContent>
00376992    8D4C24 3C       LEA ECX,DWORD PTR SS:[ESP+3C]
00376996    8BF0            MOV ESI,EAX
00376998    FF15 C8B03800   CALL DWORD PTR DS:[<&MFC71.#310>]                         ; MFC71.7C173199
0037699E    8D4C24 40       LEA ECX,DWORD PTR SS:[ESP+40]
003769A2    FF15 C8B03800   CALL DWORD PTR DS:[<&MFC71.#310>]                         ; MFC71.7C173199
003769A8    8D4C24 44       LEA ECX,DWORD PTR SS:[ESP+44]
003769AC    FF15 C8B03800   CALL DWORD PTR DS:[<&MFC71.#310>]                         ; MFC71.7C173199
003769B2    8D4C24 48       LEA ECX,DWORD PTR SS:[ESP+48]
003769B6    FF15 C8B03800   CALL DWORD PTR DS:[<&MFC71.#310>]                         ; MFC71.7C173199
003769BC    8D4C24 5C       LEA ECX,DWORD PTR SS:[ESP+5C]
003769C0    FF15 C8B03800   CALL DWORD PTR DS:[<&MFC71.#310>]                         ; MFC71.7C173199
003769C6    895C24 4C       MOV DWORD PTR SS:[ESP+4C],EBX
003769CA    895C24 58       MOV DWORD PTR SS:[ESP+58],EBX
003769CE    895C24 54       MOV DWORD PTR SS:[ESP+54],EBX
003769D2    83EC 24         SUB ESP,24
003769D5    8D4424 60       LEA EAX,DWORD PTR SS:[ESP+60]
003769D9    8BCC            MOV ECX,ESP
003769DB    896424 50       MOV DWORD PTR SS:[ESP+50],ESP
003769DF    50              PUSH EAX
003769E0    C68424 94040000>MOV BYTE PTR SS:[ESP+494],0F
003769E8    C74424 78 64000>MOV DWORD PTR SS:[ESP+78],64
003769F0    E8 0BF6FFFF     CALL Control.00376000
003769F5    8B4D 00         MOV ECX,DWORD PTR SS:[EBP]
003769F8    E8 3D120100     CALL <JMP.&Convert.AVConverterBridge::SetProductInfo>
003769FD    8D4C24 5C       LEA ECX,DWORD PTR SS:[ESP+5C]
00376A01    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A07    8D4C24 48       LEA ECX,DWORD PTR SS:[ESP+48]
00376A0B    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A11    8D4C24 44       LEA ECX,DWORD PTR SS:[ESP+44]
00376A15    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A1B    8D4C24 40       LEA ECX,DWORD PTR SS:[ESP+40]
00376A1F    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A25    8D4C24 3C       LEA ECX,DWORD PTR SS:[ESP+3C]
00376A29    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A2F    8D4C24 30       LEA ECX,DWORD PTR SS:[ESP+30]
00376A33    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A39    8D4C24 24       LEA ECX,DWORD PTR SS:[ESP+24]
00376A3D    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],0A
00376A45    E8 80120100     CALL <JMP.&Util.RegUtil::~RegUtil>
00376A4A    8D4C24 28       LEA ECX,DWORD PTR SS:[ESP+28]
00376A4E    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A54    8D4C24 18       LEA ECX,DWORD PTR SS:[ESP+18]
00376A58    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],5
00376A60    E8 4D120100     CALL <JMP.&Util.ProfileUtil::~ProfileUtil>
00376A65    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
00376A69    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A6F    8D4C24 14       LEA ECX,DWORD PTR SS:[ESP+14]
00376A73    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],2
00376A7B    E8 80A5FFFF     CALL Control.DvdData::Check
00376A80    8D4C24 34       LEA ECX,DWORD PTR SS:[ESP+34]
00376A84    C68424 6C040000>MOV BYTE PTR SS:[ESP+46C],1
00376A8C    E8 39120100     CALL <JMP.&Util.RegUtil::~RegUtil>
00376A91    8D4C24 20       LEA ECX,DWORD PTR SS:[ESP+20]
00376A95    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376A9B    8D8C24 74040000 LEA ECX,DWORD PTR SS:[ESP+474]
00376AA2    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00376AA8    8B8C24 64040000 MOV ECX,DWORD PTR SS:[ESP+464]
00376AAF    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
00376AB6    8B8C24 60040000 MOV ECX,DWORD PTR SS:[ESP+460]
00376ABD    8BC6            MOV EAX,ESI
00376ABF    E8 CD150100     CALL Control.00388091
00376AC4    5F              POP EDI
00376AC5    5E              POP ESI
00376AC6    5D              POP EBP
00376AC7    5B              POP EBX
00376AC8    81C4 60040000   ADD ESP,460
00376ACE    C2 0400         RETN 4
==============================================================
00387A50    6A FF           PUSH -1
00387A52    68 22AD3800     PUSH Control.0038AD22
00387A57    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
00387A5D    50              PUSH EAX
00387A5E    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00387A65    81EC B8000000   SUB ESP,0B8
00387A6B    53              PUSH EBX
00387A6C    55              PUSH EBP
00387A6D    56              PUSH ESI
00387A6E    8BF1            MOV ESI,ECX
00387A70    57              PUSH EDI
00387A71    897424 14       MOV DWORD PTR SS:[ESP+14],ESI
00387A75    51              PUSH ECX
00387A76    8D8424 E0000000 LEA EAX,DWORD PTR SS:[ESP+E0]
00387A7D    8BCC            MOV ECX,ESP
00387A7F    896424 14       MOV DWORD PTR SS:[ESP+14],ESP
00387A83    50              PUSH EAX
00387A84    C78424 D8000000>MOV DWORD PTR SS:[ESP+D8],1
00387A8F    33FF            XOR EDI,EDI
00387A91    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
00387A97    8BCE            MOV ECX,ESI
00387A99    E8 32FCFFFF     CALL Control.003876D0                                     ; //注册码是否符合要求的格式
00387A9E    84C0            TEST AL,AL
00387AA0    0F84 49010000   JE Control.00387BEF
00387AA6    8B2D 80B13800   MOV EBP,DWORD PTR DS:[<&MSVCR71.toupper>]                 ; MSVCR71.toupper
00387AAC    33DB            XOR EBX,EBX
00387AAE    8D7424 68       LEA ESI,DWORD PTR SS:[ESP+68]
00387AB2    83FF 04         CMP EDI,4
00387AB5    75 04           JNZ SHORT Control.00387ABB
00387AB7    33FF            XOR EDI,EDI
00387AB9    EB 23           JMP SHORT Control.00387ADE
00387ABB    53              PUSH EBX
00387ABC    8D8C24 E0000000 LEA ECX,DWORD PTR SS:[ESP+E0]
00387AC3    FF15 54B13800   CALL DWORD PTR DS:[<&MFC71.#865>]                         ; //逐位取试练码ASC值
00387AC9    0FBEC8          MOVSX ECX,AL
00387ACC    51              PUSH ECX
00387ACD    FFD5            CALL EBP
00387ACF    0FBED0          MOVSX EDX,AL
00387AD2    83EA 41         SUB EDX,41                                                ; //EDX=EDX-41
00387AD5    83C4 04         ADD ESP,4
00387AD8    8916            MOV DWORD PTR DS:[ESI],EDX
00387ADA    47              INC EDI
00387ADB    83C6 04         ADD ESI,4
00387ADE    43              INC EBX
00387ADF    83FB 18         CMP EBX,18
00387AE2  ^ 7C CE           JL SHORT Control.00387AB2                                 ; //循环,分别将试练码中的字母的ASC值减41h保存
00387AE4    68 80000000     PUSH 80
00387AE9    51              PUSH ECX
00387AEA    8D8424 E0000000 LEA EAX,DWORD PTR SS:[ESP+E0]
00387AF1    8BCC            MOV ECX,ESP
00387AF3    896424 18       MOV DWORD PTR SS:[ESP+18],ESP
00387AF7    50              PUSH EAX
00387AF8    FF15 B8B03800   CALL DWORD PTR DS:[<&MFC71.#297>]                         ; MFC71.7C14E575
00387AFE    8D8C24 C0000000 LEA ECX,DWORD PTR SS:[ESP+C0]
00387B05    51              PUSH ECX
00387B06    8B4C24 20       MOV ECX,DWORD PTR SS:[ESP+20]
00387B0A    E8 81FCFFFF     CALL Control.00387790
00387B0F    8B5424 68       MOV EDX,DWORD PTR SS:[ESP+68]
00387B13    8B4C24 70       MOV ECX,DWORD PTR SS:[ESP+70]
00387B17    8B4424 6C       MOV EAX,DWORD PTR SS:[ESP+6C]
00387B1B    895424 18       MOV DWORD PTR SS:[ESP+18],EDX
00387B1F    8B5424 74       MOV EDX,DWORD PTR SS:[ESP+74]
00387B23    894C24 20       MOV DWORD PTR SS:[ESP+20],ECX
00387B27    8B4C24 7C       MOV ECX,DWORD PTR SS:[ESP+7C]
00387B2B    894424 1C       MOV DWORD PTR SS:[ESP+1C],EAX
00387B2F    8B4424 78       MOV EAX,DWORD PTR SS:[ESP+78]
00387B33    895424 24       MOV DWORD PTR SS:[ESP+24],EDX
00387B37    8B9424 80000000 MOV EDX,DWORD PTR SS:[ESP+80]
00387B3E    894C24 2C       MOV DWORD PTR SS:[ESP+2C],ECX
00387B42    8B8C24 88000000 MOV ECX,DWORD PTR SS:[ESP+88]
00387B49    894424 28       MOV DWORD PTR SS:[ESP+28],EAX
00387B4D    8B8424 84000000 MOV EAX,DWORD PTR SS:[ESP+84]
00387B54    895424 30       MOV DWORD PTR SS:[ESP+30],EDX
00387B58    8B9424 8C000000 MOV EDX,DWORD PTR SS:[ESP+8C]
00387B5F    894C24 38       MOV DWORD PTR SS:[ESP+38],ECX
00387B63    8B8C24 94000000 MOV ECX,DWORD PTR SS:[ESP+94]
00387B6A    894424 34       MOV DWORD PTR SS:[ESP+34],EAX
00387B6E    8B8424 90000000 MOV EAX,DWORD PTR SS:[ESP+90]
00387B75    895424 3C       MOV DWORD PTR SS:[ESP+3C],EDX
00387B79    8B9424 98000000 MOV EDX,DWORD PTR SS:[ESP+98]
00387B80    894C24 44       MOV DWORD PTR SS:[ESP+44],ECX
00387B84    8B8C24 A0000000 MOV ECX,DWORD PTR SS:[ESP+A0]
00387B8B    894424 40       MOV DWORD PTR SS:[ESP+40],EAX
00387B8F    8B8424 9C000000 MOV EAX,DWORD PTR SS:[ESP+9C]
00387B96    895424 48       MOV DWORD PTR SS:[ESP+48],EDX
00387B9A    8B9424 A4000000 MOV EDX,DWORD PTR SS:[ESP+A4]
00387BA1    894C24 50       MOV DWORD PTR SS:[ESP+50],ECX
00387BA5    894424 4C       MOV DWORD PTR SS:[ESP+4C],EAX
00387BA9    895424 54       MOV DWORD PTR SS:[ESP+54],EDX
00387BAD    B3 01           MOV BL,1
00387BAF    33C9            XOR ECX,ECX
00387BB1    8B6C0C 18       MOV EBP,DWORD PTR SS:[ESP+ECX+18]                         ; //试练码第i位运算值
00387BB5    8B840C B8000000 MOV EAX,DWORD PTR SS:[ESP+ECX+B8]                         ; //根据"ER DVD to 3GP Converter"算出来的4个常数
00387BBC    8B7C0C 28       MOV EDI,DWORD PTR SS:[ESP+ECX+28]                         ; //试练码第i+5位运算值
00387BC0    8B740C 48       MOV ESI,DWORD PTR SS:[ESP+ECX+48]                         ; //试练码第i+10位运算值
00387BC4    8B540C 38       MOV EDX,DWORD PTR SS:[ESP+ECX+38]                         ; //试练码第i+15位运算值
00387BC8    03C5            ADD EAX,EBP
00387BCA    03C7            ADD EAX,EDI
00387BCC    03C6            ADD EAX,ESI
00387BCE    03C2            ADD EAX,EDX                                               ; //四数之和
00387BD0    99              CDQ
00387BD1    BE 1A000000     MOV ESI,1A
00387BD6    F7FE            IDIV ESI
00387BD8    3B940C A8000000 CMP EDX,DWORD PTR SS:[ESP+ECX+A8]                         ; //除以1Ah的的余数和试练码第i+20位运算值比较
00387BDF    89540C 58       MOV DWORD PTR SS:[ESP+ECX+58],EDX
00387BE3    75 0A           JNZ SHORT Control.00387BEF                                ; //不等则跳
00387BE5    83C1 04         ADD ECX,4
00387BE8    83F9 10         CMP ECX,10
00387BEB  ^ 7C C4           JL SHORT Control.00387BB1                                 ; //循环
00387BED    EB 02           JMP SHORT Control.00387BF1
00387BEF    32DB            XOR BL,BL
00387BF1    8D8C24 D8000000 LEA ECX,DWORD PTR SS:[ESP+D8]
00387BF8    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00387BFE    8D8C24 DC000000 LEA ECX,DWORD PTR SS:[ESP+DC]
00387C05    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
00387C0B    8B8C24 C8000000 MOV ECX,DWORD PTR SS:[ESP+C8]
00387C12    5F              POP EDI
00387C13    5E              POP ESI
00387C14    5D              POP EBP
00387C15    8AC3            MOV AL,BL
00387C17    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
00387C1E    5B              POP EBX
00387C1F    81C4 C4000000   ADD ESP,0C4
00387C25    C2 0800         RETN 8
==============================================================
003876D0    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
003876D6    6A FF           PUSH -1
003876D8    68 F9AC3800     PUSH Control.0038ACF9
003876DD    50              PUSH EAX
003876DE    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
003876E5    53              PUSH EBX
003876E6    56              PUSH ESI
003876E7    57              PUSH EDI
003876E8    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
003876EC    C74424 14 00000>MOV DWORD PTR SS:[ESP+14],0
003876F4    33FF            XOR EDI,EDI                                               ; //EDI=0
003876F6    FF15 D0B03800   CALL DWORD PTR DS:[<&MFC71.#876>]                         ; MFC71.7C158BCD
003876FC    8D50 01         LEA EDX,DWORD PTR DS:[EAX+1]
003876FF    90              NOP
00387700    8A08            MOV CL,BYTE PTR DS:[EAX]
00387702    40              INC EAX
00387703    84C9            TEST CL,CL
00387705  ^ 75 F9           JNZ SHORT Control.00387700
00387707    2BC2            SUB EAX,EDX
00387709    83F8 18         CMP EAX,18
0038770C    75 62           JNZ SHORT Control.00387770                                ; //注册码长度必须为24位
0038770E    8B1D 80B13800   MOV EBX,DWORD PTR DS:[<&MSVCR71.toupper>]                 ; MSVCR71.toupper
00387714    33F6            XOR ESI,ESI                                               ; //ESI=0
00387716    EB 08           JMP SHORT Control.00387720
00387718    8DA424 00000000 LEA ESP,DWORD PTR SS:[ESP]
0038771F    90              NOP
00387720    56              PUSH ESI
00387721    8D4C24 20       LEA ECX,DWORD PTR SS:[ESP+20]
00387725    FF15 54B13800   CALL DWORD PTR DS:[<&MFC71.#865>]                         ; //逐位取试练码ASC值
0038772B    0FBEC0          MOVSX EAX,AL
0038772E    50              PUSH EAX
0038772F    FFD3            CALL EBX
00387731    83C4 04         ADD ESP,4
00387734    83FF 04         CMP EDI,4
00387737    75 08           JNZ SHORT Control.00387741                                ; //每隔4位不跳
00387739    3C 2D           CMP AL,2D
0038773B    75 33           JNZ SHORT Control.00387770                                ; //不是“-”就跳
0038773D    33FF            XOR EDI,EDI                                               ; //EDI=0
0038773F    EB 09           JMP SHORT Control.0038774A
00387741    3C 41           CMP AL,41
00387743    7C 2B           JL SHORT Control.00387770                                 ; //小于41h则跳,即"A"
00387745    3C 5A           CMP AL,5A
00387747    7F 27           JG SHORT Control.00387770                                 ; //大于5Ah则跳,即"Z"
00387749    47              INC EDI
0038774A    46              INC ESI
0038774B    83FE 18         CMP ESI,18
0038774E  ^ 7C D0           JL SHORT Control.00387720                                 ; //循环
00387750    8D4C24 1C       LEA ECX,DWORD PTR SS:[ESP+1C]
00387754    FF15 C4B03800   CALL DWORD PTR DS:[<&MFC71.#578>]                         ; MFC71.7C1771B1
0038775A    B0 01           MOV AL,1
0038775C    8B4C24 0C       MOV ECX,DWORD PTR SS:[ESP+C]
00387760    64:890D 0000000>MOV DWORD PTR FS:[0],ECX
00387767    5F              POP EDI
00387768    5E              POP ESI
00387769    5B              POP EBX
0038776A    83C4 0C         ADD ESP,0C
0038776D    C2 0400         RETN 4
**************************************************************  
【破解总结】
--------------------------------------------------------------
【算法总结】
1.注册码形式为XXXX-XXXX-XXXX-XXXX-XXXX,X为英文大写字母
2.前4组字母可以是任意字母,第5组字母是根据前4组字母运算所得
--------------------------------------------------------------
【算法注册机】
Private Sub Command1_Click()
Dim C(24), X(4), n, i As Integer
Dim M(24) As String
For n = 1 To 20
C(n) = Int(Rnd() * 26 + 65)
M(n) = Chr(C(n))
Next
X(1) = &H4
X(2) = &H14
X(3) = &HA
X(4) = &H0
For i = 1 To 4
C(i + 20) = ((C(i) + C(i + 5) + C(i + 10) + C(i + 15) - &H41 * 4 + X(i)) Mod &H1A) + &H41
M(i + 20) = Chr(C(i + 20))
Next
Text1.Text = M(1) & M(2) & M(3) & M(4) & "-" & M(6) & M(7) & M(8) & M(9) & "-" & M(11) & M(12) & M(13) & M(14) & "-" & M(16) 

& M(17) & M(18) & M(19) & "-" & M(21) & M(22) & M(23) & M(24)
End Sub
--------------------------------------------------------------
【注册信息】
保存在
[HKEY_USERS\S-1-5-21-4062119504-2798039762-1529167351-500\Software\RER Soft, Inc.\DVD to 3GP Converter]
删除可以重新玩 ^_^
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
提前祝我的论坛兄弟姐妹们中秋节快乐!!
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!