飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 13461|回复: 36

[原创] WINNC注册算法分析实录

[复制链接]
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2014-2-14 18:30:48 | 显示全部楼层 |阅读模式
    本帖最后由 GGLHY 于 2014-2-15 13:12 编辑

                                                                             WINNC注册算法分析实录

    winnc,一款独具特色的文件管理类软件。

    先放界面截图一张:
    界面截图.PNG

    有兴趣的童靴可以移步其官网:www.winnc.com

    又是一个实时验证的。 I.PNG 呵呵。



    闲话少叙,咱直奔主题:




                                                                                                     一、莽苍踏雪寻

    寒风萧萧、飞雪飘零,长路漫漫,踏歌而行:
    1. 00C9EE4E  |.  8B83 AC030000 MOV EAX,DWORD PTR DS:[EBX+3AC]
    2. 00C9EE54  |.  E8 CB8881FF   CALL WinNc.004B7724
    3. 00C9EE59  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]       ;  取用户名(UNICODE "gglhy")
    4. 00C9EE5C  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
    5. 00C9EE5F  |.  E8 285E78FF   CALL WinNc.00424C8C
    6. 00C9EE64  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
    7. 00C9EE67  |.  8B83 B4030000 MOV EAX,DWORD PTR DS:[EBX+3B4]
    8. 00C9EE6D  |.  E8 B28881FF   CALL WinNc.004B7724
    9. 00C9EE72  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]       ;  取输入的假码(UNICODE "1598753046")
    10. 00C9EE75  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    11. 00C9EE78  |.  E8 0F5E78FF   CALL WinNc.00424C8C
    12. 00C9EE7D  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    13. 00C9EE80  |.  85C0          TEST EAX,EAX
    14. 00C9EE82  |.  74 05         JE SHORT WinNc.00C9EE89
    15. 00C9EE84  |.  83E8 04       SUB EAX,4
    16. 00C9EE87  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]          ;  用户名长度,本例为5
    17. 00C9EE89  |>  83F8 04       CMP EAX,4                           ;  用户名长度不得小于4!
    18. 00C9EE8C  |.  7D 3C         JGE SHORT WinNc.00C9EECA
    19. 00C9EE8E  |.  BA 50F0C900   MOV EDX,WinNc.00C9F050              ;  UNICODE "Please enter a valid registration name"
    20. 00C9EE93  |.  8B83 D4030000 MOV EAX,DWORD PTR DS:[EBX+3D4]
    21. (省略部分代码)
    22. 00C9EF04  |>  E8 9B85CAFF   CALL WinNc.009474A4
    23. 00C9EF09  |.  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]        ;  输入的假码(UNICODE "1598753046")
    24. 00C9EF0C  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]        ;  用户名(UNICODE "gglhy")
    25. 00C9EF0F  |.  E8 588BCAFF   CALL WinNc.00947A6C                 ;  莽苍踏雪寻
    26. 00C9EF14  |.  84C0          TEST AL,AL                          ;  玉壁月华明
    27. 00C9EF16  |.  75 14         JNZ SHORT WinNc.00C9EF2C            ;  谁家子弟谁家院?无计悔多情!
    28. 00C9EF18  |.  E8 8785CAFF   CALL WinNc.009474A4
    29. 00C9EF1D  |.  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]
    30. 00C9EF20  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
    31. 00C9EF23  |.  E8 448BCAFF   CALL WinNc.00947A6C
    32. 00C9EF28  |.  84C0          TEST AL,AL
    33. 00C9EF2A  |.  74 72         JE SHORT WinNc.00C9EF9E
    34. 00C9EF2C  |>  33D2          XOR EDX,EDX
    35. 00C9EF2E  |.  8B83 D0030000 MOV EAX,DWORD PTR DS:[EBX+3D0]
    36. (省略部分代码)
    37. 00C9EF97  |.  E8 2C117FFF   CALL WinNc.004900C8
    38. 00C9EF9C  |.  EB 70         JMP SHORT WinNc.00C9F00E
    39. 00C9EF9E  |>  BA ACF0C900   MOV EDX,WinNc.00C9F0AC              ;  UNICODE "Please enter a valid key"
    40. 00C9EFA3  |.  8B83 D0030000 MOV EAX,DWORD PTR DS:[EBX+3D0]
    41. 00C9EFA9  |.  E8 D28781FF   CALL WinNc.004B7780
    复制代码
    哎~~
    1. 00C9EF09  |.  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]        ;  输入的假码(UNICODE "1598753046")
    2. 00C9EF0C  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]        ;  用户名(UNICODE "gglhy")
    3. 00C9EF0F  |.  E8 588BCAFF   CALL WinNc.00947A6C                 ;  莽苍踏雪寻
    4. 00C9EF14  |.  84C0          TEST AL,AL                          ;  玉壁月华明
    5. 00C9EF16  |.  75 14         JNZ SHORT WinNc.00C9EF2C            ;  谁家子弟谁家院?无计悔多情!
    复制代码

    枯井底、污泥处 念枉求美眷良缘安在?元芳你怎么看?


                                                                                         二、  青衫磊落险峰行

    好吧,莽苍踏雪寻!让我们轻踏“凌波微步”,到00C9EF0F CALL WinNc.00947A6C处

    F7进入:
    1. 00947A6C  /[        DISCUZ_CODE_67        ]nbsp; 55            PUSH EBP
    2. (省略部分代码)
    3. 00947A9C  |.  33DB          XOR EBX,EBX
    4. 00947A9E  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]        ;  用户名(UNICODE "gglhy")
    5. 00947AA1  |.  85C0          TEST EAX,EAX
    6. 00947AA3  |.  74 05         JE SHORT WinNc.00947AAA
    7. 00947AA5  |.  83E8 04       SUB EAX,4
    8. 00947AA8  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]          ;  用户名长度,本例为5
    9. 00947AAA  |>  85C0          TEST EAX,EAX
    10. 00947AAC  |.  74 1A         JE SHORT WinNc.00947AC8
    11. 00947AAE  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
    12. 00947AB1  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]        ;  用户名(UNICODE "gglhy")
    13. 00947AB4  |.  E8 5FFFFFFF   CALL WinNc.00947A18                 ;  为谁开?茶花满路~
    14. 00947AB9  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]        ;  千万里,我追寻着你~
    15. 00947ABC  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]        ;  输入的假码("1598753046")
    16. 00947ABF  |.  E8 8026ACFF   CALL WinNc.0040A144   
    17. 00947AC4  |.  75 02         JNZ SHORT WinNc.00947AC8            ;  风骤紧,缥缈峰头云乱
    18. 00947AC6  |.  B3 01         MOV BL,1                            ;  却试问,几时把痴心?
    19. 00947AC8  |>  33C0          XOR EAX,EAX
    20. 00947ACA  |.  5A            POP EDX
    21. 00947ACB  |.  59            POP ECX
    22. 00947ACC  |.  59            POP ECX
    23. 00947ACD  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    24. 00947AD0  |.  68 EA7A9400   PUSH WinNc.00947AEA
    25. 00947AD5  |>  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    26. 00947AD8  |.  BA 03000000   MOV EDX,3
    27. 00947ADD  |.  E8 E211ACFF   CALL WinNc.00408CC4
    28. 00947AE2  \.  C3            RETN
    复制代码

    显然,爆破的地方很明显~~,这也不是本文的目的。

    2.PNG

    昔时因、今日意、且自逍遥没谁管,输赢成败又争由人算?



                                                                                                                   三、杏子林中 商略平生义
    看完第二部分我们很容易得出一个结论,那就是:
    00947AB4处CALL WinNc.00947A18这里是我们必须进去的:
    F7后:
    1. 00947A18  /[        DISCUZ_CODE_68        ]nbsp; 55            PUSH EBP
    2. 00947A19  |.  8BEC          MOV EBP,ESP
    3. 00947A1B  |.  51            PUSH ECX
    4. 00947A1C  |.  53            PUSH EBX
    5. 00947A1D  |.  8BDA          MOV EBX,EDX
    6. 00947A1F  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    7. 00947A22  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]        ;  用户名(UNICODE "gglhy")
    8. 00947A25  |.  E8 1E13ACFF   CALL WinNc.00408D48
    9. 00947A2A  |.  33C0          XOR EAX,EAX
    10. 00947A2C  |.  55            PUSH EBP
    11. 00947A2D  |.  68 617A9400   PUSH WinNc.00947A61
    12. 00947A32  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    13. 00947A35  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    14. 00947A38  |.  53            PUSH EBX
    15. 00947A39  |.  BA B899E700   MOV EDX,WinNc.00E799B8
    16. 00947A3E  |.  B9 0B000000   MOV ECX,0B                          ;  记住这个0B吧!
    17. 00947A43  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    18. 00947A46  |.  E8 39FEFFFF   CALL WinNc.00947884                 ;  赤手屠熊博虎~,金戈荡寇鏖兵!
    19. 00947A4B  |.  33C0          XOR EAX,EAX
    20. 00947A4D  |.  5A            POP EDX
    21. 00947A4E  |.  59            POP ECX
    22. 00947A4F  |.  59            POP ECX
    23. 00947A50  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    24. 00947A53  |.  68 687A9400   PUSH WinNc.00947A68
    25. 00947A58  |>  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    26. 00947A5B  |.  E8 0412ACFF   CALL WinNc.00408C64
    27. 00947A60  \.  C3            RETN
    28. 00947A61   .^ E9 FA07ACFF   JMP WinNc.00408260
    29. 00947A66   .^ EB F0         JMP SHORT WinNc.00947A58
    30. 00947A68   .  5B            POP EBX
    31. 00947A69   .  59            POP ECX
    32. 00947A6A   .  5D            POP EBP
    33. 00947A6B   .  C3            RETN
    复制代码





                                                                                                      四、 酒罢问君三语

    不入虎穴,焉得虎子?我们再向虎山行:
    1. 00947884  /[        DISCUZ_CODE_69        ]nbsp; 55            PUSH EBP
    2. 00947885  |.  8BEC          MOV EBP,ESP
    3. 00947887  |.  83C4 BC       ADD ESP,-44
    4. 0094788A  |.  53            PUSH EBX
    5. 0094788B  |.  56            PUSH ESI
    6. 0094788C  |.  57            PUSH EDI
    7. 0094788D  |.  33DB          XOR EBX,EBX
    8. 0094788F  |.  895D BC       MOV DWORD PTR SS:[EBP-44],EBX
    9. 00947892  |.  895D F8       MOV DWORD PTR SS:[EBP-8],EBX
    10. 00947895  |.  894D F0       MOV DWORD PTR SS:[EBP-10],ECX       ;  0B,记住你了!
    11. 00947898  |.  8955 F4       MOV DWORD PTR SS:[EBP-C],EDX
    12. 0094789B  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    13. 0094789E  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    14. 009478A1  |.  E8 A214ACFF   CALL WinNc.00408D48
    15. 009478A6  |.  33C0          XOR EAX,EAX
    16. 009478A8  |.  55            PUSH EBP
    17. 009478A9  |.  68 F7799400   PUSH WinNc.009479F7
    18. 009478AE  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    19. 009478B1  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    20. 009478B4  |.  BF 03020000   MOV EDI,203                         ;  好吧,还要记着这个203H
    21. 009478B9  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]        ;  用户名(UNICODE "gglhy")
    22. 009478BC  |.  85C0          TEST EAX,EAX
    23. 009478BE  |.  74 05         JE SHORT WinNc.009478C5
    24. 009478C0  |.  83E8 04       SUB EAX,4
    25. 009478C3  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]          ;  用户名长度,本例为5
    26. 009478C5  |>  8BF0          MOV ESI,EAX
    27. 009478C7  |.  85F6          TEST ESI,ESI
    28. 009478C9  |.  7E 3E         JLE SHORT WinNc.00947909
    29. 009478CB  |.  BB 01000000   MOV EBX,1                           ;  计数器初始化为1
    30. 009478D0  |>  55            /PUSH EBP
    31. 009478D1  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]       ;  用户名(UNICODE "gglhy")
    32. 009478D4  |.  4B            |DEC EBX
    33. 009478D5  |.  85C0          |TEST EAX,EAX
    34. 009478D7  |.  74 05         |JE SHORT WinNc.009478DE
    35. 009478D9  |.  3B58 FC       |CMP EBX,DWORD PTR DS:[EAX-4]       ;  用户名是否取完
    36. 009478DC  |.  72 05         |JB SHORT WinNc.009478E3
    37. 009478DE  |>  E8 F9F4ABFF   |CALL WinNc.00406DDC
    38. 009478E3  |>  43            |INC EBX
    39. 009478E4  |.  0FB74458 FE   |MOVZX EAX,WORD PTR DS:[EAX+EBX*2-2>;  用户名依次每一位
    40. 009478E9  |.  E8 4EFFFFFF   |CALL WinNc.0094783C                ;  来吧,来吧,一起舞蹈~~
    41. 009478EE  |.  59            |POP ECX
    42. 009478EF  |.  03F8          |ADD EDI,EAX                        ;  跳舞后的结果累加(EDI初始为203H)
    43. 009478F1  |.  71 05         |JNO SHORT WinNc.009478F8
    44. 009478F3  |.  E8 ECF4ABFF   |CALL WinNc.00406DE4
    45. 009478F8  |>  43            |INC EBX
    46. 009478F9  |.  4E            |DEC ESI
    47. 009478FA  |.^ 75 D4         \JNZ SHORT WinNc.009478D0           ;  循环结束,累加的结果为21D
    48. 009478FC  |.  EB 0B         JMP SHORT WinNc.00947909
    49. 009478FE  |>  8D45 FC       /LEA EAX,DWORD PTR SS:[EBP-4]
    50. 00947901  |.  8B55 FC       |MOV EDX,DWORD PTR SS:[EBP-4]
    51. 00947904  |.  E8 4B26ACFF   |CALL WinNc.00409F54
    52. 00947909  |>  8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]       ;  用户名(UNICODE "gglhy")
    53. 0094790C  |.  E8 4B18ACFF   |CALL WinNc.0040915C
    54. 00947911  |.  83F8 0C       |CMP EAX,0C                         ;  用户名长度:12
    55. 00947914  |.^ 7C E8         \JL SHORT WinNc.009478FE            ;  用户名自我复制到不小于12为止!!!!!
    56. 00947916  |.  BB 01000000   MOV EBX,1
    57. 0094791B  |.  8D75 C0       LEA ESI,DWORD PTR SS:[EBP-40]
    58. 0094791E  |>  55            /PUSH EBP
    59. 0094791F  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]       ;  自我复制后的用户名("gglhygglhygglhygglhy")
    60. 00947922  |.  4B            |DEC EBX
    61. 00947923  |.  85C0          |TEST EAX,EAX
    62. 00947925  |.  74 05         |JE SHORT WinNc.0094792C
    63. 00947927  |.  3B58 FC       |CMP EBX,DWORD PTR DS:[EAX-4]       ;  自我复制后的用户名长度,本例=20取完没有
    64. 0094792A  |.  72 05         |JB SHORT WinNc.00947931
    65. 0094792C  |>  E8 ABF4ABFF   |CALL WinNc.00406DDC
    66. 00947931  |>  43            |INC EBX
    67. 00947932  |.  0FB74458 FE   |MOVZX EAX,WORD PTR DS:[EAX+EBX*2-2>;  复制后的用户名依次每一位
    68. 00947937  |.  8BD3          |MOV EDX,EBX
    69. 00947939  |.  83EA 01       |SUB EDX,1                          ;  计数器-1
    70. 0094793C  |.  71 05         |JNO SHORT WinNc.00947943
    71. 0094793E  |.  E8 A1F4ABFF   |CALL WinNc.00406DE4
    72. 00947943  |>  85D2          |TEST EDX,EDX
    73. 00947945  |.  7C 05         |JL SHORT WinNc.0094794C
    74. 00947947  |.  3B55 F0       |CMP EDX,DWORD PTR SS:[EBP-10]      ;  在这里会看到熟人0B哦!
    75. 0094794A  |.  7E 05         |JLE SHORT WinNc.00947951
    76. 0094794C  |>  E8 8BF4ABFF   |CALL WinNc.00406DDC
    77. 00947951  |>  8B4D F4       |MOV ECX,DWORD PTR SS:[EBP-C]
    78. 00947954  |.  030491        |ADD EAX,DWORD PTR DS:[ECX+EDX*4]   ;  用户名ASC相加,[]里查表,初始为37
    79. 00947957  |.  71 05         |JNO SHORT WinNc.0094795E
    80. 00947959  |.  E8 86F4ABFF   |CALL WinNc.00406DE4
    81. 0094795E  |>  03C7          |ADD EAX,EDI                        ;  再次累加,还记得前面跳完舞的21D吗?
    82. 00947960  |.  71 05         |JNO SHORT WinNc.00947967
    83. 00947962  |.  E8 7DF4ABFF   |CALL WinNc.00406DE4
    84. 00947967  |>  99            |CDQ
    85. 00947968  |.  33C2          |XOR EAX,EDX                        ;  累加结果 XOR 0
    86. 0094796A  |.  2BC2          |SUB EAX,EDX                        ;  再-0
    87. 0094796C  |.  71 05         |JNO SHORT WinNc.00947973
    88. 0094796E  |.  E8 71F4ABFF   |CALL WinNc.00406DE4
    89. 00947973  |>  E8 C4FEFFFF   |CALL WinNc.0094783C                ;  又去前面的广场跳舞了~~
    90. 00947978  |.  59            |POP ECX
    91. 00947979  |.  8906          |MOV DWORD PTR DS:[ESI],EAX         ;  每次跳完舞蹈后的结果保存起来
    92. 0094797B  |.  43            |INC EBX
    93. 0094797C  |.  83C6 04       |ADD ESI,4
    94. 0094797F  |.  83FB 0D       |CMP EBX,0D                         ;  12位运算完了吗?
    95. 00947982  |.^ 75 9A         \JNZ SHORT WinNc.0094791E
    96. 00947984  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    97. 00947987  |.  E8 D812ACFF   CALL WinNc.00408C64
    98. 0094798C  |.  BB 01000000   MOV EBX,1
    99. 00947991  |.  8D75 C0       LEA ESI,DWORD PTR SS:[EBP-40]
    100. 00947994  |>  8D55 BC       /LEA EDX,DWORD PTR SS:[EBP-44]
    101. 00947997  |.  8B06          |MOV EAX,DWORD PTR DS:[ESI]         ;  保存起来的12个结果
    102. 00947999  |.  E8 C2DCADFF   |CALL WinNc.00425660
    103. 0094799E  |.  8B55 BC       |MOV EDX,DWORD PTR SS:[EBP-44]      ;  转字符形式
    104. 009479A1  |.  8D45 F8       |LEA EAX,DWORD PTR SS:[EBP-8]
    105. 009479A4  |.  E8 AB25ACFF   |CALL WinNc.00409F54
    106. 009479A9  |.  83FB 04       |CMP EBX,4
    107. 009479AC  |.  74 05         |JE SHORT WinNc.009479B3            ;  分段
    108. 009479AE  |.  83FB 08       |CMP EBX,8
    109. 009479B1  |.  75 0D         |JNZ SHORT WinNc.009479C0           ;  分段
    110. 009479B3  |>  8D45 F8       |LEA EAX,DWORD PTR SS:[EBP-8]
    111. 009479B6  |.  BA 147A9400   |MOV EDX,WinNc.00947A14
    112. 009479BB  |.  E8 9425ACFF   |CALL WinNc.00409F54
    113. 009479C0  |>  43            |INC EBX
    114. 009479C1  |.  83C6 04       |ADD ESI,4
    115. 009479C4  |.  83FB 0D       |CMP EBX,0D
    116. 009479C7  |.^ 75 CB         \JNZ SHORT WinNc.00947994           ;  12位平均分成3段,每段4位
    117. 009479C9  |.  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
    118. 009479CC  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
    119. 009479CF  |.  E8 7016ACFF   CALL WinNc.00409044
    120. 009479D4  |.  33C0          XOR EAX,EAX
    121. 009479D6  |.  5A            POP EDX
    122. 009479D7  |.  59            POP ECX
    123. 009479D8  |.  59            POP ECX
    124. 009479D9  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    125. 009479DC  |.  68 FE799400   PUSH WinNc.009479FE
    126. 009479E1  |>  8D45 BC       LEA EAX,DWORD PTR SS:[EBP-44]
    127. 009479E4  |.  E8 7B12ACFF   CALL WinNc.00408C64
    128. 009479E9  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    129. 009479EC  |.  BA 02000000   MOV EDX,2
    130. 009479F1  |.  E8 CE12ACFF   CALL WinNc.00408CC4
    131. 009479F6  \.  C3            RETN
    132. 009479F7   .^ E9 6408ACFF   JMP WinNc.00408260
    133. 009479FC   .^ EB E3         JMP SHORT WinNc.009479E1
    134. 009479FE   .  5F            POP EDI
    135. 009479FF   .  5E            POP ESI
    136. 00947A00   .  5B            POP EBX
    137. 00947A01   .  8BE5          MOV ESP,EBP
    138. 00947A03   .  5D            POP EBP
    139. 00947A04   .  C2 0400       RETN 4
    复制代码

    其实上面我已经注释的比较详细了~~~,这里小结一下:
    a.第一个循环得到一个数值,并参与第三个循环的计算,其来历详见下面的第五部分。
    b.第二个循环是对用户名的判断与处理。用户名长度不足12位则自我复制一直到不小于12位为止。
      这里要说明的是,用户名的自我复制是以新用户名为准来复制。比如用户名"ABCD",则自我复制的过程为:
           ABCD--->ABCDABCD--->ABCDABCDABCDABCD
      这里需要大家注意下即可~~
      不信,可以去这里看看:
    1. 00409F6C   .  8B56 FC       MOV EDX,DWORD PTR DS:[ESI-4]
    2.   00409F6F   .  01FA          ADD EDX,EDI                      ;  自己复制后再次复制~~~~!!!
    3.   00409F71   .  F7C2 000000C0 TEST EDX,C0000000
    复制代码

    c.第三个循环其实是依次取用户名每一位的ASC,查表、计算,得到12位数值。
    d.第四个循环就很简单了,数值转字符,格式化为“XXXX-XXXX-XXXX”的形式。没啥可说的,也不解释~~~

    zm.PNG






                                                                                                五、水榭听香 指点群豪戏

    游客,如果您要查看本帖隐藏内容请回复




                                                                                                  六、奈天昏地暗斗转星移

    游客,如果您要查看本帖隐藏内容请回复



                                                                                           七、悄立雁门,绝壁无余字!


    没什么需要说的了。
    燕云十八骑 奔腾如虎风烟举:

    OK.PNG 实时验证通过~~~~~

    REGED.PNG OK了

    GGLHY.PNG   reged!






    PS:本文首发于飘云阁论坛。转载请注明出处。谢谢~~

    评分

    参与人数 5威望 +44 飘云币 +52 收起 理由
    montana + 4 赞一个!
    飞天 + 8 + 4 赞一个!
    yhym599 + 4 赞一个!
    yyjpcx + 20 + 40 很给力! 分析的仔细 谢谢分享
    fywy + 8 + 8 很给力!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-11-27 11:57
  • 签到天数: 366 天

    [LV.9]以坛为家II

    发表于 2014-2-14 21:08:22 | 显示全部楼层
    仔细拜读!!!!受益匪浅!!!!!感谢G大神!!!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

     楼主| 发表于 2014-2-14 22:05:09 | 显示全部楼层
    fywy 发表于 2014-2-14 21:08
    仔细拜读!!!!受益匪浅!!!!!感谢G大神!!!


    兄弟客气了~~
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-6-4 21:31
  • 签到天数: 348 天

    [LV.8]以坛为家I

    发表于 2014-2-14 23:54:22 | 显示全部楼层
    看大神的文章就像在读武侠小说一样的峰回路转、荡气回肠。剑指江山。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-11-28 18:31
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2014-2-15 00:30:05 | 显示全部楼层
    屠龙刀,倚天剑,侠骨柔肠走江湖,好文,膜拜G兄!
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    前天 16:50
  • 签到天数: 1592 天

    [LV.Master]伴坛终老

    发表于 2014-2-15 07:53:18 | 显示全部楼层
    枯燥的代码用这样的方式写出来,有创意。
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2014-2-15 10:07:27 | 显示全部楼层
    写得很详细,也有条理,赞一下
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

    发表于 2014-2-15 10:55:08 | 显示全部楼层
    分析的真好。谢谢楼主了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 1993 天

    [LV.Master]伴坛终老

    发表于 2014-2-15 12:22:32 | 显示全部楼层
    哈哈,G大,不写书,做作家,可惜了,谢谢,写得太令人心神舒畅啊,又能学到东西,看得又爽!太好了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 15:21
  • 签到天数: 487 天

    [LV.9]以坛为家II

    发表于 2014-2-15 12:26:15 | 显示全部楼层
    膜拜GG 哥哥的又一次精彩分析 麻烦能分析一下PDF转换器么 VB的程序
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表