【破文标题】lansee 1.59算法分析
【破文作者】无幻刹那
【作者性别】男
【作者邮箱】lovecy616927@yahoo.com.cn
【软件名称】LanSee) V1.59
【下载地址】http://www.shareware.cn/pub/1070.html
【破解工具】od
【保护方式】注册码保护方式
【破解难度】简单
----------------------------------------------------
软件介绍:
    一个局域网查看得工具,扫描共享的
----------------------------------------------------
破解声名:初学Crack,只是感兴趣,消遣业余时间,错误之处敬请诸位前辈不吝赐教
----------------------------------------------------
【破解分析】
    

软件没加壳,用delphi编写,就直接用od载入查找超级字串参考+文本字串=”您输入的注册名或注册码无效,请重新输入!“双击来到下面,

并下断如下面,运行软件的注册,注册名随便输入,注册码:a1349697a112 (是真码),
程序就断在了下面,第一次写算法分析,有点紧张~




00491BE0  /.  55            PUSH EBP     //这里下断                          ;  (初始 cpu 选择)
00491BE1  |.  8BEC          MOV EBP,ESP
00491BE3  |.  6A 00         PUSH 0
00491BE5  |.  6A 00         PUSH 0
00491BE7  |.  53            PUSH EBX
00491BE8  |.  56            PUSH ESI
00491BE9  |.  8BF0          MOV ESI,EAX
00491BEB  |.  33C0          XOR EAX,EAX
00491BED  |.  55            PUSH EBP
00491BEE  |.  68 C51C4900   PUSH 局域网查.00491CC5
00491BF3  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
00491BF6  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
00491BF9  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
00491BFC  |.  8B86 FC020000 MOV EAX,DWORD PTR DS:[ESI+2FC]
00491C02  |.  E8 C11BFBFF   CALL 局域网查.004437C8                       ;  取注册假码,送入eax
00491C07  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00491C0A  |.  E8 69FFFFFF   CALL 局域网查.00491B78                       ;  关键call,f7跟进,里面就是算法
00491C0F  |.  84C0          TEST AL,AL                               ;  al取0则跳到注册失败,返回1则注册成功
00491C11  |.  0F84 89000000 JE 局域网查.00491CA0                         ;  爆破点,
00491C17  |.  B2 01         MOV DL,1
00491C19  |.  A1 B4F34600   MOV EAX,DWORD PTR DS:[46F3B4]
00491C1E  |.  E8 91D8FDFF   CALL 局域网查.0046F4B4
00491C23  |.  8BD8          MOV EBX,EAX
00491C25  |.  BA 02000080   MOV EDX,80000002
00491C2A  |.  8BC3          MOV EAX,EBX
00491C2C  |.  E8 23D9FDFF   CALL 局域网查.0046F554
00491C31  |.  B1 01         MOV CL,1
00491C33  |.  BA DC1C4900   MOV EDX,局域网查.00491CDC                    ;  software\lansee
00491C38  |.  8BC3          MOV EAX,EBX
00491C3A  |.  E8 79D9FDFF   CALL 局域网查.0046F5B8
00491C3F  |.  84C0          TEST AL,AL
00491C41  |.  74 1D         JE SHORT 局域网查.00491C60
00491C43  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
00491C46  |.  8B86 FC020000 MOV EAX,DWORD PTR DS:[ESI+2FC]
00491C4C  |.  E8 771BFBFF   CALL 局域网查.004437C8
00491C51  |.  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]
00491C54  |.  BA F41C4900   MOV EDX,局域网查.00491CF4                    ;  serial
00491C59  |.  8BC3          MOV EAX,EBX
00491C5B  |.  E8 F4DAFDFF   CALL 局域网查.0046F754
00491C60  |>  8BC3          MOV EAX,EBX
00491C62  |.  E8 BDD8FDFF   CALL 局域网查.0046F524
00491C67  |.  8BC3          MOV EAX,EBX
00491C69  |.  E8 C61AF7FF   CALL 局域网查.00403734
00491C6E  |.  A1 94124A00   MOV EAX,DWORD PTR DS:[4A1294]
00491C73  |.  C600 01       MOV BYTE PTR DS:[EAX],1
00491C76  |.  A1 DC154A00   MOV EAX,DWORD PTR DS:[4A15DC]
00491C7B  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
00491C7D  |.  8B80 24040000 MOV EAX,DWORD PTR DS:[EAX+424]
00491C83  |.  BA 10000000   MOV EDX,10
00491C88  |.  E8 AFA1FFFF   CALL 局域网查.0048BE3C
00491C8D  |.  B8 041D4900   MOV EAX,局域网查.00491D04                    ;  谢谢您的注册!
00491C92  |.  E8 F9B2FAFF   CALL 局域网查.0043CF90
00491C97  |.  8BC6          MOV EAX,ESI
00491C99  |.  E8 DAE4FCFF   CALL 局域网查.00460178
00491C9E  |.  EB 0A         JMP SHORT 局域网查.00491CAA
00491CA0  |>  B8 1C1D4900   MOV EAX,局域网查.00491D1C                    ;  您输入的注册名或注册码无效,请重新输入!;来到这

里,
00491CA5  |.  E8 E6B2FAFF   CALL 局域网查.0043CF90
00491CAA  |>  33C0          XOR EAX,EAX
00491CAC  |.  5A            POP EDX
00491CAD  |.  59            POP ECX
00491CAE  |.  59            POP ECX
00491CAF  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
00491CB2  |.  68 CC1C4900   PUSH 局域网查.00491CCC
00491CB7  |>  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
00491CBA  |.  BA 02000000   MOV EDX,2
00491CBF  |.  E8 8428F7FF   CALL 局域网查.00404548
00491CC4  \.  C3            RETN
==========================================================
上面跟进来到
00491B78  /$  55            PUSH EBP
00491B79  |.  8BEC          MOV EBP,ESP
00491B7B  |.  51            PUSH ECX
00491B7C  |.  53            PUSH EBX
00491B7D  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00491B80  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00491B83  |.  E8 3C2EF7FF   CALL 局域网查.004049C4
00491B88  |.  33C0          XOR EAX,EAX
00491B8A  |.  55            PUSH EBP
00491B8B  |.  68 C91B4900   PUSH 局域网查.00491BC9
00491B90  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
00491B93  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
00491B96  |.  33DB          XOR EBX,EBX
00491B98  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00491B9B  |.  E8 3C2CF7FF   CALL 局域网查.004047DC                       ;  取注册码的位数
00491BA0  |.  83F8 0A       CMP EAX,0A                               ;  如果小于10位,则挂,根据后面的算法,应该为12位
00491BA3  |.  7C 0E         JL SHORT 局域网查.00491BB3
00491BA5  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  我们输入的假注册码送入eax
00491BA8  |.  E8 F7FCFFFF   CALL 局域网查.004918A4                       ;  算法,f7跟进
00491BAD  |.  84C0          TEST AL,AL                               ;  al返回0则失败,1成功
00491BAF  |.  74 02         JE SHORT 局域网查.00491BB3
00491BB1  |.  B3 01         MOV BL,1
00491BB3  |>  33C0          XOR EAX,EAX
00491BB5  |.  5A            POP EDX
00491BB6  |.  59            POP ECX
00491BB7  |.  59            POP ECX
00491BB8  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
00491BBB  |.  68 D01B4900   PUSH 局域网查.00491BD0
00491BC0  |>  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
00491BC3  |.  E8 5C29F7FF   CALL 局域网查.00404524
00491BC8  \.  C3            RETN
00491BC9   .^ E9 FA22F7FF   JMP 局域网查.00403EC8
00491BCE   .^ EB F0         JMP SHORT 局域网查.00491BC0
00491BD0   .  8BC3          MOV EAX,EBX
00491BD2   .  5B            POP EBX
00491BD3   .  59            POP ECX
00491BD4   .  5D            POP EBP
===============================================
上面跟进来到~

004918A4  /$  55            PUSH EBP
004918A5  |.  8BEC          MOV EBP,ESP
004918A7  |.  83C4 BC       ADD ESP,-44
004918AA  |.  53            PUSH EBX
004918AB  |.  56            PUSH ESI
004918AC  |.  33D2          XOR EDX,EDX                              ;  edx清零
004918AE  |.  8955 BC       MOV DWORD PTR SS:[EBP-44],EDX            ;  分配空间,以下同理
004918B1  |.  8955 C0       MOV DWORD PTR SS:[EBP-40],EDX
004918B4  |.  8955 C4       MOV DWORD PTR SS:[EBP-3C],EDX
004918B7  |.  8955 C8       MOV DWORD PTR SS:[EBP-38],EDX
004918BA  |.  8955 F0       MOV DWORD PTR SS:[EBP-10],EDX
004918BD  |.  8955 EC       MOV DWORD PTR SS:[EBP-14],EDX
004918C0  |.  8955 F8       MOV DWORD PTR SS:[EBP-8],EDX
004918C3  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
004918C6  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
004918C9  |.  E8 F630F7FF   CALL 局域网查.004049C4
004918CE  |.  33C0          XOR EAX,EAX
004918D0  |.  55            PUSH EBP
004918D1  |.  68 571B4900   PUSH 局域网查.00491B57
004918D6  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
004918D9  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
004918DC  |.  33DB          XOR EBX,EBX
004918DE  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
004918E1  |.  E8 F62EF7FF   CALL 局域网查.004047DC
004918E6  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
004918E9  |.  E8 5E74F7FF   CALL 局域网查.00408D4C
004918EE  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
004918F1  |.  50            PUSH EAX
004918F2  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
004918F5  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
004918F8  |.  8A52 01       MOV DL,BYTE PTR DS:[EDX+1]
004918FB  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
004918FE  |.  C600 01       MOV BYTE PTR DS:[EAX],1                  ;  取 我们输入的假注册码的数
00491901  |.  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
00491904  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
00491907  |.  E8 C815F7FF   CALL 局域网查.00402ED4
0049190C  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
0049190F  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00491912  |.  8A52 04       MOV DL,BYTE PTR DS:[EDX+4]
00491915  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
00491918  |.  C600 01       MOV BYTE PTR DS:[EAX],1
0049191B  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
0049191E  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
00491921  |.  B1 02         MOV CL,2                                 ;  取第2个数
00491923  |.  E8 7C15F7FF   CALL 局域网查.00402EA4
00491928  |.  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
0049192B  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
0049192E  |.  E8 A115F7FF   CALL 局域网查.00402ED4
00491933  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
00491936  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00491939  |.  8A52 06       MOV DL,BYTE PTR DS:[EDX+6]
0049193C  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
0049193F  |.  C600 01       MOV BYTE PTR DS:[EAX],1
00491942  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
00491945  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
00491948  |.  B1 03         MOV CL,3                                 ;  取第3个数
0049194A  |.  E8 5515F7FF   CALL 局域网查.00402EA4
0049194F  |.  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
00491952  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
00491955  |.  E8 7A15F7FF   CALL 局域网查.00402ED4
0049195A  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
0049195D  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00491960  |.  8A52 07       MOV DL,BYTE PTR DS:[EDX+7]
00491963  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
00491966  |.  C600 01       MOV BYTE PTR DS:[EAX],1
00491969  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
0049196C  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
0049196F  |.  B1 04         MOV CL,4
00491971  |.  E8 2E15F7FF   CALL 局域网查.00402EA4
00491976  |.  8D55 D4       LEA EDX,DWORD PTR SS:[EBP-2C]
00491979  |.  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
0049197C  |.  E8 5315F7FF   CALL 局域网查.00402ED4
00491981  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
00491984  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00491987  |.  8A52 09       MOV DL,BYTE PTR DS:[EDX+9]
0049198A  |.  8850 01       MOV BYTE PTR DS:[EAX+1],DL
0049198D  |.  C600 01       MOV BYTE PTR DS:[EAX],1
00491990  |.  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
00491993  |.  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
00491996  |.  B1 05         MOV CL,5
00491998  |.  E8 0715F7FF   CALL 局域网查.00402EA4
0049199D  |.  8D55 CC       LEA EDX,DWORD PTR SS:[EBP-34]
004919A0  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
004919A3  |.  E8 D82DF7FF   CALL 局域网查.00404780
004919A8  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]            ;  我们输入的注册码是a1349697a112
004919AB  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]             ;  一共取了5位数19971,取得是第2,5,7,8,10位
004919AE  |.  59            POP ECX                                  ;  ecx即我们输入注册码的为数12
004919AF  |.  E8 742EF7FF   CALL 局域网查.00404828
004919B4  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  把取得数和注册码的位数合成一个数1997112
004919B7  |.  0FB600        MOVZX EAX,BYTE PTR DS:[EAX]              ;  取合成的数的第一位即1,asci为31
004919BA  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
004919BD  |.  0FB652 01     MOVZX EDX,BYTE PTR DS:[EDX+1]            ;  取 合成的数的第2位即9,asci为39
004919C1  |.  03C2          ADD EAX,EDX                              ;  2个数相加等于6a
004919C3  |.  B9 05000000   MOV ECX,5                                ;  给ecx赋值ecx=5
004919C8  |.  99            CDQ                                      ;  edx清零
004919C9  |.  F7F9          IDIV ECX                                 ;  6a即106除ecx=5商在eax余数在edx即106/5余数为edx=1
004919CB  |.  80C2 61       ADD DL,61                                ;  即61+1=62,asci=b我们得到数b
004919CE  |.  8855 F4       MOV BYTE PTR SS:[EBP-C],DL
004919D1  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
004919D4  |.  33C9          XOR ECX,ECX
004919D6  |.  8A48 02       MOV CL,BYTE PTR DS:[EAX+2]
004919D9  |.  8BC1          MOV EAX,ECX
004919DB  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
004919DE  |.  0FB652 03     MOVZX EDX,BYTE PTR DS:[EDX+3]
004919E2  |.  03C2          ADD EAX,EDX
004919E4  |.  BE 05000000   MOV ESI,5
004919E9  |.  99            CDQ
004919EA  |.  F7FE          IDIV ESI
004919EC  |.  80C2 61       ADD DL,61
004919EF  |.  8855 F5       MOV BYTE PTR SS:[EBP-B],DL               ;  这里和上面一样,得到数c
004919F2  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
004919F5  |.  0FB640 04     MOVZX EAX,BYTE PTR DS:[EAX+4]
004919F9  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
004919FC  |.  0FB652 05     MOVZX EDX,BYTE PTR DS:[EDX+5]
00491A00  |.  03C2          ADD EAX,EDX
00491A02  |.  BE 05000000   MOV ESI,5
00491A07  |.  99            CDQ
00491A08  |.  F7FE          IDIV ESI
00491A0A  |.  80C2 61       ADD DL,61
00491A0D  |.  8855 F6       MOV BYTE PTR SS:[EBP-A],DL               ;  同理
00491A10  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
00491A13  |.  0FB640 06     MOVZX EAX,BYTE PTR DS:[EAX+6]
00491A17  |.  03C1          ADD EAX,ECX
00491A19  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
00491A1C  |.  0FB652 01     MOVZX EDX,BYTE PTR DS:[EDX+1]
00491A20  |.  03C2          ADD EAX,EDX
00491A22  |.  B9 05000000   MOV ECX,5
00491A27  |.  99            CDQ
00491A28  |.  F7F9          IDIV ECX
00491A2A  |.  80C2 61       ADD DL,61
00491A2D  |.  8855 F7       MOV BYTE PTR SS:[EBP-9],DL               ;  同理
00491A30  |.  8D45 C8       LEA EAX,DWORD PTR SS:[EBP-38]
00491A33  |.  8A55 F4       MOV DL,BYTE PTR SS:[EBP-C]
00491A36  |.  E8 C92CF7FF   CALL 局域网查.00404704
00491A3B  |.  8B45 C8       MOV EAX,DWORD PTR SS:[EBP-38]
00491A3E  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
00491A41  |.  B9 01000000   MOV ECX,1
00491A46  |.  E8 7130F7FF   CALL 局域网查.00404ABC
00491A4B  |.  8D45 C4       LEA EAX,DWORD PTR SS:[EBP-3C]            ;  edx=d2578010
00491A4E  |.  8A55 F7       MOV DL,BYTE PTR SS:[EBP-9]               ;  dl=74即t
00491A51  |.  E8 AE2CF7FF   CALL 局域网查.00404704
00491A56  |.  8B45 C4       MOV EAX,DWORD PTR SS:[EBP-3C]
00491A59  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
00491A5C  |.  B9 03000000   MOV ECX,3
00491A61  |.  E8 5630F7FF   CALL 局域网查.00404ABC
00491A66  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  取我们输入的注册码到
00491A69  |.  0FB600        MOVZX EAX,BYTE PTR DS:[EAX]              ;  取输入的注册码第 一位,我输入的是a
00491A6C  |.  B9 3B000000   MOV ECX,3B                               ;  给ecx赋值=3b
00491A71  |.  33D2          XOR EDX,EDX                              ;  edx清零
00491A73  |.  F7F1          DIV ECX                                  ;  除ecx=3b商在eax余数在edx
00491A75  |.  83FA 2E       CMP EDX,2E                               ;  余数和2e比较
00491A78  |.  0F87 A4000000 JA 局域网查.00491B22                         ;  无符号数的比较,大于2e就挂
00491A7E  |.  8D45 C0       LEA EAX,DWORD PTR SS:[EBP-40]
00491A81  |.  8A55 F5       MOV DL,BYTE PTR SS:[EBP-B]
00491A84  |.  E8 7B2CF7FF   CALL 局域网查.00404704
00491A89  |.  8B45 C0       MOV EAX,DWORD PTR SS:[EBP-40]
00491A8C  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
00491A8F  |.  B9 05000000   MOV ECX,5
00491A94  |.  E8 2330F7FF   CALL 局域网查.00404ABC
00491A99  |.  8D45 BC       LEA EAX,DWORD PTR SS:[EBP-44]
00491A9C  |.  8A55 F6       MOV DL,BYTE PTR SS:[EBP-A]
00491A9F  |.  E8 602CF7FF   CALL 局域网查.00404704
00491AA4  |.  8B45 BC       MOV EAX,DWORD PTR SS:[EBP-44]
00491AA7  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
00491AAA  |.  B9 09000000   MOV ECX,9
00491AAF  |.  E8 0830F7FF   CALL 局域网查.00404ABC                       ;  把取得数和生成的数组成b1e19d98112
00491AB4  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
00491AB7  |.  B9 01000000   MOV ECX,1
00491ABC  |.  BA 09000000   MOV EDX,9
00491AC1  |.  E8 AE2FF7FF   CALL 局域网查.00404A74                       ;  去掉第8位,顺序是从0开始的
00491AC6  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
00491AC9  |.  B9 01000000   MOV ECX,1
00491ACE  |.  BA 07000000   MOV EDX,7
00491AD3  |.  E8 9C2FF7FF   CALL 局域网查.00404A74                       ;  去掉第6
00491AD8  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  eax=b1e9d9112
00491ADB  |.  0FB640 08     MOVZX EAX,BYTE PTR DS:[EAX+8]            ;  取注册码的第9位的asic
00491ADF  |.  B9 3D000000   MOV ECX,3D                               ;  给赋值ecx=3d
00491AE4  |.  33D2          XOR EDX,EDX                              ;  edx清零
00491AE6  |.  F7F1          DIV ECX                                  ;  eax除ecx商在eax,余数在edx
00491AE8  |.  83FA 2A       CMP EDX,2A                               ;  用余数跟2a比较,如果大于2a则跳走,即失败
00491AEB  |.  77 35         JA SHORT 局域网查.00491B22
00491AED  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
00491AF0  |.  B9 01000000   MOV ECX,1
00491AF5  |.  BA 02000000   MOV EDX,2
00491AFA  |.  E8 752FF7FF   CALL 局域网查.00404A74                       ;  eax=b1e9d9112去掉第一位
00491AFF  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]             ;  be9d9112
00491B02  |.  B9 01000000   MOV ECX,1
00491B07  |.  BA 06000000   MOV EDX,6
00491B0C  |.  E8 632FF7FF   CALL 局域网查.00404A74                       ;  去掉第5位
00491B11  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  得到一个数be9d912根一个定值be9c912相比较
00491B14  |.  BA 701B4900   MOV EDX,局域网查.00491B70                    ;  be9c912
00491B19  |.  E8 022EF7FF   CALL 局域网查.00404920                       ;  相比较,相等则注册成功
00491B1E      75 02         JNZ SHORT 局域网查.00491B22
00491B20  |.  B3 01         MOV BL,1
00491B22  |>  33C0          XOR EAX,EAX
00491B24  |.  5A            POP EDX
00491B25  |.  59            POP ECX
00491B26  |.  59            POP ECX
00491B27  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
00491B2A  |.  68 5E1B4900   PUSH 局域网查.00491B5E
00491B2F  |>  8D45 BC       LEA EAX,DWORD PTR SS:[EBP-44]
00491B32  |.  BA 04000000   MOV EDX,4
00491B37  |.  E8 0C2AF7FF   CALL 局域网查.00404548
00491B3C  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
00491B3F  |.  BA 02000000   MOV EDX,2
00491B44  |.  E8 FF29F7FF   CALL 局域网查.00404548
00491B49  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
00491B4C  |.  BA 02000000   MOV EDX,2
00491B51  |.  E8 F229F7FF   CALL 局域网查.00404548
00491B56  \.  C3            RETN
00491B57   .^ E9 6C23F7FF   JMP 局域网查.00403EC8
00491B5C   .^ EB D1         JMP SHORT 局域网查.00491B2F
00491B5E   .  8BC3          MOV EAX,EBX
00491B60   .  5E            POP ESI
00491B61   .  5B            POP EBX
00491B62   .  8BE5          MOV ESP,EBP
00491B64   .  5D            POP EBP
00491B65   .  C3            RETN





----------------------------------------------------
【总结】
      lansee 1.59 他的注册与用户名无关,注册码的位数必须为12,需要注意的是注册码的第一位的asci码跟3b(16进制)的余数必须比2e

小和第9位的asc与3d的余数比2a小,注册算法大致如下:
取注册码的2,5,7,8,10位,分别两两相邻2位相加除5余数加61得到一个数,这个数就是一个字母的asic码,只要2跟5得到b,7跟8得到c,8

根10得到e就可以,了~,5根7位必须为9满足上述条件就可以,如下顺序合并
我的为a1349697a112  生成的为b1e9c97112 去掉2,6,7位,最后得到数如果为be9c912就注册成功,