【标题】超想姓名与人生 v2.2 注册算法分析
【作者】forever[RCT]
【工具】E-Code Explorer 0.80,ollydbg1.1
【目标】超想姓名与人生 v2.2
【下载】http://beyond.521cn.com/soft.htm
【简介】根据日本著名姓名学家熊崎健翁所创理论开发。适用于车站、码头、商场、公园、旅游区、集市等人员较多地方及《易经》爱好者探讨的取名、测名、电脑算命软件。
【正文】

    下载了monkeycz老大的E-Code Explorer 0.80,于是想试用一下。果然是好东西,用起来爽死了。哈哈。
    这个软件和KuNgBiM分析的超想家电维修管理系统应该是一个系列的。懒得到处去找E语言的程序了,偷个懒,就下载了这个。
    下面的分析以E-Code Explorer 0.80为主,不明白的地方用ollydbg作为辅助来验证。我不懂易语言编程,否则恐怕连ollydbg都不用了。呵呵。
    双斜线后面的注释是我加的,为了不占篇幅,其中也删去了一部分无关紧要的代码。
 ===============================================================    
::0044F243:: 55                         PUSH EBP                      
::0044F244:: 8BEC                       MOV EBP,ESP                   
::0044F246:: 81EC 98010000              SUB ESP,198                   
::0044F24C:: C745 FC 00000000           MOV DWORD PTR [EBP-4],0       
::0044F253:: C745 F8 00000000           MOV DWORD PTR [EBP-8],0       
::0044F25A:: C745 F4 00000000           MOV DWORD PTR [EBP-C],0       
::0044F261:: C745 F0 00000000           MOV DWORD PTR [EBP-10],0      
::0044F268:: 68 00000000                PUSH 0                        
::0044F26D:: BB C4060000                MOV EBX,6C4                   取硬盘特征字(系统核心支持库)
::0044F272:: E8 93D30000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0044F277:: 83C4 04                    ADD ESP,4                     
::0044F27A:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::0044F27F:: 6A 00                      PUSH 0                        
::0044F281:: 50                         PUSH EAX                      
::0044F282:: 68 01000000                PUSH 1                        
::0044F287:: BB 68010000                MOV EBX,168                   到文本(系统核心支持库)
::0044F28C:: E8 79D30000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0044F291:: 83C4 10                    ADD ESP,10                    
::0044F294:: 8945 E8                    MOV [EBP-18],EAX             //保存到这里 
::0044F297:: 8B5D FC                    MOV EBX,[EBP-4]               
::0044F29A:: 85DB                       TEST EBX,EBX                  
::0044F29C:: 74 09                      JE SHORT 0044F2A7             
::0044F29E:: 53                         PUSH EBX                      
::0044F29F:: E8 5AD30000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::0044F2A4:: 83C4 04                    ADD ESP,4                     
::0044F2A7:: 8B45 E8                    MOV EAX,[EBP-18]              
::0044F2AA:: 8945 FC                    MOV [EBP-4],EAX              //转存到这里
::0044F2AD:: 6A FF                      PUSH -1                       
::0044F2AF:: 6A 04                      PUSH 4                        标记(“组合框1”的属性)
::0044F2B1:: 68 43080116                PUSH 16010843                 组合框1(组合框)
::0044F2B6:: 68 D5070152                PUSH 520107D5                 窗体单元5(父窗体)
::0044F2BB:: E8 56D30000                CALL 0045C616                 取窗体对象属性(调用4号服务)
::0044F2C0:: 83C4 10                    ADD ESP,10                    
::0044F2C3:: 8945 EC                    MOV [EBP-14],EAX              //"XM"
::0044F2C6:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::0044F2CB:: 6A 00                      PUSH 0                        
::0044F2CD:: 8B45 EC                    MOV EAX,[EBP-14]              
::0044F2D0:: 85C0                       TEST EAX,EAX                  
::0044F2D2:: 75 05                      JNZ SHORT 0044F2D9            
::0044F2D4:: B8 00924000                MOV EAX,409200                (常量)
::0044F2D9:: 50                         PUSH EAX                      
::0044F2DA:: 68 01000000                PUSH 1                        
::0044F2DF:: BB 78010000                MOV EBX,178                   删全部空(系统核心支持库)
::0044F2E4:: E8 21D30000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0044F2E9:: 83C4 10                    ADD ESP,10                    
::0044F2EC:: 8945 E8                    MOV [EBP-18],EAX              
::0044F2EF:: 8B5D EC                    MOV EBX,[EBP-14]              
::0044F2F2:: 85DB                       TEST EBX,EBX                  
::0044F2F4:: 74 09                      JE SHORT 0044F2FF             
::0044F2F6:: 53                         PUSH EBX                      
::0044F2F7:: E8 02D30000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::0044F2FC:: 83C4 04                    ADD ESP,4                     
::0044F2FF:: 8B5D F8                    MOV EBX,[EBP-8]               
::0044F302:: 85DB                       TEST EBX,EBX                  
::0044F304:: 74 09                      JE SHORT 0044F30F             
::0044F306:: 53                         PUSH EBX                      
::0044F307:: E8 F2D20000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::0044F30C:: 83C4 04                    ADD ESP,4                     
::0044F30F:: 8B45 E8                    MOV EAX,[EBP-18]              
::0044F312:: 8945 F8                    MOV [EBP-8],EAX               
::0044F315:: 68 01010080                PUSH 80000101                 字节型(基本数据类型)
::0044F31A:: 6A 00                      PUSH 0                        
::0044F31C:: 68 35000000                PUSH 35                       //5
::0044F321:: 68 01000000                PUSH 1                        
::0044F326:: BB 40010000                MOV EBX,140                   字符(系统核心支持库)
::0044F32B:: E8 DAD20000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0044F330:: 83C4 10                    ADD ESP,10                    
::0044F333:: 8945 EC                    MOV [EBP-14],EAX              


::00450076:: B9 6F000000                MOV ECX,6F                    
::0045007B:: E8 1F3BFFFF                CALL 00443B9F                 
::00450080:: 81C4 BC010000              ADD ESP,1BC                   
::00450086:: 8985 ACFEFFFF              MOV [EBP-154],EAX             
到这里形成一张表,
00232E90  42 33 44 44 43 31 31 37 37 31 30 34 35 34 45 37  B3DDC117710454E7
00232EA0  35 44 42 41 31 30 33 36 33 33 42 39 43 39 37 36  5DBA103633B9C976
00232EB0  33 38 44 30 33 46 41 46 37 43 42 36 30 32 41 36  38D03FAF7CB602A6
00232EC0  44 33 42 37 34 41 34 43 41 37 38 30 38 35 46 39  D3B74A4CA78085F9
00232ED0  43 41 36 34 33 36 44 38 35 38 39 34 33 38 45 30  CA6436D8589438E0
00232EE0  31 41 34 31 38 36 31 46 37 44 30 36 42 38 42 37  1A41861F7D06B8B7
00232EF0  31 33 31 46 32 38 43 44 31 31 45 32 39 41 30 39  131F28CD11E29A09
00232F00  46 31 41 30 37 34 32 45 30 44 32 33 38 42 41 32  F1A0742E0D238BA2
00232F10  31 32 43 42 45 43 41 31 46 42 34 45 30 34 35 31  12CBECA1FB4E0451
00232F20  32 42 39 45 45 32 32 44 30 43 37 34 44 36 32 36  2B9EE22D0C74D626
00232F30  30 35 33 46 37 31 46 37 38 35 44 32 46 38 36 32  053F71F785D2F862
00232F40  39 37 35 32 44 35 39 45 38 39 36 35 34 39 45 42  9752D59E896549EB
00232F50  33 38 41 31 39 37 32 46 30 36 43 33 46 38 35 38  38A1972F06C3F858
00232F60  44 41 38 44 42 43 31 46 33 36 33 38 36 44 32 32  DA8DBC1F36386D22
00232F70  31 42 31 45 31 46 42 41 31 37 37 30 41 39 38 41  1B1E1FBA1770A98A
00232F80  39 36 42 38 35 39 35 30 32 33 35 38 44 37 39 46  96B859502358D79F
并保存到[EBP-154]。

              
::00450628:: 8B5D F4                    MOV EBX,[EBP-C]               
::0045062B:: 85DB                       TEST EBX,EBX                  
::0045062D:: 74 09                      JE SHORT 00450638             
::0045062F:: 53                         PUSH EBX                      
::00450630:: E8 C9BF0000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00450635:: 83C4 04                    ADD ESP,4                     
::00450638:: 8B85 ACFEFFFF              MOV EAX,[EBP-154]             
::0045063E:: 8945 F4                    MOV [EBP-C],EAX              //这里也保存一份        
::00450641:: 68 01060080                PUSH 80000601                 
::00450646:: 68 00405340                PUSH 40534000                 
::0045064B:: 68 00000000                PUSH 0                        
::00450650:: 68 01000000                PUSH 1                        
::00450655:: BB 68010000                MOV EBX,168                   到文本(系统核心支持库)
::0045065A:: E8 ABBF0000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0045065F:: 83C4 10                    ADD ESP,10                    


::00451673:: B9 82000000                MOV ECX,82                    
::00451678:: E8 2225FFFF                CALL 00443B9F                 
::0045167D:: 81C4 08020000              ADD ESP,208                   
::00451683:: 8985 68FEFFFF              MOV [EBP-198],EAX   
到这里形成另一张表,
0022FED0  35 32 37 37 36 37 41 34 36 45 38 33 42 33 37 41  527767A46E83B37A
0022FEE0  44 32 39 31 30 35 31 41 34 39 45 39 44 30 30 41  D291051A49E9D00A
0022FEF0  32 43 46 34 41 32 37 42 42 31 42 34 31 34 38 41  2CF4A27BB1B4148A
0022FF00  31 45 43 38 32 43 39 45 30 42 33 42 35 39 30 42  1EC82C9E0B3B590B
0022FF10  41 36 31 46 30 41 39 43 45 37 42 39 34 35 31 44  A61F0A9CE7B9451D
0022FF20  41 43 39 46 31 42 33 36 36 45 37 38 41 46 38 43  AC9F1B366E78AF8C
0022FF30  39 38 30 38 30 35 33 31 41 35 39 32 30 44 44 32  98080531A5920DD2
0022FF40  39 32 31 34 35 35 32 41 42 36 43 38 32 31 41 31  9214552AB6C821A1
0022FF50  33 32 37 32 45 34 46 38 35 35 31 45 37 32 37 46  3272E4F8551E727F
0022FF60  34 35 43 41 39 44 38 44 39 38 45 42 31 36 34 44  45CA9D8D98EB164D
0022FF70  36 36 38 33 39 39 34 38 36 41 33 30 41 38 44 41  668399486A30A8DA
0022FF80  41 38 30 39 43 44 33 39 42 33 31 42 34 31 32 36  A809CD39B31B4126
0022FF90  44 33 42 34 39 35 46 44 43 43 36 41 31 37 34 30  D3B495FDCC6A1740
0022FFA0  36 31 45 41 36 35 34 36 32 39 32 46 41 33 42 37  61EA6546292FA3B7
0022FFB0  35 37 35 32 30 38 31 45 33 46 46 30 38 30 42 33  5752081E3FF080B3
0022FFC0  35 38 41 45 30 34 32 38 44 43 44 46 35 42 36 31  58AE0428DCDF5B61


                                     
::00451D78:: 8B85 68FEFFFF              MOV EAX,[EBP-198]             
::00451D7E:: 8945 F0                    MOV [EBP-10],EAX         //这里也保存一份     
::00451D81:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00451D86:: 6A 00                      PUSH 0                        
::00451D88:: 68 01000000                PUSH 1                        
::00451D8D:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00451D92:: 6A 00                      PUSH 0                        
::00451D94:: 68 01000000                PUSH 1                        
::00451D99:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451D9E:: 6A 00                      PUSH 0                        
::00451DA0:: 8B45 F8                    MOV EAX,[EBP-8]               
::00451DA3:: 85C0                       TEST EAX,EAX                  
::00451DA5:: 75 05                      JNZ SHORT 00451DAC            
::00451DA7:: B8 00924000                MOV EAX,409200                (常量)
::00451DAC:: 50                         PUSH EAX                      
::00451DAD:: 68 03000000                PUSH 3                        
::00451DB2:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::00451DB7:: E8 4EA80000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00451DBC:: 83C4 28                    ADD ESP,28                    
::00451DBF:: 8945 EC                    MOV [EBP-14],EAX              
::00451DC2:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00451DC7:: 6A 00                      PUSH 0                        
::00451DC9:: 68 01000000                PUSH 1                        
::00451DCE:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00451DD3:: 6A 00                      PUSH 0                        
::00451DD5:: 68 02000000                PUSH 2                        
::00451DDA:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451DDF:: 6A 00                      PUSH 0                        
::00451DE1:: 8B45 F8                    MOV EAX,[EBP-8]               
::00451DE4:: 85C0                       TEST EAX,EAX                  
::00451DE6:: 75 05                      JNZ SHORT 00451DED            
::00451DE8:: B8 00924000                MOV EAX,409200                (常量)
::00451DED:: 50                         PUSH EAX                      
::00451DEE:: 68 03000000                PUSH 3                        
::00451DF3:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::00451DF8:: E8 0DA80000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00451DFD:: 83C4 28                    ADD ESP,28                    
::00451E00:: 8945 E8                    MOV [EBP-18],EAX              
::00451E03:: FF75 E8                    PUSH DWORD PTR [EBP-18]       
::00451E06:: FF75 FC                    PUSH DWORD PTR [EBP-4]        
::00451E09:: FF75 EC                    PUSH DWORD PTR [EBP-14]       
::00451E0C:: B9 03000000                MOV ECX,3                     
::00451E11:: E8 891DFFFF                CALL 00443B9F                 // X2119499863M
::00451E16:: 83C4 0C                    ADD ESP,C                     
::00451E19:: 8945 E4                    MOV [EBP-1C],EAX              //保存到这里           
::00451E1C:: 8B5D EC                    MOV EBX,[EBP-14]              
::00451E1F:: 85DB                       TEST EBX,EBX                  
::00451E21:: 74 09                      JE SHORT 00451E2C             
::00451E23:: 53                         PUSH EBX                      
::00451E24:: E8 D5A70000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451E29:: 83C4 04                    ADD ESP,4                     
::00451E2C:: 8B5D E8                    MOV EBX,[EBP-18]              
::00451E2F:: 85DB                       TEST EBX,EBX                  
::00451E31:: 74 09                      JE SHORT 00451E3C             
::00451E33:: 53                         PUSH EBX                      
::00451E34:: E8 C5A70000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451E39:: 83C4 04                    ADD ESP,4                     
::00451E3C:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451E41:: 6A 00                      PUSH 0                        
::00451E43:: 8B45 E4                    MOV EAX,[EBP-1C]              
::00451E46:: 85C0                       TEST EAX,EAX                  
::00451E48:: 75 05                      JNZ SHORT 00451E4F            
::00451E4A:: B8 00924000                MOV EAX,409200                (常量)
::00451E4F:: 50                         PUSH EAX                      
::00451E50:: 68 01000000                PUSH 1                        
::00451E55:: BB 98010000                MOV EBX,198                   到字节集(系统核心支持库)
::00451E5A:: E8 ABA70000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00451E5F:: 83C4 10                    ADD ESP,10                    
::00451E62:: 8945 E0                    MOV [EBP-20],EAX              
::00451E65:: 8B5D E4                    MOV EBX,[EBP-1C]              
::00451E68:: 85DB                       TEST EBX,EBX                  
::00451E6A:: 74 09                      JE SHORT 00451E75             
::00451E6C:: 53                         PUSH EBX                      
::00451E6D:: E8 8CA70000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451E72:: 83C4 04                    ADD ESP,4                     
::00451E75:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451E7A:: 6A 00                      PUSH 0                        
::00451E7C:: 8B45 F0                    MOV EAX,[EBP-10]              
::00451E7F:: 85C0                       TEST EAX,EAX                  
::00451E81:: 75 05                      JNZ SHORT 00451E88            
::00451E83:: B8 00924000                MOV EAX,409200                (常量)
::00451E88:: 50                         PUSH EAX                      
::00451E89:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451E8E:: 6A 00                      PUSH 0                        
::00451E90:: 8B45 F4                    MOV EAX,[EBP-C]               
::00451E93:: 85C0                       TEST EAX,EAX                  
::00451E95:: 75 05                      JNZ SHORT 00451E9C            
::00451E97:: B8 00924000                MOV EAX,409200                (常量)
::00451E9C:: 50                         PUSH EAX                      
::00451E9D:: 68 05000080                PUSH 80000005                 字节集(基本数据类型)
::00451EA2:: 6A 00                      PUSH 0                        
::00451EA4:: 8B45 E0                    MOV EAX,[EBP-20]              
::00451EA7:: 85C0                       TEST EAX,EAX                  
::00451EA9:: 75 05                      JNZ SHORT 00451EB0            
::00451EAB:: B8 72934000                MOV EAX,409372                (常量)
::00451EB0:: 50                         PUSH EAX                      
::00451EB1:: 68 03000000                PUSH 3                        
::00451EB6:: BB 14000000                MOV EBX,14                    数字签名(数据操作支持库一)
::00451EBB:: B8 03000000                MOV EAX,3                     
::00451EC0:: E8 5DA70000                CALL 0045C622                 调用其他支持库命令(调用2号服务)
::00451EC5:: 83C4 28                    ADD ESP,28                    
::00451EC8:: 8945 DC                    MOV [EBP-24],EAX  

数字签名的结果:
0022FCF0  33 36 34 35 35 37 45 32 43 33 43 37 38 43 42 42  364557E2C3C78CBB
0022FD00  31 45 43 39 32 43 30 42 41 41 31 38 35 36 38 45  1EC92C0BAA18568E
0022FD10  42 38 34 38 46 45 45 46 44 33 45 36 32 45 31 41  B848FEEFD3E62E1A
0022FD20  42 46 36 34 36 38 32 32 39 34 42 36 45 32 32 38  BF64682294B6E228
0022FD30  44 39 39 43 30 44 37 41 43 38 32 32 30 30 34 42  D99C0D7AC822004B
0022FD40  36 31 35 31 45 36 33 33 41 44 38 37 44 36 42 45  6151E633AD87D6BE
0022FD50  46 45 38 39 37 39 33 39 32 33 35 43 37 45 33 37  FE897939235C7E37
0022FD60  36 39 39 42 39 36 37 31 42 46 46 33 35 41 44 42  699B9671BFF35ADB
0022FD70  42 35 30 38 44 44 31 33 31 35 32 46 32 37 35 33  B508DD13152F2753
0022FD80  44 33 37 43 37 31 32 41 38 43 38 45 44 42 45 45  D37C712A8C8EDBEE
0022FD90  41 44 31 41 30 39 44 46 33 35 42 42 31 43 38 31  AD1A09DF35BB1C81
0022FDA0  44 35 35 33 41 44 39 45 46 37 36 35 34 35 44 43  D553AD9EF76545DC
0022FDB0  38 30 45 38 42 44 42 39 37 46 31 34 43 31 35 44  80E8BDB97F14C15D
0022FDC0  39 33 44 42 42 44 34 37 32 31 44 34 30 46 42 39  93DBBD4721D40FB9
0022FDD0  33 44 39 32 45 41 39 46 44 30 44 42 31 37 39 43  3D92EA9FD0DB179C
0022FDE0  39 30 31 45 44 42 41 34 46 46 45 31 31 34 31 41  901EDBA4FFE1141A

            
::00451ECB:: 8B5D E0                    MOV EBX,[EBP-20]              
::00451ECE:: 85DB                       TEST EBX,EBX                  
::00451ED0:: 74 09                      JE SHORT 00451EDB             
::00451ED2:: 53                         PUSH EBX                      
::00451ED3:: E8 26A70000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451ED8:: 83C4 04                    ADD ESP,4                     
::00451EDB:: 8B5D FC                    MOV EBX,[EBP-4]               
::00451EDE:: 85DB                       TEST EBX,EBX                  
::00451EE0:: 74 09                      JE SHORT 00451EEB             
::00451EE2:: 53                         PUSH EBX                      
::00451EE3:: E8 16A70000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451EE8:: 83C4 04                    ADD ESP,4                     
::00451EEB:: 8B45 DC                    MOV EAX,[EBP-24]              
::00451EEE:: 8945 FC                    MOV [EBP-4],EAX               //签名结果也保存在这里
::00451EF1:: 6A FF                      PUSH -1                       
::00451EF3:: 6A 08                      PUSH 8                        内容(“编辑框2”的属性)
::00451EF5:: 68 54080116                PUSH 16010854                 编辑框2(编辑框)
::00451EFA:: 68 D5070152                PUSH 520107D5                 窗体单元5(父窗体)
::00451EFF:: E8 12A70000                CALL 0045C616                 取窗体对象属性(调用4号服务)
::00451F04:: 83C4 10                    ADD ESP,10                    
::00451F07:: 8945 EC                    MOV [EBP-14],EAX              //取假注册码
::00451F0A:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451F0F:: 6A 00                      PUSH 0                        
::00451F11:: 8B45 EC                    MOV EAX,[EBP-14]              
::00451F14:: 85C0                       TEST EAX,EAX                  
::00451F16:: 75 05                      JNZ SHORT 00451F1D            
::00451F18:: B8 00924000                MOV EAX,409200                (常量)
::00451F1D:: 50                         PUSH EAX                      
::00451F1E:: 68 01000000                PUSH 1                        
::00451F23:: BB 74010000                MOV EBX,174                   删首尾空(系统核心支持库)
::00451F28:: E8 DDA60000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00451F2D:: 83C4 10                    ADD ESP,10                    
::00451F30:: 8945 E8                    MOV [EBP-18],EAX              //去掉两端的空格
::00451F33:: 8B5D EC                    MOV EBX,[EBP-14]              
::00451F36:: 85DB                       TEST EBX,EBX                  
::00451F38:: 74 09                      JE SHORT 00451F43             
::00451F3A:: 53                         PUSH EBX                      
::00451F3B:: E8 BEA60000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451F40:: 83C4 04                    ADD ESP,4                     
::00451F43:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451F48:: 6A 00                      PUSH 0                        
::00451F4A:: 8B45 E8                    MOV EAX,[EBP-18]              
::00451F4D:: 85C0                       TEST EAX,EAX                  
::00451F4F:: 75 05                      JNZ SHORT 00451F56            
::00451F51:: B8 00924000                MOV EAX,409200                (常量)
::00451F56:: 50                         PUSH EAX                      
::00451F57:: 68 01000000                PUSH 1                        
::00451F5C:: BB 50010000                MOV EBX,150                   到大写(系统核心支持库)
::00451F61:: E8 A4A60000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00451F66:: 83C4 10                    ADD ESP,10                    
::00451F69:: 8945 E4                    MOV [EBP-1C],EAX              //转换成大写
::00451F6C:: 8B5D E8                    MOV EBX,[EBP-18]              
::00451F6F:: 85DB                       TEST EBX,EBX                  
::00451F71:: 74 09                      JE SHORT 00451F7C             
::00451F73:: 53                         PUSH EBX                      
::00451F74:: E8 85A60000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451F79:: 83C4 04                    ADD ESP,4                     
::00451F7C:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00451F81:: 6A 00                      PUSH 0                        
::00451F83:: 8B45 E4                    MOV EAX,[EBP-1C]              
::00451F86:: 85C0                       TEST EAX,EAX                  
::00451F88:: 75 05                      JNZ SHORT 00451F8F            
::00451F8A:: B8 00924000                MOV EAX,409200                (常量)
::00451F8F:: 50                         PUSH EAX                      
::00451F90:: 68 01000000                PUSH 1                        
::00451F95:: BB 98010000                MOV EBX,198                   到字节集(系统核心支持库)
::00451F9A:: E8 6BA60000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00451F9F:: 83C4 10                    ADD ESP,10                    
::00451FA2:: 8945 E0                    MOV [EBP-20],EAX              //转换成字符串
::00451FA5:: 8B5D E4                    MOV EBX,[EBP-1C]              
::00451FA8:: 85DB                       TEST EBX,EBX                  
::00451FAA:: 74 09                      JE SHORT 00451FB5             
::00451FAC:: 53                         PUSH EBX                      
::00451FAD:: E8 4CA60000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451FB2:: 83C4 04                    ADD ESP,4                     
::00451FB5:: 68 05000080                PUSH 80000005                 字节集(基本数据类型)
::00451FBA:: 6A 00                      PUSH 0                        
::00451FBC:: 8B45 E0                    MOV EAX,[EBP-20]              
::00451FBF:: 85C0                       TEST EAX,EAX                  
::00451FC1:: 75 05                      JNZ SHORT 00451FC8            
::00451FC3:: B8 72934000                MOV EAX,409372                (常量)
::00451FC8:: 50                         PUSH EAX                      
::00451FC9:: 68 01000000                PUSH 1                        
::00451FCE:: BB 08000000                MOV EBX,8                     取数据摘要(数据操作支持库一)
::00451FD3:: B8 03000000                MOV EAX,3                     
::00451FD8:: E8 45A60000                CALL 0045C622                 调用其他支持库命令(调用2号服务)
::00451FDD:: 83C4 10                    ADD ESP,10                    
::00451FE0:: 8945 DC                    MOV [EBP-24],EAX              //求md5
::00451FE3:: 8B5D E0                    MOV EBX,[EBP-20]              
::00451FE6:: 85DB                       TEST EBX,EBX                  
::00451FE8:: 74 09                      JE SHORT 00451FF3             
::00451FEA:: 53                         PUSH EBX                      
::00451FEB:: E8 0EA60000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00451FF0:: 83C4 04                    ADD ESP,4                     
::00451FF3:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00451FF8:: 6A 00                      PUSH 0                        
::00451FFA:: 68 01000000                PUSH 1                        
::00451FFF:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452004:: 6A 00                      PUSH 0                        
::00452006:: 68 03000000                PUSH 3                        
::0045200B:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452010:: 6A 00                      PUSH 0                        
::00452012:: 8B45 FC                    MOV EAX,[EBP-4]               
::00452015:: 85C0                       TEST EAX,EAX                  
::00452017:: 75 05                      JNZ SHORT 0045201E            
::00452019:: B8 00924000                MOV EAX,409200                (常量)
::0045201E:: 50                         PUSH EAX                      
::0045201F:: 68 03000000                PUSH 3                        
::00452024:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::00452029:: E8 DCA50000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0045202E:: 83C4 28                    ADD ESP,28                    
::00452031:: 8945 D8                    MOV [EBP-28],EAX              //位置3取长度1
::00452034:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452039:: 6A 00                      PUSH 0                        
::0045203B:: 68 01000000                PUSH 1                        
::00452040:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452045:: 6A 00                      PUSH 0                        
::00452047:: 68 0E000000                PUSH E                        
::0045204C:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452051:: 6A 00                      PUSH 0                        
::00452053:: 8B45 FC                    MOV EAX,[EBP-4]               
::00452056:: 85C0                       TEST EAX,EAX                  
::00452058:: 75 05                      JNZ SHORT 0045205F            
::0045205A:: B8 00924000                MOV EAX,409200                (常量)
::0045205F:: 50                         PUSH EAX                      
::00452060:: 68 03000000                PUSH 3                        
::00452065:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::0045206A:: E8 9BA50000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0045206F:: 83C4 28                    ADD ESP,28                    
::00452072:: 8945 D4                    MOV [EBP-2C],EAX              //位置E取长度1
::00452075:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::0045207A:: 6A 00                      PUSH 0                        
::0045207C:: 68 01000000                PUSH 1                        
::00452081:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452086:: 6A 00                      PUSH 0                        
::00452088:: 68 1D000000                PUSH 1D                       
::0045208D:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452092:: 6A 00                      PUSH 0                        
::00452094:: 8B45 FC                    MOV EAX,[EBP-4]               
::00452097:: 85C0                       TEST EAX,EAX                  
::00452099:: 75 05                      JNZ SHORT 004520A0            
::0045209B:: B8 00924000                MOV EAX,409200                (常量)
::004520A0:: 50                         PUSH EAX                      
::004520A1:: 68 03000000                PUSH 3                        
::004520A6:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::004520AB:: E8 5AA50000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004520B0:: 83C4 28                    ADD ESP,28                    
::004520B3:: 8945 D0                    MOV [EBP-30],EAX              //位置1D取长度1
::004520B6:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004520BB:: 6A 00                      PUSH 0                        
::004520BD:: 68 01000000                PUSH 1                        
::004520C2:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004520C7:: 6A 00                      PUSH 0                        
::004520C9:: 68 41000000                PUSH 41                       
::004520CE:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004520D3:: 6A 00                      PUSH 0                        
::004520D5:: 8B45 FC                    MOV EAX,[EBP-4]               
::004520D8:: 85C0                       TEST EAX,EAX                  
::004520DA:: 75 05                      JNZ SHORT 004520E1            
::004520DC:: B8 00924000                MOV EAX,409200                (常量)
::004520E1:: 50                         PUSH EAX                      
::004520E2:: 68 03000000                PUSH 3                        
::004520E7:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::004520EC:: E8 19A50000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004520F1:: 83C4 28                    ADD ESP,28                    
::004520F4:: 8945 CC                    MOV [EBP-34],EAX              //位置41取长度1
::004520F7:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004520FC:: 6A 00                      PUSH 0                        
::004520FE:: 68 01000000                PUSH 1                        
::00452103:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452108:: 6A 00                      PUSH 0                        
::0045210A:: 68 23000000                PUSH 23                       
::0045210F:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452114:: 6A 00                      PUSH 0                        
::00452116:: 8B45 FC                    MOV EAX,[EBP-4]               
::00452119:: 85C0                       TEST EAX,EAX                  
::0045211B:: 75 05                      JNZ SHORT 00452122            
::0045211D:: B8 00924000                MOV EAX,409200                (常量)
::00452122:: 50                         PUSH EAX                      
::00452123:: 68 03000000                PUSH 3                        
::00452128:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::0045212D:: E8 D8A40000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00452132:: 83C4 28                    ADD ESP,28                    
::00452135:: 8945 C8                    MOV [EBP-38],EAX              //位置23取长度1
::00452138:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::0045213D:: 6A 00                      PUSH 0                        
::0045213F:: 68 01000000                PUSH 1                        
::00452144:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452149:: 6A 00                      PUSH 0                        
::0045214B:: 68 59000000                PUSH 59                       
::00452150:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452155:: 6A 00                      PUSH 0                        
::00452157:: 8B45 FC                    MOV EAX,[EBP-4]               
::0045215A:: 85C0                       TEST EAX,EAX                  
::0045215C:: 75 05                      JNZ SHORT 00452163            
::0045215E:: B8 00924000                MOV EAX,409200                (常量)
::00452163:: 50                         PUSH EAX                      
::00452164:: 68 03000000                PUSH 3                        
::00452169:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::0045216E:: E8 97A40000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00452173:: 83C4 28                    ADD ESP,28                    
::00452176:: 8945 C4                    MOV [EBP-3C],EAX              //位置59取长度1
::00452179:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::0045217E:: 6A 00                      PUSH 0                        
::00452180:: 68 01000000                PUSH 1                        
::00452185:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::0045218A:: 6A 00                      PUSH 0                        
::0045218C:: 68 4F000000                PUSH 4F                       
::00452191:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452196:: 6A 00                      PUSH 0                        
::00452198:: 8B45 FC                    MOV EAX,[EBP-4]               
::0045219B:: 85C0                       TEST EAX,EAX                  
::0045219D:: 75 05                      JNZ SHORT 004521A4            
::0045219F:: B8 00924000                MOV EAX,409200                (常量)
::004521A4:: 50                         PUSH EAX                      
::004521A5:: 68 03000000                PUSH 3                        
::004521AA:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::004521AF:: E8 56A40000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004521B4:: 83C4 28                    ADD ESP,28                    
::004521B7:: 8945 C0                    MOV [EBP-40],EAX              //位置4F取长度1
::004521BA:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004521BF:: 6A 00                      PUSH 0                        
::004521C1:: 68 01000000                PUSH 1                        
::004521C6:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004521CB:: 6A 00                      PUSH 0                        
::004521CD:: 68 20000000                PUSH 20                       
::004521D2:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004521D7:: 6A 00                      PUSH 0                        
::004521D9:: 8B45 FC                    MOV EAX,[EBP-4]               
::004521DC:: 85C0                       TEST EAX,EAX                  
::004521DE:: 75 05                      JNZ SHORT 004521E5            
::004521E0:: B8 00924000                MOV EAX,409200                (常量)
::004521E5:: 50                         PUSH EAX                      
::004521E6:: 68 03000000                PUSH 3                        
::004521EB:: BB 3C010000                MOV EBX,13C                   取文本中间(系统核心支持库)
::004521F0:: E8 15A40000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004521F5:: 83C4 28                    ADD ESP,28                    
::004521F8:: 8945 BC                    MOV [EBP-44],EAX              //位置20取长度1
::004521FB:: FF75 BC                    PUSH DWORD PTR [EBP-44]       
::004521FE:: FF75 C0                    PUSH DWORD PTR [EBP-40]       
::00452201:: FF75 C4                    PUSH DWORD PTR [EBP-3C]       
::00452204:: FF75 C8                    PUSH DWORD PTR [EBP-38]       
::00452207:: FF75 CC                    PUSH DWORD PTR [EBP-34]       
::0045220A:: FF75 D0                    PUSH DWORD PTR [EBP-30]       
::0045220D:: FF75 D4                    PUSH DWORD PTR [EBP-2C]       
::00452210:: FF75 D8                    PUSH DWORD PTR [EBP-28]       
::00452213:: B9 08000000                MOV ECX,8                     
::00452218:: E8 8219FFFF                CALL 00443B9F                 //连接字符串
::0045221D:: 83C4 20                    ADD ESP,20                    
::00452220:: 8945 B8                    MOV [EBP-48],EAX             //这里其实就是真正的注册码 



::004522A3:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004522A8:: 6A 00                      PUSH 0                        
::004522AA:: 8B45 B8                    MOV EAX,[EBP-48]              
::004522AD:: 85C0                       TEST EAX,EAX                  
::004522AF:: 75 05                      JNZ SHORT 004522B6            
::004522B1:: B8 00924000                MOV EAX,409200                (常量)
::004522B6:: 50                         PUSH EAX                      
::004522B7:: 68 01000000                PUSH 1                        
::004522BC:: BB 98010000                MOV EBX,198                   到字节集(系统核心支持库)
::004522C1:: E8 44A30000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004522C6:: 83C4 10                    ADD ESP,10                    
::004522C9:: 8945 B4                    MOV [EBP-4C],EAX              //转换成字符串
::004522CC:: 8B5D B8                    MOV EBX,[EBP-48]              
::004522CF:: 85DB                       TEST EBX,EBX                  
::004522D1:: 74 09                      JE SHORT 004522DC             
::004522D3:: 53                         PUSH EBX                      
::004522D4:: E8 25A30000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::004522D9:: 83C4 04                    ADD ESP,4                     
::004522DC:: 68 05000080                PUSH 80000005                 字节集(基本数据类型)
::004522E1:: 6A 00                      PUSH 0                        
::004522E3:: 8B45 B4                    MOV EAX,[EBP-4C]              
::004522E6:: 85C0                       TEST EAX,EAX                  
::004522E8:: 75 05                      JNZ SHORT 004522EF            
::004522EA:: B8 72934000                MOV EAX,409372                (常量)
::004522EF:: 50                         PUSH EAX                      
::004522F0:: 68 01000000                PUSH 1                        
::004522F5:: BB 08000000                MOV EBX,8                     取数据摘要(数据操作支持库一)
::004522FA:: B8 03000000                MOV EAX,3                     
::004522FF:: E8 1EA30000                CALL 0045C622                 调用其他支持库命令(调用2号服务)
::00452304:: 83C4 10                    ADD ESP,10                    
::00452307:: 8945 B0                    MOV [EBP-50],EAX              //取md5
::0045230A:: 8B5D B4                    MOV EBX,[EBP-4C]              
::0045230D:: 85DB                       TEST EBX,EBX                  
::0045230F:: 74 09                      JE SHORT 0045231A             
::00452311:: 53                         PUSH EBX                      
::00452312:: E8 E7A20000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00452317:: 83C4 04                    ADD ESP,4                     
::0045231A:: 8B45 B0                    MOV EAX,[EBP-50]              
::0045231D:: 50                         PUSH EAX                      
::0045231E:: FF75 DC                    PUSH DWORD PTR [EBP-24]       
::00452321:: E8 9213FFFF                CALL 004436B8                 //比较
::00452326:: 83C4 08                    ADD ESP,8                     
::00452329:: 83F8 00                    CMP EAX,0                     
::0045232C:: B8 00000000                MOV EAX,0                     
::00452331:: 0F94C0                     SETE AL                       
::00452334:: 8945 AC                    MOV [EBP-54],EAX              //保存注册是否成功的标志
::00452337:: 8B5D DC                    MOV EBX,[EBP-24]              
::0045233A:: 85DB                       TEST EBX,EBX                  
::0045233C:: 74 09                      JE SHORT 00452347             
::0045233E:: 53                         PUSH EBX                      
::0045233F:: E8 BAA20000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00452344:: 83C4 04                    ADD ESP,4                     
::00452347:: 8B5D B0                    MOV EBX,[EBP-50]              
::0045234A:: 85DB                       TEST EBX,EBX                  
::0045234C:: 74 09                      JE SHORT 00452357             
::0045234E:: 53                         PUSH EBX                      
::0045234F:: E8 AAA20000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00452354:: 83C4 04                    ADD ESP,4                     
::00452357:: 837D AC 00                 CMP DWORD PTR [EBP-54],0      
::0045235B:: 0F84 68010000              JE 004524C9                   
::00452361:: FF75 F8                    PUSH DWORD PTR [EBP-8]        
::00452364:: 68 7A934000                PUSH 40937A                   SOFTWARE\(常量)
::00452369:: B9 02000000                MOV ECX,2                     
::0045236E:: E8 2C18FFFF                CALL 00443B9F                 
::00452373:: 83C4 08                    ADD ESP,8                     
::00452376:: 8945 EC                    MOV [EBP-14],EAX              
::00452379:: 6A FF                      PUSH -1                       
::0045237B:: 6A 08                      PUSH 8                        内容(“编辑框2”的属性)
::0045237D:: 68 54080116                PUSH 16010854                 编辑框2(编辑框)
::00452382:: 68 D5070152                PUSH 520107D5                 窗体单元5(父窗体)
::00452387:: E8 8AA20000                CALL 0045C616                 取窗体对象属性(调用4号服务)
::0045238C:: 83C4 10                    ADD ESP,10                    
::0045238F:: 8945 E8                    MOV [EBP-18],EAX              
::00452392:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452397:: 6A 00                      PUSH 0                        
::00452399:: 8B45 E8                    MOV EAX,[EBP-18]              
::0045239C:: 85C0                       TEST EAX,EAX                  
::0045239E:: 75 05                      JNZ SHORT 004523A5            
::004523A0:: B8 00924000                MOV EAX,409200                (常量)
::004523A5:: 50                         PUSH EAX                      
::004523A6:: 68 01000000                PUSH 1                        
::004523AB:: BB 50010000                MOV EBX,150                   到大写(系统核心支持库)
::004523B0:: E8 55A20000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004523B5:: 83C4 10                    ADD ESP,10                    
::004523B8:: 8945 E4                    MOV [EBP-1C],EAX              
::004523BB:: 8B5D E8                    MOV EBX,[EBP-18]              
::004523BE:: 85DB                       TEST EBX,EBX                  
::004523C0:: 74 09                      JE SHORT 004523CB             
::004523C2:: 53                         PUSH EBX                      
::004523C3:: E8 36A20000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::004523C8:: 83C4 04                    ADD ESP,4                     
::004523CB:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004523D0:: 6A 00                      PUSH 0                        
::004523D2:: 8B45 E4                    MOV EAX,[EBP-1C]              
::004523D5:: 85C0                       TEST EAX,EAX                  
::004523D7:: 75 05                      JNZ SHORT 004523DE            
::004523D9:: B8 00924000                MOV EAX,409200                (常量)
::004523DE:: 50                         PUSH EAX                      
::004523DF:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004523E4:: 6A 00                      PUSH 0                        
::004523E6:: 8B45 EC                    MOV EAX,[EBP-14]              
::004523E9:: 85C0                       TEST EAX,EAX                  
::004523EB:: 75 05                      JNZ SHORT 004523F2            
::004523ED:: B8 00924000                MOV EAX,409200                (常量)
::004523F2:: 50                         PUSH EAX                      
::004523F3:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004523F8:: 6A 00                      PUSH 0                        
::004523FA:: 68 03000000                PUSH 3                        
::004523FF:: 68 03000000                PUSH 3                        
::00452404:: BB A4060000                MOV EBX,6A4                   写注册项(系统核心支持库)
::00452409:: E8 FCA10000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0045240E:: 83C4 28                    ADD ESP,28                    
::00452411:: 8945 E0                    MOV [EBP-20],EAX              
::00452414:: 8B5D EC                    MOV EBX,[EBP-14]              
::00452417:: 85DB                       TEST EBX,EBX                  
::00452419:: 74 09                      JE SHORT 00452424             
::0045241B:: 53                         PUSH EBX                      
::0045241C:: E8 DDA10000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00452421:: 83C4 04                    ADD ESP,4                     
::00452424:: 8B5D E4                    MOV EBX,[EBP-1C]              
::00452427:: 85DB                       TEST EBX,EBX                  
::00452429:: 74 09                      JE SHORT 00452434             
::0045242B:: 53                         PUSH EBX                      
::0045242C:: E8 CDA10000                CALL 0045C5FE                 销毁从堆上分配到的内存(调用8号服务)
::00452431:: 83C4 04                    ADD ESP,4                     
::00452434:: 837D E0 00                 CMP DWORD PTR [EBP-20],0      
::00452438:: 0F84 56000000              JE 00452494                   
::0045243E:: 6A 00                      PUSH 0                        
::00452440:: 6A 00                      PUSH 0                        
::00452442:: 6A 00                      PUSH 0                        
::00452444:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::00452449:: 6A 00                      PUSH 0                        
::0045244B:: 68 00000000                PUSH 0                        
::00452450:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::00452455:: 6A 00                      PUSH 0                        
::00452457:: 68 E5454100                PUSH 4145E5                   注册成功,欢迎使用!!!(常量)
::0045245C:: 68 03000000                PUSH 3                        
::00452461:: BB 00030000                MOV EBX,300                   信息框(系统核心支持库)
::00452466:: E8 9FA10000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0045246B:: 83C4 28                    ADD ESP,28                    
::0045246E:: 68 01000100                PUSH 10001                    
::00452473:: 68 42080106                PUSH 6010842                  窗口5(窗口)
::00452478:: 68 D5070152                PUSH 520107D5                 窗体单元5(父窗体)
::0045247D:: 68 01000000                PUSH 1                        
::00452482:: BB 60030000                MOV EBX,360                   销毁(系统核心支持库)
::00452487:: E8 7EA10000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::0045248C:: 83C4 10                    ADD ESP,10                    
::0045248F:: E9 30000000                JMP 004524C4                  
::00452494:: 6A 00                      PUSH 0                        
::00452496:: 6A 00                      PUSH 0                        
::00452498:: 6A 00                      PUSH 0                        
::0045249A:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::0045249F:: 6A 00                      PUSH 0                        
::004524A1:: 68 00000000                PUSH 0                        
::004524A6:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004524AB:: 6A 00                      PUSH 0                        
::004524AD:: 68 FB454100                PUSH 4145FB                   未注册成功,写入注册表失败!(常量)
::004524B2:: 68 03000000                PUSH 3                        
::004524B7:: BB 00030000                MOV EBX,300                   信息框(系统核心支持库)
::004524BC:: E8 49A10000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004524C1:: 83C4 28                    ADD ESP,28                    
::004524C4:: E9 51000000                JMP 0045251A                  
::004524C9:: 6A 00                      PUSH 0                        
::004524CB:: 6A 00                      PUSH 0                        
::004524CD:: 6A 00                      PUSH 0                        
::004524CF:: 68 01030080                PUSH 80000301                 整数型(基本数据类型)
::004524D4:: 6A 00                      PUSH 0                        
::004524D6:: 68 00000000                PUSH 0                        
::004524DB:: 68 04000080                PUSH 80000004                 文本型(基本数据类型)
::004524E0:: 6A 00                      PUSH 0                        
::004524E2:: 68 17464100                PUSH 414617                   注册码错误(常量)
::004524E7:: 68 03000000                PUSH 3                        
::004524EC:: BB 00030000                MOV EBX,300                   信息框(系统核心支持库)
::004524F1:: E8 14A10000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::004524F6:: 83C4 28                    ADD ESP,28                    
::004524F9:: 68 01000100                PUSH 10001                    
::004524FE:: 68 42080106                PUSH 6010842                  窗口5(窗口)
::00452503:: 68 D5070152                PUSH 520107D5                 窗体单元5(父窗体)
::00452508:: 68 01000000                PUSH 1                        
::0045250D:: BB 60030000                MOV EBX,360                   销毁(系统核心支持库)
::00452512:: E8 F3A00000                CALL 0045C60A                 调用核心支持库命令(调用3号服务)
::00452517:: 83C4 10                    ADD ESP,10                    
===============================================================
【总结】验证过程不算很复杂:首先硬盘特征字,前面加一个X,后面加一个M,然后对这个字符串数字签名,然后从其中取8个字符连接起来形成注册码。
        真假注册码的比较是通过他们的md5值来比较的。其实反正都是明文,直接比较也就是了^_^。
        学过易语言的做注册机很简单,做内存注册机也是可以的。我不懂易语言,就不说什么了(汗)。
        
        
【全文完】forever 2005-09-27