挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)天下盾/国内/免实名/免备案CDN无视一切CC/DD攻击 找塔科夫作者TG @wuhao1954 QQ283931494 出租内核驱动读写保护,价格亲民,高品质群:530544047 →入驻S9企业发卡网各种全黑号辅助群:475351077
██【我要租此广告位】██... .
查看: 3308|回复: 1
打印 上一主题 下一主题

[分享] 实战破解FamilyTree v9.0 + 带注册机

[复制链接]
4中级会员
587/600

587

积分

178

主题

6

听众
已帮网友解决0 个问题
好评
0
贡献
409
海币
3229
交易币
0
跳转到指定楼层
楼主
发表于 2017-6-2 11:21:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


实战破解FamilyTree v9.0
一、查壳:UPX 0.89.6 - 1.02 /1.05 - 1.24 (Delphi) stub -> Markus & Laszlo

脱壳后:Borland Delphi 6.0 - 7.0


二、试注册:Login:[email protected]:123456789试注册过错提示:The login or the password is incorrect


三、前面进程省掉,直接进入算法部分:

  1. 0054E40A    55              push ebp
  2. 0054E40B    68 D5E85400     push FamilyTr.0054E8D5
  3. 0054E410    64:FF30         push dword ptr fs:[eax]
  4. 0054E413    64:8920         mov dword ptr fs:[eax],esp
  5. 0054E416    8D55 D0         lea edx,dword ptr ss:[ebp-0x30]
  6. 0054E419    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  7. 0054E41F    E8 A4D3EFFF     call FamilyTr.0044B7C8
  8. 0054E424    8B45 D0         mov eax,dword ptr ss:[ebp-0x30]          ; 邮件名
  9. 0054E427    8D55 D4         lea edx,dword ptr ss:[ebp-0x2C]
  10. 0054E42A    E8 65B3EBFF     call FamilyTr.00409794
  11. 0054E42F    837D D4 00      cmp dword ptr ss:[ebp-0x2C],0x0          ; 邮件名不能为空
  12. 0054E433    75 2E           jnz short FamilyTr.0054E463
  13. 0054E435    8B15 BC995800   mov edx,dword ptr ds:[0x5899BC]          ; FamilyTr.0058FBAC
  14. 0054E43B    8B12            mov edx,dword ptr ds:[edx]
  15. 0054E43D    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  16. 0054E442    8B00            mov eax,dword ptr ds:[eax]
  17. 0054E444    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
  18. 0054E44A    E8 A9D3EFFF     call FamilyTr.0044B7F8
  19. 0054E44F    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  20. 0054E454    8B00            mov eax,dword ptr ds:[eax]
  21. 0054E456    8B10            mov edx,dword ptr ds:[eax]
  22. 0054E458    FF92 E8000000   call dword ptr ds:[edx+0xE8]
  23. 0054E45E    E9 1D040000     jmp FamilyTr.0054E880
  24. 0054E463    8D55 C8         lea edx,dword ptr ss:[ebp-0x38]
  25. 0054E466    8B87 F4020000   mov eax,dword ptr ds:[edi+0x2F4]
  26. 0054E46C    E8 EB69F3FF     call FamilyTr.00484E5C
  27. 0054E471    8B45 C8         mov eax,dword ptr ss:[ebp-0x38]          ; 假码
  28. 0054E474    8D55 CC         lea edx,dword ptr ss:[ebp-0x34]
  29. 0054E477    E8 18B3EBFF     call FamilyTr.00409794
  30. 0054E47C    837D CC 00      cmp dword ptr ss:[ebp-0x34],0x0          ; 注册码不能为空
  31. 0054E480    75 2E           jnz short FamilyTr.0054E4B0
  32. 0054E482    8B15 BC995800   mov edx,dword ptr ds:[0x5899BC]          ; FamilyTr.0058FBAC
  33. 0054E488    8B12            mov edx,dword ptr ds:[edx]
  34. 0054E48A    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  35. 0054E48F    8B00            mov eax,dword ptr ds:[eax]
  36. 0054E491    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
  37. 0054E497    E8 5CD3EFFF     call FamilyTr.0044B7F8
  38. 0054E49C    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  39. 0054E4A1    8B00            mov eax,dword ptr ds:[eax]
  40. 0054E4A3    8B10            mov edx,dword ptr ds:[eax]
  41. 0054E4A5    FF92 E8000000   call dword ptr ds:[edx+0xE8]
  42. 0054E4AB    E9 D0030000     jmp FamilyTr.0054E880
  43. 0054E4B0    8D55 C4         lea edx,dword ptr ss:[ebp-0x3C]
  44. 0054E4B3    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  45. 0054E4B9    E8 0AD3EFFF     call FamilyTr.0044B7C8
  46. 0054E4BE    8B55 C4         mov edx,dword ptr ss:[ebp-0x3C]          ; 读取邮箱名 "[email protected]"
  47. 0054E4C1    B8 ECE85400     mov eax,FamilyTr.0054E8EC               
  48. 0054E4C6    E8 5D6EEBFF     call FamilyTr.00405328                   ; 检测邮箱名是否带“@”符号
  49. 0054E4CB    8945 EC         mov dword ptr ss:[ebp-0x14],eax          ; 符号“@”在邮件名中的位置,eax=0x6
  50. 0054E4CE    837D EC 00      cmp dword ptr ss:[ebp-0x14],0x0          ; 若邮箱名中无“@”符号,则提示输入正确的邮箱名
  51. 0054E4D2    75 2E           jnz short FamilyTr.0054E502
  52. 0054E4D4    8B15 549A5800   mov edx,dword ptr ds:[0x589A54]          ; 胞X
  53. 0054E4DA    8B12            mov edx,dword ptr ds:[edx]
  54. 0054E4DC    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  55. 0054E4E1    8B00            mov eax,dword ptr ds:[eax]
  56. 0054E4E3    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
  57. 0054E4E9    E8 0AD3EFFF     call FamilyTr.0044B7F8
  58. 0054E4EE    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  59. 0054E4F3    8B00            mov eax,dword ptr ds:[eax]
  60. 0054E4F5    8B10            mov edx,dword ptr ds:[eax]
  61. 0054E4F7    FF92 E8000000   call dword ptr ds:[edx+0xE8]
  62. 0054E4FD    E9 7E030000     jmp FamilyTr.0054E880
  63. 0054E502    C745 E4 7A0D000>mov dword ptr ss:[ebp-0x1C],0xD7A        ; 第一次赋初始值0xD7A
  64. 0054E509    8B75 EC         mov esi,dword ptr ss:[ebp-0x14]         
  65. 0054E50C    85F6            test esi,esi
  66. 0054E50E    7E 24           jle short FamilyTr.0054E534
  67. 0054E510    BB 01000000     mov ebx,0x1                              ; ebx=0x1
  68. 0054E515    8D55 C0         lea edx,dword ptr ss:[ebp-0x40]
  69. 0054E518    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  70. 0054E51E    E8 A5D2EFFF     call FamilyTr.0044B7C8
  71. 0054E523    8B45 C0         mov eax,dword ptr ss:[ebp-0x40]          ; 邮箱名"[email protected]"
  72. 0054E526    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]      ; 依次取邮箱名@及其前面字符ASC码
  73. 0054E52B    F7EB            imul ebx                                ; ASC码与对应位置相乘
  74. 0054E52D    0145 E4         add dword ptr ss:[ebp-0x1C],eax          ; 累加,结果为14D1
  75. 0054E530    43              inc ebx
  76. 0054E531    4E              dec esi
  77. 0054E532  ^ 75 E1           jnz short FamilyTr.0054E515
  78. 0054E534    8D55 F8         lea edx,dword ptr ss:[ebp-0x8]
  79. 0054E537    8B45 E4         mov eax,dword ptr ss:[ebp-0x1C]          ; 第一次累加结果给eax=0x14D1(十进制5329)
  80. 0054E53A    E8 71B5EBFF     call FamilyTr.00409AB0
  81. 0054E53F    8D55 BC         lea edx,dword ptr ss:[ebp-0x44]
  82. 0054E542    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  83. 0054E548    E8 7BD2EFFF     call FamilyTr.0044B7C8
  84. 0054E54D    8B45 BC         mov eax,dword ptr ss:[ebp-0x44]          ; 邮箱名"[email protected]"
  85. 0054E550    E8 976AEBFF     call FamilyTr.00404FEC
  86. 0054E555    83F8 00         cmp eax,0x0                              ; 邮箱名长度:eax=0xD
  87. 0054E558    7C 27           jl short FamilyTr.0054E581
  88. 0054E55A    8945 E8         mov dword ptr ss:[ebp-0x18],eax
  89. 0054E55D    8D55 B8         lea edx,dword ptr ss:[ebp-0x48]
  90. 0054E560    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  91. 0054E566    E8 5DD2EFFF     call FamilyTr.0044B7C8
  92. 0054E56B    8B45 B8         mov eax,dword ptr ss:[ebp-0x48]          ; 邮箱名"[email protected]"
  93. 0054E56E    8B55 E8         mov edx,dword ptr ss:[ebp-0x18]          ; 邮箱名长度:eax=0xD
  94. 0054E571    807C10 FF 2E    cmp byte ptr ds:[eax+edx-0x1],0x2E       ; 倒序检测邮箱名点(.)的位置
  95. 0054E576    74 09           je short FamilyTr.0054E581
  96. 0054E578    FF4D E8         dec dword ptr ss:[ebp-0x18]              ; 邮箱名长度减1
  97. 0054E57B    837D E8 FF      cmp dword ptr ss:[ebp-0x18],-0x1
  98. 0054E57F  ^ 75 DC           jnz short FamilyTr.0054E55D              ; 没完?继续
  99. 0054E581    837D E8 00      cmp dword ptr ss:[ebp-0x18],0x0          ; 没有检测到点(.)就提示输入正确的邮件名
  100. 0054E585    75 2E           jnz short FamilyTr.0054E5B5
  101. 0054E587    8B15 549A5800   mov edx,dword ptr ds:[0x589A54]          ; 胞X
  102. 0054E58D    8B12            mov edx,dword ptr ds:[edx]
  103. 0054E58F    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  104. 0054E594    8B00            mov eax,dword ptr ds:[eax]
  105. 0054E596    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
  106. 0054E59C    E8 57D2EFFF     call FamilyTr.0044B7F8
  107. 0054E5A1    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]          ; 帖X
  108. 0054E5A6    8B00            mov eax,dword ptr ds:[eax]
  109. 0054E5A8    8B10            mov edx,dword ptr ds:[eax]
  110. 0054E5AA    FF92 E8000000   call dword ptr ds:[edx+0xE8]
  111. 0054E5B0    E9 CB020000     jmp FamilyTr.0054E880
  112. 0054E5B5    C745 E0 B41C000>mov dword ptr ss:[ebp-0x20],0x1CB4       ; 第二次赋初始值0x1CB4
  113. 0054E5BC    8B5D EC         mov ebx,dword ptr ss:[ebp-0x14]          ; 邮箱名符号@的位置
  114. 0054E5BF    8B75 E8         mov esi,dword ptr ss:[ebp-0x18]          ; 邮箱名点(.)的位置
  115. 0054E5C2    83EE 02         sub esi,0x2                              ; 点(.)的位置-0x2=0xA-2=8
  116. 0054E5C5    2BF3            sub esi,ebx                              ; 上面的差-@的位置=8-6=2
  117. 0054E5C7    7C 20           jl short FamilyTr.0054E5E9
  118. 0054E5C9    46              inc esi                                 
  119. 0054E5CA    8D55 B4         lea edx,dword ptr ss:[ebp-0x4C]
  120. 0054E5CD    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  121. 0054E5D3    E8 F0D1EFFF     call FamilyTr.0044B7C8
  122. 0054E5D8    8B45 B4         mov eax,dword ptr ss:[ebp-0x4C]          ; 邮箱名"[email protected]"
  123. 0054E5DB    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]      ; 依次取@及其后面二位ASC码
  124. 0054E5E0    F7EB            imul ebx                                 ; ASC码与对应位置相乘
  125. 0054E5E2    0145 E0         add dword ptr ss:[ebp-0x20],eax          ; 累加,结果为211B
  126. 0054E5E5    43              inc ebx                                 
  127. 0054E5E6    4E              dec esi                                 
  128. 0054E5E7  ^ 75 E1           jnz short FamilyTr.0054E5CA
  129. 0054E5E9    8D55 F4         lea edx,dword ptr ss:[ebp-0xC]
  130. 0054E5EC    8B45 E0         mov eax,dword ptr ss:[ebp-0x20]          ; 第二次累加结果给eax=0x211B(十进制8475)
  131. 0054E5EF    E8 BCB4EBFF     call FamilyTr.00409AB0
  132. 0054E5F4    C745 DC E910000>mov dword ptr ss:[ebp-0x24],0x10E9       ; 第三次赋初始值0x10E9
  133. 0054E5FB    8B5D E8         mov ebx,dword ptr ss:[ebp-0x18]          ; 点(.)的位置
  134. 0054E5FE    83EB 02         sub ebx,0x2                              ; 点(.)的位置-0x2=0xA-2=8
  135. 0054E601    8D55 B0         lea edx,dword ptr ss:[ebp-0x50]
  136. 0054E604    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  137. 0054E60A    E8 B9D1EFFF     call FamilyTr.0044B7C8
  138. 0054E60F    8B45 B0         mov eax,dword ptr ss:[ebp-0x50]          ; 邮箱名"[email protected]"
  139. 0054E612    E8 D569EBFF     call FamilyTr.00404FEC
  140. 0054E617    8BF0            mov esi,eax                              ; 邮箱名长度:eax=0xD
  141. 0054E619    2BF3            sub esi,ebx                              ; esi-ebx=D-8=5
  142. 0054E61B    7C 20           jl short FamilyTr.0054E63D
  143. 0054E61D    46              inc esi                                  ; esi=0x5+1=6
  144. 0054E61E    8D55 AC         lea edx,dword ptr ss:[ebp-0x54]
  145. 0054E621    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
  146. 0054E627    E8 9CD1EFFF     call FamilyTr.0044B7C8
  147. 0054E62C    8B45 AC         mov eax,dword ptr ss:[ebp-0x54]          ; 邮箱名"[email protected]"
  148. 0054E62F    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]      ; 依次取邮件名后六位ASC码
  149. 0054E634    F7EB            imul ebx                                 ; ASC码与对应位置相乘
  150. 0054E636    0145 DC         add dword ptr ss:[ebp-0x24],eax          ; 累加,结果为250E
  151. 0054E639    43              inc ebx                                 
  152. 0054E63A    4E              dec esi                                 
  153. 0054E63B  ^ 75 E1           jnz short FamilyTr.0054E61E
  154. 0054E63D    8D55 F0         lea edx,dword ptr ss:[ebp-0x10]
  155. 0054E640    8B45 DC         mov eax,dword ptr ss:[ebp-0x24]          ; 第三次累加结果给eax=0x250E(十进制9486)
  156. 0054E643    E8 68B4EBFF     call FamilyTr.00409AB0
  157. 0054E648    8D55 FC         lea edx,dword ptr ss:[ebp-0x4]
  158. 0054E64B    8B87 F4020000   mov eax,dword ptr ds:[edi+0x2F4]
  159. 0054E651    E8 0668F3FF     call FamilyTr.00484E5C
  160. 0054E656    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]           ; 假码:(ASCII "123456789")
  161. 0054E659    B8 F8E85400     mov eax,FamilyTr.0054E8F8                ; 连接符号:“-”
  162. 0054E65E    E8 C56CEBFF     call FamilyTr.00405328
  163. 0054E663    8BD8            mov ebx,eax                             
  164. 0054E665    85DB            test ebx,ebx
  165. 0054E667    75 04           jnz short FamilyTr.0054E66D
  166. 0054E669    33F6            xor esi,esi
  167. 0054E66B    EB 32           jmp short FamilyTr.0054E69F
  168. 0054E66D    8D45 A8         lea eax,dword ptr ss:[ebp-0x58]
  169. 0054E670    50              push eax
  170. 0054E671    8BCB            mov ecx,ebx
  171. 0054E673    49              dec ecx
  172. 0054E674    BA 01000000     mov edx,0x1
  173. 0054E679    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
  174. 0054E67C    E8 C36BEBFF     call FamilyTr.00405244
  175. 0054E681    8B45 A8         mov eax,dword ptr ss:[ebp-0x58]
  176. 0054E684    E8 8BB4EBFF     call FamilyTr.00409B14
  177. 0054E689    8BF0            mov esi,eax
  178. 0054E68B    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
  179. 0054E68E    50              push eax
  180. 0054E68F    8D53 01         lea edx,dword ptr ds:[ebx+0x1]
  181. 0054E692    B9 FF000000     mov ecx,0xFF
  182. 0054E697    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
  183. 0054E69A    E8 A56BEBFF     call FamilyTr.00405244
  184. 0054E69F    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]           ; 假码:(ASCII "123456789")
  185. 0054E6A2    B8 F8E85400     mov eax,FamilyTr.0054E8F8                ; 连接符号:“-”
  186. 0054E6A7    E8 7C6CEBFF     call FamilyTr.00405328
  187. 0054E6AC    8BD8            mov ebx,eax
  188. 0054E6AE    85DB            test ebx,ebx
  189. 0054E6B0    75 09           jnz short FamilyTr.0054E6BB
  190. 0054E6B2    33C0            xor eax,eax
  191. 0054E6B4    8945 D8         mov dword ptr ss:[ebp-0x28],eax
  192. 0054E6B7    33C0            xor eax,eax
  193. 0054E6B9    EB 3B           jmp short FamilyTr.0054E6F6
  194. 0054E6BB    8D45 A4         lea eax,dword ptr ss:[ebp-0x5C]
  195. 0054E6BE    50              push eax
  196. 0054E6BF    8BCB            mov ecx,ebx
  197. 0054E6C1    49              dec ecx
  198. 0054E6C2    BA 01000000     mov edx,0x1
  199. 0054E6C7    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
  200. 0054E6CA    E8 756BEBFF     call FamilyTr.00405244
  201. 0054E6XF    8B45 A4         mov eax,dword ptr ss:[ebp-0x5C]
  202. 0054E6D2    E8 3DB4EBFF     call FamilyTr.00409B14
  203. 0054E6D7    8945 D8         mov dword ptr ss:[ebp-0x28],eax
  204. 0054E6DA    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
  205. 0054E6DD    50              push eax
  206. 0054E6DE    8D53 01         lea edx,dword ptr ds:[ebx+0x1]
  207. 0054E6E1    B9 FF000000     mov ecx,0xFF
  208. 0054E6E6    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
  209. 0054E6E9    E8 566BEBFF     call FamilyTr.00405244
  210. 0054E6EE    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
  211. 0054E6F1    E8 1EB4EBFF     call FamilyTr.00409B14
  212. 0054E6F6    3B75 E4         cmp esi,dword ptr ss:[ebp-0x1C]          ; 与第一次累加结果0x14D1(十进制5329)比较,不等就OVER
  213. 0054E6F9    0F85 53010000   jnz FamilyTr.0054E852                    ; //跳向失败
  214. 0054E6FF    8B55 D8         mov edx,dword ptr ss:[ebp-0x28]
  215. 0054E702    3B55 E0         cmp edx,dword ptr ss:[ebp-0x20]          ; 与第二次累加结果0x211B比较,不等就OVER
  216. 0054E705    0F85 47010000   jnz FamilyTr.0054E852                    ; //跳向失败
  217. 0054E70B    3B45 DC         cmp eax,dword ptr ss:[ebp-0x24]          ; 与第三次累加结果0x250E比较,不等就OVER
  218. 0054E70E    0F85 3E010000   jnz FamilyTr.0054E852                    ; //跳向失败
  219. 0054E714    B2 01           mov dl,0x1                               ; 若以上三次累加结果都相等,则下面的代码就开始把结果写入注册表并提示注册成功
复制代码
  1. 0054E3F4   55                     push    ebp
  2. 0054E3F5   8BEC                   mov     ebp, esp
  3. 0054E3F7   B90D000000             mov     ecx, $0000000D
  4. 0054E3FC   6A00                   push    $00
  5. 0054E3FE   6A00                   push    $00
  6. 0054E400   49                     dec     ecx
  7. 0054E401   75F9                   jnz     0054E3FC
  8. 0054E403   53                     push    ebx
  9. 0054E404   56                     push    esi
  10. 0054E405   57                     push    edi
  11. 0054E406   8BF8                   mov     edi, eax
  12. 0054E408   33C0                   xor     eax, eax
  13. 0054E40A   55                     push    ebp

  14. * Possible String Reference to: '閊^?氡_^[嬪]?
  15. |
  16. 0054E40B   68D5E85400             push    $0054E8D5

  17. ***** TRY
  18. |
  19. 0054E410   64FF30                 push    dword ptr fs:[eax]
  20. 0054E413   648920                 mov     fs:[eax], esp
  21. 0054E416   8D55D0                 lea     edx, [ebp-$30]
  22. 0054E419   8B87F0020000           mov     eax, [edi+$02F0]

  23. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  24. |
  25. 0054E41F   E8A4D3EFFF             call    0044B7C8
  26. 0054E424   8B45D0                 mov     eax, [ebp-$30]
  27. 0054E427   8D55D4                 lea     edx, [ebp-$2C]

  28. * Reference to: SysUtils.Trim(AnsiString):AnsiString;overload;
  29. |
  30. 0054E42A   E865B3EBFF             call    00409794
  31. 0054E42F   837DD400               cmp     dword ptr [ebp-$2C], +$00
  32. 0054E433   752E                   jnz     0054E463
  33. 0054E435   8B15BC995800           mov     edx, [$005899BC]
  34. 0054E43B   8B12                   mov     edx, [edx]
  35. 0054E43D   A1A4995800             mov     eax, dword ptr [$005899A4]
  36. 0054E442   8B00                   mov     eax, [eax]

  37. * Reference to control MaskEdit1 : TMaskEdit
  38. |
  39. 0054E444   8B80F4020000           mov     eax, [eax+$02F4]

  40. * Reference to: Controls.TControl.SetText(TControl;TCaption);
  41. |
  42. 0054E44A   E8A9D3EFFF             call    0044B7F8
  43. 0054E44F   A1A4995800             mov     eax, dword ptr [$005899A4]
  44. 0054E454   8B00                   mov     eax, [eax]
  45. 0054E456   8B10                   mov     edx, [eax]
  46. 0054E458   FF92E8000000           call    dword ptr [edx+$00E8]
  47. 0054E45E   E91D040000             jmp     0054E880
  48. 0054E463   8D55C8                 lea     edx, [ebp-$38]
  49. 0054E466   8B87F4020000           mov     eax, [edi+$02F4]

  50. * Reference to: Mask.TCustomMaskEdit.GetText(TCustomMaskEdit):TMaskedText;
  51. |
  52. 0054E46C   E8EB69F3FF             call    00484E5C
  53. 0054E471   8B45C8                 mov     eax, [ebp-$38]
  54. 0054E474   8D55CC                 lea     edx, [ebp-$34]

  55. * Reference to: SysUtils.Trim(AnsiString):AnsiString;overload;
  56. |
  57. 0054E477   E818B3EBFF             call    00409794
  58. 0054E47C   837DCC00               cmp     dword ptr [ebp-$34], +$00
  59. 0054E480   752E                   jnz     0054E4B0
  60. 0054E482   8B15BC995800           mov     edx, [$005899BC]
  61. 0054E488   8B12                   mov     edx, [edx]
  62. 0054E48A   A1A4995800             mov     eax, dword ptr [$005899A4]
  63. 0054E48F   8B00                   mov     eax, [eax]

  64. * Reference to control MaskEdit1 : TMaskEdit
  65. |
  66. 0054E491   8B80F4020000           mov     eax, [eax+$02F4]

  67. * Reference to: Controls.TControl.SetText(TControl;TCaption);
  68. |
  69. 0054E497   E85CD3EFFF             call    0044B7F8
  70. 0054E49C   A1A4995800             mov     eax, dword ptr [$005899A4]
  71. 0054E4A1   8B00                   mov     eax, [eax]
  72. 0054E4A3   8B10                   mov     edx, [eax]
  73. 0054E4A5   FF92E8000000           call    dword ptr [edx+$00E8]
  74. 0054E4AB   E9D0030000             jmp     0054E880
  75. 0054E4B0   8D55C4                 lea     edx, [ebp-$3C]
  76. 0054E4B3   8B87F0020000           mov     eax, [edi+$02F0]

  77. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  78. |
  79. 0054E4B9   E80AD3EFFF             call    0044B7C8
  80. 0054E4BE   8B55C4                 mov     edx, [ebp-$3C]
  81. 0054E4C1   B8ECE85400             mov     eax, $0054E8EC

  82. * Reference to: System.@LStrPos;
  83. |
  84. 0054E4C6   E85D6EEBFF             call    00405328
  85. 0054E4CB   8945EC                 mov     [ebp-$14], eax
  86. 0054E4CE   837DEC00               cmp     dword ptr [ebp-$14], +$00
  87. 0054E4D2   752E                   jnz     0054E502
  88. 0054E4D4   8B15549A5800           mov     edx, [$00589A54]
  89. 0054E4DA   8B12                   mov     edx, [edx]
  90. 0054E4DC   A1A4995800             mov     eax, dword ptr [$005899A4]
  91. 0054E4E1   8B00                   mov     eax, [eax]

  92. * Reference to control MaskEdit1 : TMaskEdit
  93. |
  94. 0054E4E3   8B80F4020000           mov     eax, [eax+$02F4]

  95. * Reference to: Controls.TControl.SetText(TControl;TCaption);
  96. |
  97. 0054E4E9   E80AD3EFFF             call    0044B7F8
  98. 0054E4EE   A1A4995800             mov     eax, dword ptr [$005899A4]
  99. 0054E4F3   8B00                   mov     eax, [eax]
  100. 0054E4F5   8B10                   mov     edx, [eax]
  101. 0054E4F7   FF92E8000000           call    dword ptr [edx+$00E8]
  102. 0054E4FD   E97E030000             jmp     0054E880
  103. 0054E502   C745E47A0D0000         mov     dword ptr [ebp-$1C], $00000D7A
  104. 0054E509   8B75EC                 mov     esi, [ebp-$14]
  105. 0054E50C   85F6                   test    esi, esi
  106. 0054E50E   7E24                   jle     0054E534
  107. 0054E510   BB01000000             mov     ebx, $00000001
  108. 0054E515   8D55C0                 lea     edx, [ebp-$40]
  109. 0054E518   8B87F0020000           mov     eax, [edi+$02F0]

  110. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  111. |
  112. 0054E51E   E8A5D2EFFF             call    0044B7C8
  113. 0054E523   8B45C0                 mov     eax, [ebp-$40]
  114. 0054E526   0FB64418FF             movzx   eax, byte ptr [eax+ebx-$01]
  115. 0054E52B   F7EB                   imul    ebx
  116. 0054E52D   0145E4                 add     [ebp-$1C], eax
  117. 0054E530   43                     inc     ebx
  118. 0054E531   4E                     dec     esi
  119. 0054E532   75E1                   jnz     0054E515
  120. 0054E534   8D55F8                 lea     edx, [ebp-$08]
  121. 0054E537   8B45E4                 mov     eax, [ebp-$1C]

  122. * Reference to: SysUtils.IntToStr(Integer):AnsiString;overload;
  123. |
  124. 0054E53A   E871B5EBFF             call    00409AB0
  125. 0054E53F   8D55BC                 lea     edx, [ebp-$44]
  126. 0054E542   8B87F0020000           mov     eax, [edi+$02F0]

  127. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  128. |
  129. 0054E548   E87BD2EFFF             call    0044B7C8
  130. 0054E54D   8B45BC                 mov     eax, [ebp-$44]

  131. * Reference to: System.@LStrLen(String):Integer;
  132. |           or: System.@DynArrayLength;
  133. |           or: System.DynArraySize(Pointer):Integer;
  134. |           or: Variants.DynArraySize(Pointer):Integer;
  135. |
  136. 0054E550   E8976AEBFF             call    00404FEC
  137. 0054E555   83F800                 cmp     eax, +$00
  138. 0054E558   7C27                   jl      0054E581
  139. 0054E55A   8945E8                 mov     [ebp-$18], eax
  140. 0054E55D   8D55B8                 lea     edx, [ebp-$48]
  141. 0054E560   8B87F0020000           mov     eax, [edi+$02F0]

  142. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  143. |
  144. 0054E566   E85DD2EFFF             call    0044B7C8
  145. 0054E56B   8B45B8                 mov     eax, [ebp-$48]
  146. 0054E56E   8B55E8                 mov     edx, [ebp-$18]
  147. 0054E571   807C10FF2E             cmp     byte ptr [eax+edx-$01], $2E
  148. 0054E576   7409                   jz      0054E581
  149. 0054E578   FF4DE8                 dec     dword ptr [ebp-$18]
  150. 0054E57B   837DE8FF               cmp     dword ptr [ebp-$18], -$01
  151. 0054E57F   75DC                   jnz     0054E55D
  152. 0054E581   837DE800               cmp     dword ptr [ebp-$18], +$00
  153. 0054E585   752E                   jnz     0054E5B5
  154. 0054E587   8B15549A5800           mov     edx, [$00589A54]
  155. 0054E58D   8B12                   mov     edx, [edx]
  156. 0054E58F   A1A4995800             mov     eax, dword ptr [$005899A4]
  157. 0054E594   8B00                   mov     eax, [eax]

  158. * Reference to control MaskEdit1 : TMaskEdit
  159. |
  160. 0054E596   8B80F4020000           mov     eax, [eax+$02F4]

  161. * Reference to: Controls.TControl.SetText(TControl;TCaption);
  162. |
  163. 0054E59C   E857D2EFFF             call    0044B7F8
  164. 0054E5A1   A1A4995800             mov     eax, dword ptr [$005899A4]
  165. 0054E5A6   8B00                   mov     eax, [eax]
  166. 0054E5A8   8B10                   mov     edx, [eax]
  167. 0054E5AA   FF92E8000000           call    dword ptr [edx+$00E8]
  168. 0054E5B0   E9CB020000             jmp     0054E880
  169. 0054E5B5   C745E0B41C0000         mov     dword ptr [ebp-$20], $00001CB4
  170. 0054E5BC   8B5DEC                 mov     ebx, [ebp-$14]
  171. 0054E5BF   8B75E8                 mov     esi, [ebp-$18]
  172. 0054E5C2   83EE02                 sub     esi, +$02
  173. 0054E5C5   2BF3                   sub     esi, ebx
  174. 0054E5C7   7C20                   jl      0054E5E9
  175. 0054E5C9   46                     inc     esi
  176. 0054E5CA   8D55B4                 lea     edx, [ebp-$4C]
  177. 0054E5CD   8B87F0020000           mov     eax, [edi+$02F0]

  178. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  179. |
  180. 0054E5D3   E8F0D1EFFF             call    0044B7C8
  181. 0054E5D8   8B45B4                 mov     eax, [ebp-$4C]
  182. 0054E5DB   0FB64418FF             movzx   eax, byte ptr [eax+ebx-$01]
  183. 0054E5E0   F7EB                   imul    ebx
  184. 0054E5E2   0145E0                 add     [ebp-$20], eax
  185. 0054E5E5   43                     inc     ebx
  186. 0054E5E6   4E                     dec     esi
  187. 0054E5E7   75E1                   jnz     0054E5CA
  188. 0054E5E9   8D55F4                 lea     edx, [ebp-$0C]
  189. 0054E5EC   8B45E0                 mov     eax, [ebp-$20]

  190. * Reference to: SysUtils.IntToStr(Integer):AnsiString;overload;
  191. |
  192. 0054E5EF   E8BCB4EBFF             call    00409AB0
  193. 0054E5F4   C745DCE9100000         mov     dword ptr [ebp-$24], $000010E9
  194. 0054E5FB   8B5DE8                 mov     ebx, [ebp-$18]
  195. 0054E5FE   83EB02                 sub     ebx, +$02
  196. 0054E601   8D55B0                 lea     edx, [ebp-$50]
  197. 0054E604   8B87F0020000           mov     eax, [edi+$02F0]

  198. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  199. |
  200. 0054E60A   E8B9D1EFFF             call    0044B7C8
  201. 0054E60F   8B45B0                 mov     eax, [ebp-$50]

  202. * Reference to: System.@LStrLen(String):Integer;
  203. |           or: System.@DynArrayLength;
  204. |           or: System.DynArraySize(Pointer):Integer;
  205. |           or: Variants.DynArraySize(Pointer):Integer;
  206. |
  207. 0054E612   E8D569EBFF             call    00404FEC
  208. 0054E617   8BF0                   mov     esi, eax
  209. 0054E619   2BF3                   sub     esi, ebx
  210. 0054E61B   7C20                   jl      0054E63D
  211. 0054E61D   46                     inc     esi
  212. 0054E61E   8D55AC                 lea     edx, [ebp-$54]
  213. 0054E621   8B87F0020000           mov     eax, [edi+$02F0]

  214. * Reference to: Controls.TControl.GetText(TControl):TCaption;
  215. |
  216. 0054E627   E89CD1EFFF             call    0044B7C8
  217. 0054E62C   8B45AC                 mov     eax, [ebp-$54]
  218. 0054E62F   0FB64418FF             movzx   eax, byte ptr [eax+ebx-$01]
  219. 0054E634   F7EB                   imul    ebx
  220. 0054E636   0145DC                 add     [ebp-$24], eax
  221. 0054E639   43                     inc     ebx
  222. 0054E63A   4E                     dec     esi
  223. 0054E63B   75E1                   jnz     0054E61E
  224. 0054E63D   8D55F0                 lea     edx, [ebp-$10]
  225. 0054E640   8B45DC                 mov     eax, [ebp-$24]

  226. * Reference to: SysUtils.IntToStr(Integer):AnsiString;overload;
  227. |
  228. 0054E643   E868B4EBFF             call    00409AB0
  229. 0054E648   8D55FC                 lea     edx, [ebp-$04]
  230. 0054E64B   8B87F4020000           mov     eax, [edi+$02F4]

  231. * Reference to: Mask.TCustomMaskEdit.GetText(TCustomMaskEdit):TMaskedText;
  232. |
  233. 0054E651   E80668F3FF             call    00484E5C
  234. 0054E656   8B55FC                 mov     edx, [ebp-$04]
  235. 0054E659   B8F8E85400             mov     eax, $0054E8F8

  236. * Reference to: System.@LStrPos;
  237. |
  238. 0054E65E   E8C56CEBFF             call    00405328
  239. 0054E663   8BD8                   mov     ebx, eax
  240. 0054E665   85DB                   test    ebx, ebx
  241. 0054E667   7504                   jnz     0054E66D
  242. 0054E669   33F6                   xor     esi, esi
  243. 0054E66B   EB32                   jmp     0054E69F
  244. 0054E66D   8D45A8                 lea     eax, [ebp-$58]
  245. 0054E670   50                     push    eax
  246. 0054E671   8BCB                   mov     ecx, ebx
  247. 0054E673   49                     dec     ecx
  248. 0054E674   BA01000000             mov     edx, $00000001
  249. 0054E679   8B45FC                 mov     eax, [ebp-$04]

  250. * Reference to: System.@LStrCopy;
  251. |
  252. 0054E67C   E8C36BEBFF             call    00405244
  253. 0054E681   8B45A8                 mov     eax, [ebp-$58]

  254. * Reference to: SysUtils.StrToInt(AnsiString):Integer;
  255. |
  256. 0054E684   E88BB4EBFF             call    00409B14
  257. 0054E689   8BF0                   mov     esi, eax
  258. 0054E68B   8D45FC                 lea     eax, [ebp-$04]
  259. 0054E68E   50                     push    eax
  260. 0054E68F   8D5301                 lea     edx, [ebx+$01]
  261. 0054E692   B9FF000000             mov     ecx, $000000FF
  262. 0054E697   8B45FC                 mov     eax, [ebp-$04]

  263. * Reference to: System.@LStrCopy;
  264. |
  265. 0054E69A   E8A56BEBFF             call    00405244
  266. 0054E69F   8B55FC                 mov     edx, [ebp-$04]
  267. 0054E6A2   B8F8E85400             mov     eax, $0054E8F8

  268. * Reference to: System.@LStrPos;
  269. |
  270. 0054E6A7   E87C6CEBFF             call    00405328
  271. 0054E6AC   8BD8                   mov     ebx, eax
  272. 0054E6AE   85DB                   test    ebx, ebx
  273. 0054E6B0   7509                   jnz     0054E6BB
  274. 0054E6B2   33C0                   xor     eax, eax
  275. 0054E6B4   8945D8                 mov     [ebp-$28], eax
  276. 0054E6B7   33C0                   xor     eax, eax
  277. 0054E6B9   EB3B                   jmp     0054E6F6
  278. 0054E6BB   8D45A4                 lea     eax, [ebp-$5C]
  279. 0054E6BE   50                     push    eax
  280. 0054E6BF   8BCB                   mov     ecx, ebx
  281. 0054E6C1   49                     dec     ecx
  282. 0054E6C2   BA01000000             mov     edx, $00000001
  283. 0054E6C7   8B45FC                 mov     eax, [ebp-$04]

  284. * Reference to: System.@LStrCopy;
  285. |
  286. 0054E6CA   E8756BEBFF             call    00405244
  287. 0054E6XF   8B45A4                 mov     eax, [ebp-$5C]

  288. * Reference to: SysUtils.StrToInt(AnsiString):Integer;
  289. |
  290. 0054E6D2   E83DB4EBFF             call    00409B14
  291. 0054E6D7   8945D8                 mov     [ebp-$28], eax
  292. 0054E6DA   8D45FC                 lea     eax, [ebp-$04]
  293. 0054E6DD   50                     push    eax
  294. 0054E6DE   8D5301                 lea     edx, [ebx+$01]
  295. 0054E6E1   B9FF000000             mov     ecx, $000000FF
  296. 0054E6E6   8B45FC                 mov     eax, [ebp-$04]

  297. * Reference to: System.@LStrCopy;
  298. |
  299. 0054E6E9   E8566BEBFF             call    00405244
  300. 0054E6EE   8B45FC                 mov     eax, [ebp-$04]

  301. * Reference to: SysUtils.StrToInt(AnsiString):Integer;
  302. |
  303. 0054E6F1   E81EB4EBFF             call    00409B14
  304. 0054E6F6   3B75E4                 cmp     esi, [ebp-$1C]
  305. 0054E6F9   0F8553010000           jnz     0054E852
  306. 0054E6FF   8B55D8                 mov     edx, [ebp-$28]
  307. 0054E702   3B55E0                 cmp     edx, [ebp-$20]
  308. 0054E705   0F8547010000           jnz     0054E852
  309. 0054E70B   3B45DC                 cmp     eax, [ebp-$24]
  310. 0054E70E   0F853E010000           jnz     0054E852
  311. 0054E714   B201                   mov     dl, $01
  312. 0054E716   A144274700             mov     eax, dword ptr [$00472744]

  313. * Reference to: Registry.TRegistry.Create(TRegistry;boolean);overload;
  314. |
  315. 0054E71B   E82441F2FF             call    00472844
  316. 0054E720   A3D8FB5800             mov     dword ptr [$0058FBD8], eax
  317. 0054E725   BA01000080             mov     edx, $80000001
  318. 0054E72A   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  319. * Reference to: Registry.TRegistry.SetRootKey(TRegistry;HKEY);
  320. |
  321. 0054E72F   E8B041F2FF             call    004728E4
  322. 0054E734   6804E95400             push    $0054E904
  323. 0054E739   A1309B5800             mov     eax, dword ptr [$00589B30]
  324. 0054E73E   FF30                   push    dword ptr [eax]
  325. 0054E740   6804E95400             push    $0054E904
  326. 0054E745   8D45A0                 lea     eax, [ebp-$60]
  327. 0054E748   BA03000000             mov     edx, $00000003

  328. |
  329. 0054E74D   E85A69EBFF             call    004050AC
  330. 0054E752   8B55A0                 mov     edx, [ebp-$60]
  331. 0054E755   B101                   mov     cl, $01
  332. 0054E757   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  333. * Reference to: Registry.TRegistry.OpenKey(TRegistry;AnsiString;Boolean):Boolean;
  334. |
  335. 0054E75C   E8C342F2FF             call    00472A24
  336. 0054E761   6804E95400             push    $0054E904
  337. 0054E766   A1309B5800             mov     eax, dword ptr [$00589B30]
  338. 0054E76B   FF30                   push    dword ptr [eax]
  339. 0054E76D   6804E95400             push    $0054E904
  340. 0054E772   A1AC9B5800             mov     eax, dword ptr [$00589BAC]
  341. 0054E777   FF30                   push    dword ptr [eax]
  342. 0054E779   8D459C                 lea     eax, [ebp-$64]
  343. 0054E77C   BA04000000             mov     edx, $00000004

  344. |
  345. 0054E781   E82669EBFF             call    004050AC
  346. 0054E786   8B559C                 mov     edx, [ebp-$64]
  347. 0054E789   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  348. * Reference to: Registry.TRegistry.CreateKey(TRegistry;AnsiString):Boolean;
  349. |
  350. 0054E78E   E8B541F2FF             call    00472948
  351. 0054E793   8B15AC9B5800           mov     edx, [$00589BAC]
  352. 0054E799   8B12                   mov     edx, [edx]
  353. 0054E79B   B101                   mov     cl, $01
  354. 0054E79D   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  355. * Reference to: Registry.TRegistry.OpenKey(TRegistry;AnsiString;Boolean):Boolean;
  356. |
  357. 0054E7A2   E87D42F2FF             call    00472A24
  358. 0054E7A7   A1C0A05800             mov     eax, dword ptr [$0058A0C0]
  359. 0054E7AC   C60001                 mov     byte ptr [eax], $01
  360. 0054E7AF   8B0DC0A05800           mov     ecx, [$0058A0C0]
  361. 0054E7B5   8A09                   mov     cl, byte ptr [ecx]
  362. 0054E7B7   8B15AC9B5800           mov     edx, [$00589BAC]
  363. 0054E7BD   8B12                   mov     edx, [edx]
  364. 0054E7BF   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  365. * Reference to: Registry.TRegistry.WriteBool(TRegistry;AnsiString;Boolean);
  366. |
  367. 0054E7C4   E85F44F2FF             call    00472C28
  368. 0054E7C9   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  369. * Reference to: Registry.TRegistry.CloseKey(TRegistry);
  370. |
  371. 0054E7CE   E8E140F2FF             call    004728B4
  372. 0054E7D3   A1D8FB5800             mov     eax, dword ptr [$0058FBD8]

  373. * Reference to: System.TObject.Free(TObject);
  374. |
  375. 0054E7D8   E8C757EBFF             call    00403FA4
  376. 0054E7DD   A138995800             mov     eax, dword ptr [$00589938]
  377. 0054E7E2   8B00                   mov     eax, [eax]
  378. 0054E7E4   8B806C050000           mov     eax, [eax+$056C]
  379. 0054E7EA   33D2                   xor     edx, edx

  380. * Reference to: Menus.TMenuItem.SetEnabled(TMenuItem;Boolean);
  381. |
  382. 0054E7EC   E8DBF4F0FF             call    0045DCCC
  383. 0054E7F1   6810E95400             push    $0054E910
  384. 0054E7F6   A144965800             mov     eax, dword ptr [$00589644]
  385. 0054E7FB   FF30                   push    dword ptr [eax]
  386. 0054E7FD   6810E95400             push    $0054E910
  387. 0054E802   6810E95400             push    $0054E910
  388. 0054E807   6810E95400             push    $0054E910
  389. 0054E80C   A1509F5800             mov     eax, dword ptr [$00589F50]
  390. 0054E811   FF30                   push    dword ptr [eax]
  391. 0054E813   6810E95400             push    $0054E910
  392. 0054E818   8D4598                 lea     eax, [ebp-$68]
  393. 0054E81B   BA07000000             mov     edx, $00000007

  394. |
  395. 0054E820   E88768EBFF             call    004050AC
  396. 0054E825   8B5598                 mov     edx, [ebp-$68]
  397. 0054E828   A1A4995800             mov     eax, dword ptr [$005899A4]
  398. 0054E82D   8B00                   mov     eax, [eax]

  399. * Reference to control MaskEdit1 : TMaskEdit
  400. |
  401. 0054E82F   8B80F4020000           mov     eax, [eax+$02F4]

  402. * Reference to: Controls.TControl.SetText(TControl;TCaption);
  403. |
  404. 0054E835   E8BEXFEFFF             call    0044B7F8
  405. 0054E83A   A1A4995800             mov     eax, dword ptr [$005899A4]
  406. 0054E83F   8B00                   mov     eax, [eax]
  407. 0054E841   8B10                   mov     edx, [eax]
  408. 0054E843   FF92E8000000           call    dword ptr [edx+$00E8]
  409. 0054E849   8BC7                   mov     eax, edi

  410. * Reference to: Forms.TCustomForm.Close(TCustomForm);
  411. |
  412. 0054E84B   E8DCA3F1FF             call    00468C2C
  413. 0054E850   EB2E                   jmp     0054E880
  414. 0054E852   8B1564985800           mov     edx, [$00589864]
  415. 0054E858   8B12                   mov     edx, [edx]
  416. 0054E85A   A1A4995800             mov     eax, dword ptr [$005899A4]
  417. 0054E85F   8B00                   mov     eax, [eax]

  418. * Reference to control MaskEdit1 : TMaskEdit
  419. |
  420. 0054E861   8B80F4020000           mov     eax, [eax+$02F4]

  421. * Reference to: Controls.TControl.SetText(TControl;TCaption);
  422. |
  423. 0054E867   E88CXFEFFF             call    0044B7F8
  424. 0054E86C   A1A4995800             mov     eax, dword ptr [$005899A4]
  425. 0054E871   8B00                   mov     eax, [eax]
  426. 0054E873   8B10                   mov     edx, [eax]
  427. 0054E875   FF92E8000000           call    dword ptr [edx+$00E8]

  428. * Reference to: System.@Halt0;
  429. |
  430. 0054E87B   E8C463EBFF             call    00404C44
  431. 0054E880   33C0                   xor     eax, eax
  432. 0054E882   5A                     pop     edx
  433. 0054E883   59                     pop     ecx
  434. 0054E884   59                     pop     ecx
  435. 0054E885   648910                 mov     fs:[eax], edx

  436. ****** FINALLY
  437. |

  438. * Possible String Reference to: '_^[嬪]?
  439. |
  440. 0054E888   68DCE85400             push    $0054E8DC
  441. 0054E88D   8D4598                 lea     eax, [ebp-$68]
  442. 0054E890   BA05000000             mov     edx, $00000005

  443. * Reference to: System.@LStrArrayClr(void;void;Integer);
  444. |
  445. 0054E895   E8BE64EBFF             call    00404D58
  446. 0054E89A   8D45AC                 lea     eax, [ebp-$54]
  447. 0054E89D   BA07000000             mov     edx, $00000007

  448. * Reference to: System.@LStrArrayClr(void;void;Integer);
  449. |
  450. 0054E8A2   E8B164EBFF             call    00404D58
  451. 0054E8A7   8D45C8                 lea     eax, [ebp-$38]

  452. * Reference to: System.@LStrClr(void;void);
  453. |
  454. 0054E8AA   E88564EBFF             call    00404D34
  455. 0054E8AF   8D45CC                 lea     eax, [ebp-$34]

  456. * Reference to: System.@LStrClr(void;void);
  457. |
  458. 0054E8B2   E87D64EBFF             call    00404D34
  459. 0054E8B7   8D45D0                 lea     eax, [ebp-$30]

  460. * Reference to: System.@LStrClr(void;void);
  461. |
  462. 0054E8BA   E87564EBFF             call    00404D34
  463. 0054E8BF   8D45D4                 lea     eax, [ebp-$2C]

  464. * Reference to: System.@LStrClr(void;void);
  465. |
  466. 0054E8C2   E86D64EBFF             call    00404D34
  467. 0054E8C7   8D45F0                 lea     eax, [ebp-$10]
  468. 0054E8CA   BA04000000             mov     edx, $00000004

  469. * Reference to: System.@LStrArrayClr(void;void;Integer);
  470. |
  471. 0054E8XF   E88464EBFF             call    00404D58
  472. 0054E8D4   C3                     ret


  473. * Reference to: System.@HandleFinally;
  474. |
  475. 0054E8D5   E95E5EEBFF             jmp     00404738
  476. 0054E8DA   EBB1                   jmp     0054E88D

  477. ****** END
  478. |
  479. 0054E8DC   5F                     pop     edi
  480. 0054E8DD   5E                     pop     esi
  481. 0054E8DE   5B                     pop     ebx
  482. 0054E8DF   8BE5                   mov     esp, ebp
  483. 0054E8E1   5D                     pop     ebp
  484. 0054E8E2   C3                     ret
复制代码


【算法总结】:(以邮件名[email protected]为例)
邮件名(登入名)和注册码(暗码)不能为空,且邮件名格局有必要准确。注册码由邮件名核算得出,非明码对比,分三段进行核算:
榜首段:顺次取@及其前面字符ASC码与其方位相乘:ebx=1/2/3/4/5/6,eax=61*1/62*2=C4/129//190/1F9/40*6=180再进行累加(初始值为0xD7A(十进制3450)):=D7A/DDB/E9F/FC8/1158/1351/14D1成果为0x14D1(十进制5329);
第二段:先核算取@后边ASC码的位数:点(.)的方位-2-@的方位=10-2-6=2顺次取@及其后边二位ASC码:ds:[00F52FED]=40 ('@')/31('1')/32('2')与其方位相乘:eax=eax*ebx,成果:ebx=6/7/8,eax=40*6=180/62*2=C4/157/190累加(初始值为0x1CB4(十进制7348)):=0x1CB4(7348)+180=1E34/1F8B/211B成果为0x211B(十进制8475);
第三段:先核算取ASC码需求的位数:esi-ebx=邮件名长度-[点(.)的方位-2]=13-[10-2]=5,再加1=6顺次取邮件名后六位:ds:[00F01B5B]=32('2')/33 ('3')/2E('.')/63 ('c')/6F ('o')/6D ('m')与其方位相乘:eax=eax*ebx,成果:ebx=8/9/A/B/C/D,eax=32*8=190/33*9=1CB/1CC/441/534/589累加(初始值为0x10E9(十进制4329)):=0x10E9(4329)+190=1279/1444/1610/1A51/1F85/250E成果为0x250E(十进制9486);
三段成果的十进制用“-”号相连接即是注册码(暗码),即:5329-8475-9486

注册成功后会把信息写入注册表:HKEY_CURRENT_USER\Software\FamilyTree\FamilyTree,注册版的值为1。把值改为0,则为未注册版。


【领会】:
本程序为非明码对比,算法部分对比明晰,没有过多的搅扰代码,适合吾等菜鸟操练。
本程序是俄毛子的东西,原生不支持中文,需求中文版的能够网上搜索汉化版。这篇文章旨在研讨注册算法,至于是不是实用易用好用则不在这篇文章研讨之列。




FamilyTree v9.0 算法注册机.rar (5.83 KB, 下载次数: 5)

FamilyTree v9.0.part1.rar (990 KB, 下载次数: 1)

FamilyTree v9.0.part2.rar (990 KB, 下载次数: 2)

FamilyTree v9.0.part3.rar (432.79 KB, 下载次数: 1)




联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:店铺流量提升神器破解教程
下一篇:au3反编译方法不错的AU3反编译教程
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:[email protected]),本站将立即改正。

28

积分

1

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
27
海币
322
交易币
0
沙发
发表于 2018-10-25 16:11:30 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2024-4-28 16:41 , Processed in 0.439688 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

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