飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 15261|回复: 23

[原创] BigJig v8.25 算法分析 + 注册机源代码

[复制链接]
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

    发表于 2015-8-23 15:05:02 | 显示全部楼层 |阅读模式
    本帖最后由 GeekCat 于 2015-8-23 15:07 编辑

    【文章标题】: BigJig v8.25 简单算法分析 + 注册机源代码
    【文章作者】: geekcat
    【作者邮箱】:
    【作者主页】:
    【软件名称】: BigJig v8.25
    【软件大小】:
    【加壳方式】: 无
    【保护方式】: 注册码
    【编写语言】: Borland Delphi
    【使用工具】: OD、PEID
    【操作平台】: XP SP3
    【下载地址】:百度
    【软件介绍】:
    破解声明】:技术交流、学习,请不要用于商业用途!
    --------------------------------------------------------------------------------------------------------------------------------

    切入方式:
    1、工具按键事件;
    2、F12暂停法

    算法代码:
    1. [/align][align=left]004D43A8  |.  8903          mov dword ptr ds:[ebx],eax
    2. 004D43AA  |.  8D45 D8       lea eax,dword ptr ss:[ebp-0x28]          ;  (ASCII "CatPYG")
    3. 004D43AD  |>  8A10          /mov dl,byte ptr ds:[eax]                ;  依次取注册名的每一位
    4. 004D43AF  |.  80FA 41       |cmp dl,0x41                             ;  AS值跟41(‘A’)比较
    5. 004D43B2  |.  72 05         |jb short bigjig.004D43B9
    6. 004D43B4  |.  80FA 5A       |cmp dl,0x5A                             ;  AS值跟5A(‘Z’)比较
    7. 004D43B7  |.  76 07         |jbe short bigjig.004D43C0
    8. 004D43B9  |>  B3 01         |mov bl,0x1
    9. 004D43BB  |.  E9 C7010000   |jmp bigjig.004D4587
    10. 004D43C0  |>  FF03          |inc dword ptr ds:[ebx]
    11. 004D43C2  |.  40            |inc eax
    12. 004D43C3  |.  833B 06       |cmp dword ptr ds:[ebx],0x6
    13. 004D43C6  |.^ 75 E5         \jnz short bigjig.004D43AD               ;  循环要求:用户名大写字母
    14. 004D43C8  |.  33C0          xor eax,eax
    15. 004D43CA  |.  8A45 D8       mov al,byte ptr ss:[ebp-0x28]            ;  用户名第一位
    16. 004D43CD  |.  33D2          xor edx,edx
    17. 004D43CF  |.  8A55 D9       mov dl,byte ptr ss:[ebp-0x27]            ;  用户名第二位
    18. 004D43D2  |.  03C2          add eax,edx                              ;  注册名前两位AS值累加
    19. 004D43D4  |.  33D2          xor edx,edx
    20. 004D43D6  |.  8A55 DA       mov dl,byte ptr ss:[ebp-0x26]            ;  用户名第三位
    21. 004D43D9  |.  03C2          add eax,edx                              ;  注册名前三位AS值累加
    22. 004D43DB  |.  33D2          xor edx,edx
    23. 004D43DD  |.  8A55 DB       mov dl,byte ptr ss:[ebp-0x25]            ;  用户名第四位
    24. 004D43E0  |.  03C2          add eax,edx                              ;  注册名前四位AS值累加
    25. 004D43E2  |.  33D2          xor edx,edx
    26. 004D43E4  |.  8A55 DC       mov dl,byte ptr ss:[ebp-0x24]            ;  用户名第五位
    27. 004D43E7  |.  03C2          add eax,edx                              ;  注册名前五位AS值累加=0x181
    28. 004D43E9  |.  B9 05000000   mov ecx,0x5
    29. 004D43EE  |.  33D2          xor edx,edx
    30. 004D43F0  |.  F7F1          div ecx                                  ;  注册名前五位AS值累加除0x5=0x4D
    31. 004D43F2  |.  33D2          xor edx,edx
    32. 004D43F4  |.  8A55 DD       mov dl,byte ptr ss:[ebp-0x23]            ;   47 ('G') 注册名最后一位
    33. 004D43F7  |.  3BC2          cmp eax,edx                              ;  商跟注册名最后一位AS值比较
    34. 004D43F9  |.  74 07         je short bigjig.004D4402
    35. 004D43FB  |.  B3 01         mov bl,0x1
    36. 004D43FD  |.  E9 85010000   jmp bigjig.004D4587
    37. 004D4402  |>  B2 01         mov dl,0x1
    38. 004D4404  |.  33C0          xor eax,eax
    39. 004D4406  |.  8903          mov dword ptr ds:[ebx],eax
    40. 004D4408  |.  8D45 D8       lea eax,dword ptr ss:[ebp-0x28]          ;  (ASCII "CATPYG")
    41. 004D440B  |>  8B0D 34C55200 /mov ecx,dword ptr ds:[0x52C534]         ;  ASCII 44,"IKYUN"
    42. 004D4411  |.  8B33          |mov esi,dword ptr ds:[ebx]
    43. 004D4413  |.  0FB60C31      |movzx ecx,byte ptr ds:[ecx+esi]         ;  取第一段字符串每一位
    44. 004D4417  |.  49            |dec ecx                                 ;  AS值减1
    45. 004D4418  |.  0FB630        |movzx esi,byte ptr ds:[eax]             ;  注册名每一位
    46. 004D441B  |.  3BCE          |cmp ecx,esi
    47. 004D441D  |.  74 04         |je short bigjig.004D4423
    48. 004D441F  |.  33D2          |xor edx,edx
    49. 004D4421  |.  EB 08         |jmp short bigjig.004D442B
    50. 004D4423  |>  FF03          |inc dword ptr ds:[ebx]
    51. 004D4425  |.  40            |inc eax
    52. 004D4426  |.  833B 06       |cmp dword ptr ds:[ebx],0x6
    53. 004D4429  |.^ 75 E0         \jnz short bigjig.004D440B
    54. 004D442B  |>  84D2          test dl,dl
    55. 004D442D  |.  74 07         je short bigjig.004D4436
    56. 004D442F  |.  B3 01         mov bl,0x1
    57. 004D4431  |.  E9 51010000   jmp bigjig.004D4587
    58. 004D4436  |>  B2 01         mov dl,0x1
    59. 004D4438  |.  33C0          xor eax,eax
    60. 004D443A  |.  8903          mov dword ptr ds:[ebx],eax
    61. 004D443C  |.  8D45 D8       lea eax,dword ptr ss:[ebp-0x28]          ;  (ASCII "CATPYG")
    62. 004D443F  |>  8B0D 38C55200 /mov ecx,dword ptr ds:[0x52C538]         ;  (ASCII "EZMJFL")第二段字符串
    63. 004D4445  |.  8B33          |mov esi,dword ptr ds:[ebx]
    64. 004D4447  |.  0FB60C31      |movzx ecx,byte ptr ds:[ecx+esi]         ;  取第二段字符串每一位
    65. 004D444B  |.  49            |dec ecx
    66. 004D444C  |.  0FB630        |movzx esi,byte ptr ds:[eax]
    67. 004D444F  |.  3BCE          |cmp ecx,esi
    68. 004D4451  |.  74 04         |je short bigjig.004D4457
    69. 004D4453  |.  33D2          |xor edx,edx
    70. 004D4455  |.  EB 08         |jmp short bigjig.004D445F
    71. 004D4457  |>  FF03          |inc dword ptr ds:[ebx]
    72. 004D4459  |.  40            |inc eax
    73. 004D445A  |.  833B 06       |cmp dword ptr ds:[ebx],0x6
    74. 004D445D  |.^ 75 E0         \jnz short bigjig.004D443F
    75. 004D445F  |>  84D2          test dl,dl
    76. 004D4461  |.  74 07         je short bigjig.004D446A
    77. 004D4463  |.  B3 01         mov bl,0x1
    78. 004D4465  |.  E9 1D010000   jmp bigjig.004D4587
    79. 004D446A  |>  B2 01         mov dl,0x1
    80. 004D446C  |.  33C0          xor eax,eax
    81. 004D446E  |.  8903          mov dword ptr ds:[ebx],eax
    82. 004D4470  |.  8D45 D8       lea eax,dword ptr ss:[ebp-0x28]          ;  (ASCII "CATPYG")
    83. 004D4473  |>  8B0D 3CC55200 /mov ecx,dword ptr ds:[0x52C53C]         ;  (ASCII "GMNWCL")第三段字符串
    84. 004D4479  |.  8B33          |mov esi,dword ptr ds:[ebx]
    85. 004D447B  |.  0FB60C31      |movzx ecx,byte ptr ds:[ecx+esi]         ;  取第三段字符串每一位
    86. 004D447F  |.  49            |dec ecx
    87. 004D4480  |.  0FB630        |movzx esi,byte ptr ds:[eax]
    88. 004D4483  |.  3BCE          |cmp ecx,esi
    89. 004D4485  |.  74 04         |je short bigjig.004D448B
    90. 004D4487  |.  33D2          |xor edx,edx
    91. 004D4489  |.  EB 08         |jmp short bigjig.004D4493
    92. 004D448B  |>  FF03          |inc dword ptr ds:[ebx]
    93. 004D448D  |.  40            |inc eax
    94. 004D448E  |.  833B 06       |cmp dword ptr ds:[ebx],0x6
    95. 004D4491  |.^ 75 E0         \jnz short bigjig.004D4473
    96. 004D4493  |>  84D2          test dl,dl
    97. 004D4495  |.  74 07         je short bigjig.004D449E
    98. 004D4497  |.  B3 01         mov bl,0x1
    99. 004D4499  |.  E9 E9000000   jmp bigjig.004D4587
    100. 004D449E  |>  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]          ;  (ASCII "1234567890qwertyuiop")
    101. 004D44A1  |.  E8 4E0BF3FF   call bigjig.00404FF4                     ;  计算注册码长度
    102. 004D44A6  |.  83F8 0B       cmp eax,0xB                              ;  注册码要是11位
    103. 004D44A9  |.  74 07         je short bigjig.004D44B2
    104. 004D44AB  |.  B3 01         mov bl,0x1
    105. 004D44AD  |.  E9 D5000000   jmp bigjig.004D4587
    106. 004D44B2  |>  8D45 EC       lea eax,dword ptr ss:[ebp-0x14]
    107. 004D44B5  |.  50            push eax
    108. 004D44B6  |.  B9 04000000   mov ecx,0x4                              ;  取的长度为4位
    109. 004D44BB  |.  BA 01000000   mov edx,0x1                              ;  从第一位开始取
    110. 004D44C0  |.  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]          ;  (ASCII "1234567890q")
    111. 004D44C3  |.  E8 8C0DF3FF   call bigjig.00405254                     ;  在注册码中取1-4位  ASCII "1234"
    112. 004D44C8  |.  BA BC454D00   mov edx,bigjig.004D45BC
    113. 004D44CD  |.  8B45 EC       mov eax,dword ptr ss:[ebp-0x14]          ;  (ASCII "1234")
    114. 004D44D0  |.  E8 6B52F3FF   call bigjig.00409740                     ;  注册码前4位为:“BJ4-”
    115. 004D44D5  |.  85C0          test eax,eax                             ;  eax=0才行
    116. 004D44D7  |.  74 07         je short bigjig.004D44E0
    117. 004D44D9  |.  B3 01         mov bl,0x1
    118. 004D44DB  |.  E9 A7000000   jmp bigjig.004D4587
    119. 004D44E0  |>  8D45 EC       lea eax,dword ptr ss:[ebp-0x14]
    120. 004D44E3  |.  50            push eax
    121. 004D44E4  |.  B9 01000000   mov ecx,0x1                              ;  取1位
    122. 004D44E9  |.  BA 08000000   mov edx,0x8                              ;  第8位
    123. 004D44EE  |.  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]          ;  (ASCII "1234567890q")
    124. 004D44F1  |.  E8 5E0DF3FF   call bigjig.00405254                     ;  第8位要是"-"
    125. 004D44F6  |.  BA CC454D00   mov edx,bigjig.004D45CC                  ;  UNICODE "-"
    126. 004D44FB  |.  8B45 EC       mov eax,dword ptr ss:[ebp-0x14]
    127. 004D44FE  |.  E8 3D52F3FF   call bigjig.00409740                     ;  注册码第8位跟"-"比较,要求第8位为"-"
    128. 004D4503  |.  85C0          test eax,eax
    129. 004D4505  |.  74 04         je short bigjig.004D450B
    130. 004D4507  |.  B3 01         mov bl,0x1
    131. 004D4509  |.  EB 7C         jmp short bigjig.004D4587
    132. 004D450B  |>  8D45 EC       lea eax,dword ptr ss:[ebp-0x14]
    133. 004D450E  |.  50            push eax
    134. 004D450F  |.  B9 03000000   mov ecx,0x3
    135. 004D4514  |.  BA 05000000   mov edx,0x5
    136. 004D4519  |.  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]          ;  (ASCII "1234567890q")
    137. 004D451C  |.  E8 330DF3FF   call bigjig.00405254                     ;  从注册码第5位开始取,取3位(ASCII "567")
    138. 004D4521  |.  8BD3          mov edx,ebx
    139. 004D4523  |.  8B45 EC       mov eax,dword ptr ss:[ebp-0x14]          ;  (ASCII "567")
    140. 004D4526  |.  E8 51F2F2FF   call bigjig.0040377C                     ;  取得的三位字符10进制转16进制 ,字母不参加运算
    141. 004D452B  |.  8BF0          mov esi,eax                              ;  注册eax值
    142. 004D452D  |.  8D45 EC       lea eax,dword ptr ss:[ebp-0x14]          ;  (ASCII "567")
    143. 004D4530  |.  50            push eax
    144. 004D4531  |.  B9 03000000   mov ecx,0x3
    145. 004D4536  |.  BA 09000000   mov edx,0x9
    146. 004D453B  |.  8B45 F0       mov eax,dword ptr ss:[ebp-0x10]          ;  (ASCII "1234567890q")
    147. 004D453E  |.  E8 110DF3FF   call bigjig.00405254                     ;  从注册码第9位开始取,取3位(ASCII "90q")
    148. 004D4543  |.  8BD3          mov edx,ebx
    149. 004D4545  |.  8B45 EC       mov eax,dword ptr ss:[ebp-0x14]          ;  (ASCII "90q")
    150. 004D4548  |.  E8 2FF2F2FF   call bigjig.0040377C                     ;  取得的三位字符10进制转16进制 ,字母不参加运算
    151. 004D454D  |.  8BD6          mov edx,esi                              ;  5-7位转10进制成功的入edx
    152. 004D454F  |.  D1FA          sar edx,1
    153. 004D4551  |.  79 03         jns short bigjig.004D4556
    154. 004D4553  |.  83D2 00       adc edx,0x0
    155. 004D4556  |>  52            push edx
    156. 004D4557  |.  BA 84030000   mov edx,0x384
    157. 004D455C  |.  59            pop ecx
    158. 004D455D  |.  2BD1          sub edx,ecx                              ;  0x384减去(5-7位转16进制并除2)
    159. 004D455F  |.  33C9          xor ecx,ecx
    160. 004D4561  |.  8A4D D8       mov cl,byte ptr ss:[ebp-0x28]            ;  注册名第一位AS值
    161. 004D4564  |.  03D1          add edx,ecx                              ;  注册名第一位AS值加上(减的结果)
    162. 004D4566  |.  33C9          xor ecx,ecx
    163. 004D4568  |.  8A4D DD       mov cl,byte ptr ss:[ebp-0x23]            ;  注册名最后一位AS值
    164. 004D456B  |.  8D0C49        lea ecx,dword ptr ds:[ecx+ecx*2]         ;  3*ecx=3*注册名最后一位的AS值
    165. 004D456E  |.  2BD1          sub edx,ecx                              ;  (注册名第一位AS值加上(减的结果))-3*ecx
    166. 004D4570  |.  83FE 64       cmp esi,0x64                             ;  注册码5-7位转10进制要大于0x64=100比较
    167. 004D4573  |.  7C 0C         jl short bigjig.004D4581
    168. 004D4575  |.  81FE E7030000 cmp esi,0x3E7                            ;  注册码5-7位转10进制要小于0x3E7=999比较
    169. 004D457B  |.  7F 04         jg short bigjig.004D4581
    170. 004D457D  |.  3BC2          cmp eax,edx                              ;  eax(注册码最后三位10转16)跟(注册名第一位AS值加上(减的结果))-3*ecx相等
    171. 004D457F  |.  74 04         je short bigjig.004D4585
    172. 004D4581  |>  B3 01         mov bl,0x1
    173. 004D4583  |.  EB 02         jmp short bigjig.004D4587
    174. 004D4585  |>  33DB          xor ebx,ebx
    175. 004D4587  |>  33C0          xor eax,eax
    176. 004D4589  |.  5A            pop edx
    177. 004D458A  |.  59            pop ecx
    178. 004D458B  |.  59            pop ecx
    179. 004D458C  |.  64:8910       mov dword ptr fs:[eax],edx
    180. 004D458F  |.  68 A9454D00   push bigjig.004D45A9
    181. 004D4594  |>  8D45 EC       lea eax,dword ptr ss:[ebp-0x14]
    182. 004D4597  |.  BA 05000000   mov edx,0x5
    183. 004D459C  |.  E8 B707F3FF   call bigjig.00404D58
    184. 004D45A1  \.  C3            retn[/align][align=left]
    复制代码

    22.png 33.png

    BigJig V8.25源代码.rar (111.6 KB, 下载次数: 21)

    BigJig V8.25.rar

    111.6 KB, 下载次数: 18, 下载积分: 飘云币 -2 枚

    评分

    参与人数 5威望 +28 飘云币 +52 收起 理由
    Dxer + 20 + 20 PYG有你更精彩!
    飞天 + 4 + 4 PYG有你更精彩!
    非诚勿扰 + 4 + 4 PYG有你更精彩!
    DragonLoft + 4 大牛,收我为徒吧。
    GGLHY + 20 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2015-8-23 15:15:37 | 显示全部楼层
    坐着沙发前排学习!
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    前天 16:50
  • 签到天数: 1592 天

    [LV.Master]伴坛终老

    发表于 2015-8-23 16:09:15 | 显示全部楼层
    来支持版主的算法分析。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2021-9-29 15:05
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2015-8-23 17:12:46 | 显示全部楼层
    下载地址百度,哈哈
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-4 10:11
  • 签到天数: 490 天

    [LV.9]以坛为家II

    发表于 2015-8-23 17:24:21 | 显示全部楼层
    大神,收我为徒吧
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-4 10:11
  • 签到天数: 490 天

    [LV.9]以坛为家II

    发表于 2015-8-23 17:24:58 | 显示全部楼层
    大神,收我为徒吧
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2015-8-23 17:49:07 | 显示全部楼层
    下载看看看!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2024-1-15 22:57
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2015-8-23 18:24:44 | 显示全部楼层
    最近很高产啊!!

    点评

    Z大多指导 都是拿之前分析过的软件来熟悉写注册机,刚开始写新手~~  详情 回复 发表于 2015-8-24 10:15
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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