锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
一款建立家谱的软件注册算法分析(附成品注册机)

作者: 佚名  日期:2017-06-02 16:22:32   来源: 本站整理

 【文章标题】:一款建立家谱的软件注册算法分析(附成品注册机)
【文章作者】:pj2020
【软件名称】:FamilyTree v9.0
【软件大小】:2.37MB
【保护方式】:
注册码
【下载地址】:见附件 
【加壳方式】:UPX 0.89.6 - 1.02 /1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
【编写工具】:Borland Delphi 6.0 -7.0
【破解工具】:
PEID、OD
【操作平台】:盗版XP3
【作者声明】:只是感兴趣,没有其他目的
【软件简介】: 俄毛子写的用于建立家谱的软件。你可以建立详细的家族谱系,可以增加照片和自传,本软件界面简洁美观。
【思路方法】:
一、查壳:UPX 0.89.6 - 1.02 /1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
 
脱壳后:Borland Delphi 6.0 - 7.0
 

二、试注册:Login:abcde@123.comPassword:123456789试注册错误提示:The login or the password is incorrect 


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

[Asm] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
0054E40A    55              push ebp
0054E40B    68 D5E85400     push FamilyTr.0054E8D5
0054E410    64:FF30         push dword ptr fs:[eax]
0054E413    64:8920         mov dword ptr fs:[eax],esp
0054E416    8D55 D0         lea edx,dword ptr ss:[ebp-0x30]
0054E419    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E41F    E8 A4D3EFFF     call FamilyTr.0044B7C8
0054E424    8B45 D0         mov eax,dword ptr ss:[ebp-0x30]         ; 邮件名
0054E427    8D55 D4         lea edx,dword ptr ss:[ebp-0x2C]
0054E42A    E8 65B3EBFF     call FamilyTr.00409794
0054E42F    837D D4 00      cmp dword ptr ss:[ebp-0x2C],0x0         ; 邮件名不能为空
0054E433    75 2E           jnz short FamilyTr.0054E463
0054E435    8B15 BC995800   mov edx,dword ptr ds:[0x5899BC]         ; FamilyTr.0058FBAC
0054E43B    8B12            mov edx,dword ptr ds:[edx]
0054E43D    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E442    8B00            mov eax,dword ptr ds:[eax]
0054E444    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
0054E44A    E8 A9D3EFFF     call FamilyTr.0044B7F8
0054E44F    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E454    8B00            mov eax,dword ptr ds:[eax]
0054E456    8B10            mov edx,dword ptr ds:[eax]
0054E458    FF92 E8000000   call dword ptr ds:[edx+0xE8]
0054E45E    E9 1D040000     jmp FamilyTr.0054E880
0054E463    8D55 C8         lea edx,dword ptr ss:[ebp-0x38]
0054E466    8B87 F4020000   mov eax,dword ptr ds:[edi+0x2F4]
0054E46C    E8 EB69F3FF     call FamilyTr.00484E5C
0054E471    8B45 C8         mov eax,dword ptr ss:[ebp-0x38]         ; 假码
0054E474    8D55 CC         lea edx,dword ptr ss:[ebp-0x34]
0054E477    E8 18B3EBFF     call FamilyTr.00409794
0054E47C    837D CC 00      cmp dword ptr ss:[ebp-0x34],0x0         ; 注册码不能为空
0054E480    75 2E           jnz short FamilyTr.0054E4B0
0054E482    8B15 BC995800   mov edx,dword ptr ds:[0x5899BC]         ; FamilyTr.0058FBAC
0054E488    8B12            mov edx,dword ptr ds:[edx]
0054E48A    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E48F    8B00            mov eax,dword ptr ds:[eax]
0054E491    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
0054E497    E8 5CD3EFFF     call FamilyTr.0044B7F8
0054E49C    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E4A1    8B00            mov eax,dword ptr ds:[eax]
0054E4A3    8B10            mov edx,dword ptr ds:[eax]
0054E4A5    FF92 E8000000   call dword ptr ds:[edx+0xE8]
0054E4AB    E9 D0030000     jmp FamilyTr.0054E880
0054E4B0    8D55 C4         lea edx,dword ptr ss:[ebp-0x3C]
0054E4B3    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E4B9    E8 0AD3EFFF     call FamilyTr.0044B7C8
0054E4BE    8B55 C4         mov edx,dword ptr ss:[ebp-0x3C]         ; 读取邮箱名 "abcde@123.com"
0054E4C1    B8 ECE85400     mov eax,FamilyTr.0054E8EC               
0054E4C6    E8 5D6EEBFF     call FamilyTr.00405328                  ; 检测邮箱名是否带“@”符号
0054E4CB    8945 EC         mov dword ptr ss:[ebp-0x14],eax         ; 符号“@”在邮件名中的位置,eax=0x6
0054E4CE    837D EC 00      cmp dword ptr ss:[ebp-0x14],0x0         ; 若邮箱名中无“@”符号,则提示输入正确的邮箱名
0054E4D2    75 2E           jnz short FamilyTr.0054E502
0054E4D4    8B15 549A5800   mov edx,dword ptr ds:[0x589A54]         ; 胞X
0054E4DA    8B12            mov edx,dword ptr ds:[edx]
0054E4DC    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E4E1    8B00            mov eax,dword ptr ds:[eax]
0054E4E3    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
0054E4E9    E8 0AD3EFFF     call FamilyTr.0044B7F8
0054E4EE    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E4F3    8B00            mov eax,dword ptr ds:[eax]
0054E4F5    8B10            mov edx,dword ptr ds:[eax]
0054E4F7    FF92 E8000000   call dword ptr ds:[edx+0xE8]
0054E4FD    E9 7E030000     jmp FamilyTr.0054E880
0054E502    C745 E4 7A0D000>mov dword ptr ss:[ebp-0x1C],0xD7A       ; 第一次赋初始值0xD7A
0054E509    8B75 EC         mov esi,dword ptr ss:[ebp-0x14]         
0054E50C    85F6            test esi,esi
0054E50E    7E 24           jle short FamilyTr.0054E534
0054E510    BB 01000000     mov ebx,0x1                             ; ebx=0x1
0054E515    8D55 C0         lea edx,dword ptr ss:[ebp-0x40]
0054E518    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E51E    E8 A5D2EFFF     call FamilyTr.0044B7C8
0054E523    8B45 C0         mov eax,dword ptr ss:[ebp-0x40]         ; 邮箱名"abcde@123.com"
0054E526    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]     ; 依次取邮箱名@及其前面字符ASC码
0054E52B    F7EB            imul ebx                               ; ASC码与对应位置相乘
0054E52D    0145 E4         add dword ptr ss:[ebp-0x1C],eax         ; 累加,结果为14D1
0054E530    43              inc ebx
0054E531    4E              dec esi
0054E532  ^ 75 E1           jnz short FamilyTr.0054E515
0054E534    8D55 F8         lea edx,dword ptr ss:[ebp-0x8]
0054E537    8B45 E4         mov eax,dword ptr ss:[ebp-0x1C]         ; 第一次累加结果给eax=0x14D1(十进制5329)
0054E53A    E8 71B5EBFF     call FamilyTr.00409AB0
0054E53F    8D55 BC         lea edx,dword ptr ss:[ebp-0x44]
0054E542    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E548    E8 7BD2EFFF     call FamilyTr.0044B7C8
0054E54D    8B45 BC         mov eax,dword ptr ss:[ebp-0x44]         ; 邮箱名"abcde@123.com"
0054E550    E8 976AEBFF     call FamilyTr.00404FEC
0054E555    83F8 00         cmp eax,0x0                             ; 邮箱名长度:eax=0xD
0054E558    7C 27           jl short FamilyTr.0054E581
0054E55A    8945 E8         mov dword ptr ss:[ebp-0x18],eax
0054E55D    8D55 B8         lea edx,dword ptr ss:[ebp-0x48]
0054E560    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E566    E8 5DD2EFFF     call FamilyTr.0044B7C8
0054E56B    8B45 B8         mov eax,dword ptr ss:[ebp-0x48]         ; 邮箱名"abcde@123.com"
0054E56E    8B55 E8         mov edx,dword ptr ss:[ebp-0x18]         ; 邮箱名长度:eax=0xD
0054E571    807C10 FF 2E    cmp byte ptr ds:[eax+edx-0x1],0x2E      ; 倒序检测邮箱名点(.)的位置
0054E576    74 09           je short FamilyTr.0054E581
0054E578    FF4D E8         dec dword ptr ss:[ebp-0x18]             ; 邮箱名长度减1
0054E57B    837D E8 FF      cmp dword ptr ss:[ebp-0x18],-0x1
0054E57F  ^ 75 DC           jnz short FamilyTr.0054E55D             ; 没完?继续
0054E581    837D E8 00      cmp dword ptr ss:[ebp-0x18],0x0         ; 没有检测到点(.)就提示输入正确的邮件名
0054E585    75 2E           jnz short FamilyTr.0054E5B5
0054E587    8B15 549A5800   mov edx,dword ptr ds:[0x589A54]         ; 胞X
0054E58D    8B12            mov edx,dword ptr ds:[edx]
0054E58F    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E594    8B00            mov eax,dword ptr ds:[eax]
0054E596    8B80 F4020000   mov eax,dword ptr ds:[eax+0x2F4]
0054E59C    E8 57D2EFFF     call FamilyTr.0044B7F8
0054E5A1    A1 A4995800     mov eax,dword ptr ds:[0x5899A4]         ; 帖X
0054E5A6    8B00            mov eax,dword ptr ds:[eax]
0054E5A8    8B10            mov edx,dword ptr ds:[eax]
0054E5AA    FF92 E8000000   call dword ptr ds:[edx+0xE8]
0054E5B0    E9 CB020000     jmp FamilyTr.0054E880
0054E5B5    C745 E0 B41C000>mov dword ptr ss:[ebp-0x20],0x1CB4      ; 第二次赋初始值0x1CB4
0054E5BC    8B5D EC         mov ebx,dword ptr ss:[ebp-0x14]         ; 邮箱名符号@的位置
0054E5BF    8B75 E8         mov esi,dword ptr ss:[ebp-0x18]         ; 邮箱名点(.)的位置
0054E5C2    83EE 02         sub esi,0x2                             ; 点(.)的位置-0x2=0xA-2=8
0054E5C5    2BF3            sub esi,ebx                             ; 上面的差-@的位置=8-6=2
0054E5C7    7C 20           jl short FamilyTr.0054E5E9
0054E5C9    46              inc esi                                 
0054E5CA    8D55 B4         lea edx,dword ptr ss:[ebp-0x4C]
0054E5CD    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E5D3    E8 F0D1EFFF     call FamilyTr.0044B7C8
0054E5D8    8B45 B4         mov eax,dword ptr ss:[ebp-0x4C]         ; 邮箱名"abcde@123.com"
0054E5DB    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]     ; 依次取@及其后面二位ASC码
0054E5E0    F7EB            imul ebx                                ; ASC码与对应位置相乘
0054E5E2    0145 E0         add dword ptr ss:[ebp-0x20],eax         ; 累加,结果为211B
0054E5E5    43              inc ebx                                 
0054E5E6    4E              dec esi                                 
0054E5E7  ^ 75 E1           jnz short FamilyTr.0054E5CA
0054E5E9    8D55 F4         lea edx,dword ptr ss:[ebp-0xC]
0054E5EC    8B45 E0         mov eax,dword ptr ss:[ebp-0x20]         ; 第二次累加结果给eax=0x211B(十进制8475)
0054E5EF    E8 BCB4EBFF     call FamilyTr.00409AB0
0054E5F4    C745 DC E910000>mov dword ptr ss:[ebp-0x24],0x10E9      ; 第三次赋初始值0x10E9
0054E5FB    8B5D E8         mov ebx,dword ptr ss:[ebp-0x18]         ; 点(.)的位置
0054E5FE    83EB 02         sub ebx,0x2                             ; 点(.)的位置-0x2=0xA-2=8
0054E601    8D55 B0         lea edx,dword ptr ss:[ebp-0x50]
0054E604    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E60A    E8 B9D1EFFF     call FamilyTr.0044B7C8
0054E60F    8B45 B0         mov eax,dword ptr ss:[ebp-0x50]         ; 邮箱名"abcde@123.com"
0054E612    E8 D569EBFF     call FamilyTr.00404FEC
0054E617    8BF0            mov esi,eax                             ; 邮箱名长度:eax=0xD
0054E619    2BF3            sub esi,ebx                             ; esi-ebx=D-8=5
0054E61B    7C 20           jl short FamilyTr.0054E63D
0054E61D    46              inc esi                                 ; esi=0x5+1=6
0054E61E    8D55 AC         lea edx,dword ptr ss:[ebp-0x54]
0054E621    8B87 F0020000   mov eax,dword ptr ds:[edi+0x2F0]
0054E627    E8 9CD1EFFF     call FamilyTr.0044B7C8
0054E62C    8B45 AC         mov eax,dword ptr ss:[ebp-0x54]         ; 邮箱名"abcde@123.com"
0054E62F    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]     ; 依次取邮件名后六位ASC码
0054E634    F7EB            imul ebx                                ; ASC码与对应位置相乘
0054E636    0145 DC         add dword ptr ss:[ebp-0x24],eax         ; 累加,结果为250E
0054E639    43              inc ebx                                 
0054E63A    4E              dec esi                                 
0054E63B  ^ 75 E1           jnz short FamilyTr.0054E61E
0054E63D    8D55 F0         lea edx,dword ptr ss:[ebp-0x10]
0054E640    8B45 DC         mov eax,dword ptr ss:[ebp-0x24]         ; 第三次累加结果给eax=0x250E(十进制9486)
0054E643    E8 68B4EBFF     call FamilyTr.00409AB0
0054E648    8D55 FC         lea edx,dword ptr ss:[ebp-0x4]
0054E64B    8B87 F4020000   mov eax,dword ptr ds:[edi+0x2F4]
0054E651    E8 0668F3FF     call FamilyTr.00484E5C
0054E656    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]          ; 假码:(ASCII "123456789")
0054E659    B8 F8E85400     mov eax,FamilyTr.0054E8F8               ; 连接符号:“-”
0054E65E    E8 C56CEBFF     call FamilyTr.00405328
0054E663    8BD8            mov ebx,eax                             
0054E665    85DB            test ebx,ebx
0054E667    75 04           jnz short FamilyTr.0054E66D
0054E669    33F6            xor esi,esi
0054E66B    EB 32           jmp short FamilyTr.0054E69F
0054E66D    8D45 A8         lea eax,dword ptr ss:[ebp-0x58]
0054E670    50              push eax
0054E671    8BCB            mov ecx,ebx
0054E673    49              dec ecx
0054E674    BA 01000000     mov edx,0x1
0054E679    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0054E67C    E8 C36BEBFF     call FamilyTr.00405244
0054E681    8B45 A8         mov eax,dword ptr ss:[ebp-0x58]
0054E684    E8 8BB4EBFF     call FamilyTr.00409B14
0054E689    8BF0            mov esi,eax
0054E68B    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
0054E68E    50              push eax
0054E68F    8D53 01         lea edx,dword ptr ds:[ebx+0x1]
0054E692    B9 FF000000     mov ecx,0xFF
0054E697    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0054E69A    E8 A56BEBFF     call FamilyTr.00405244
0054E69F    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]          ; 假码:(ASCII "123456789")
0054E6A2    B8 F8E85400     mov eax,FamilyTr.0054E8F8               ; 连接符号:“-”
0054E6A7    E8 7C6CEBFF     call FamilyTr.00405328
0054E6AC    8BD8            mov ebx,eax
0054E6AE    85DB            test ebx,ebx
0054E6B0    75 09           jnz short FamilyTr.0054E6BB
0054E6B2    33C0            xor eax,eax
0054E6B4    8945 D8         mov dword ptr ss:[ebp-0x28],eax
0054E6B7    33C0            xor eax,eax
0054E6B9    EB 3B           jmp short FamilyTr.0054E6F6
0054E6BB    8D45 A4         lea eax,dword ptr ss:[ebp-0x5C]
0054E6BE    50              push eax
0054E6BF    8BCB            mov ecx,ebx
0054E6C1    49              dec ecx
0054E6C2    BA 01000000     mov edx,0x1
0054E6C7    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0054E6CA    E8 756BEBFF     call FamilyTr.00405244
0054E6CF    8B45 A4         mov eax,dword ptr ss:[ebp-0x5C]
0054E6D2    E8 3DB4EBFF     call FamilyTr.00409B14
0054E6D7    8945 D8         mov dword ptr ss:[ebp-0x28],eax
0054E6DA    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
0054E6DD    50              push eax
0054E6DE    8D53 01         lea edx,dword ptr ds:[ebx+0x1]
0054E6E1    B9 FF000000     mov ecx,0xFF
0054E6E6    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0054E6E9    E8 566BEBFF     call FamilyTr.00405244
0054E6EE    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
0054E6F1    E8 1EB4EBFF     call FamilyTr.00409B14
0054E6F6    3B75 E4         cmp esi,dword ptr ss:[ebp-0x1C]         ; 与第一次累加结果0x14D1(十进制5329)比较,不等就OVER
0054E6F9    0F85 53010000   jnz FamilyTr.0054E852                   ; //跳向失败
0054E6FF    8B55 D8         mov edx,dword ptr ss:[ebp-0x28]
0054E702    3B55 E0         cmp edx,dword ptr ss:[ebp-0x20]         ; 与第二次累加结果0x211B比较,不等就OVER
0054E705    0F85 47010000   jnz FamilyTr.0054E852                   ; //跳向失败
0054E70B    3B45 DC         cmp eax,dword ptr ss:[ebp-0x24]         ; 与第三次累加结果0x250E比较,不等就OVER
0054E70E    0F85 3E010000   jnz FamilyTr.0054E852                   ; //跳向失败
0054E714    B2 01           mov dl,0x1                              ; 若以上三次累加结果都相等,则下面的代码就开始把结果写入注册表并提示注册成功




【算法总结】:(以邮件名abcde@123.com为例)
邮件名(登陆名)和注册码(密码)不能为空,且邮件名格式必须正确。注册码由邮件名计算得出,非明码比较,分三段进行计算:
第一段:依次取@及其前面字符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,则为未注册版。 


【体会】:
本程序为非明码比较,算法部分比较清晰,没有过多的干扰代码,适合吾等新手练习。
本程序是俄毛子的东西,原生不支持中文,需要中文版的可以网上搜索
汉化版。本文旨在研究注册算法,至于是否实用易用好用则不在本文研究之列。
 



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等