錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁(yè)
topFlag3 收藏本站
 
maojin003 首 頁(yè) 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見(jiàn)故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù)技術(shù)文章
D-RecoveryForExfat破解過(guò)程,注冊(cè)算法追蹤

作者: 肥牛  日期:2017-05-31 06:56:31   來(lái)源: 本站整理

破解軟件:D-RecoveryForExfat
破解工具:OD(調(diào)試用),DELPHI7(寫(xiě)測(cè)試用例)
===================================華麗的分割線====================================
D-RecoveryForExfat這個(gè)軟件,運(yùn)行起來(lái)以后,首先會(huì)彈出注冊(cè)窗口請(qǐng)你注冊(cè),不注冊(cè)的話,關(guān)于頁(yè)面會(huì)顯示未注冊(cè)的提示。
 
 

注冊(cè)碼如果輸入不正確的話,會(huì)有提示對(duì)話框。
 
有這個(gè)提示對(duì)話框,相對(duì)而言使用OD會(huì)更方便一些。

首先還是檢查一下是否有殼。
 

顯示是C++的程序,沒(méi)有殼,那就應(yīng)該好辦了。使用OD加載,查找字符串:
 
很輕易地就定位到字符串了,雙擊打開(kāi)代碼部分:
 
好,OD已經(jīng)加載了我們要破解的程序了,我的破解步驟也將慢慢展開(kāi)。
因?yàn)檫@個(gè)軟件耗費(fèi)了我兩天的假期時(shí)間,都是心血啊。
第一部分  猜測(cè)

字符串對(duì)應(yīng)的就是提示注冊(cè)錯(cuò)誤的部分,走到這里應(yīng)該已經(jīng)判斷完注冊(cè)碼了,我們往上看。
 
從這里的代碼可以分析出來(lái),注冊(cè)碼的長(zhǎng)度必須是0x1C,也就是28個(gè)字節(jié)長(zhǎng)度。
我們?cè)?0404D32處,按下F2下斷點(diǎn),然后Ctrl+F2重新運(yùn)行軟件。在注冊(cè)碼框里,輸入28個(gè)字節(jié)的字符,輸入“1234567890ABCDEFGHIJKLM

NOPQR”。點(diǎn)擊注冊(cè)按鈕后,OD截獲中斷
注意一下右下角的堆棧區(qū),有兩個(gè)字符串比較醒目
BV2310db828-90c10a0BVXOHRADDSIK      ---暫時(shí)記做CodeA

LMTgGa8779yDQvIH                                  ---暫時(shí)記做CodeB
F8單步跟蹤,有兩段循環(huán)代碼,你就會(huì)發(fā)現(xiàn),程序把我們剛才輸入的那一長(zhǎng)串注冊(cè)碼處理成了兩部分,“24680BDFHJLN”和“13579ACEGIKM”。

沒(méi)錯(cuò),奇數(shù)位和偶數(shù)位分開(kāi)。
再繼續(xù)F8單步跟蹤,走到00404DE2的時(shí)候,不要再走了。
 
這里是個(gè)CALL,后面跟一個(gè)test eax, eax,再后面就是注冊(cè)失敗的提示。根據(jù)經(jīng)驗(yàn)判斷,這個(gè)CALL是去校驗(yàn)注冊(cè)碼的。
我們先不著急跟進(jìn)去,看一下現(xiàn)場(chǎng),EAX里是“13579ACEGIKMOPQR”,看出來(lái)了沒(méi)有,就是剛才我們輸入的注冊(cè)碼的1、3、5……23位,

再加上注冊(cè)碼的后四位。然后堆棧里還有一個(gè)同樣長(zhǎng)度的字符串,就是剛才那個(gè)CodeB。這個(gè)CALL是不是就是比較這兩個(gè)字符串的呢?
試一下,CTRL+F2重新運(yùn)行,把我們剛才輸入的注冊(cè)碼1234567890ABCDEFGHIJKLMNOPQR,對(duì)應(yīng)的位置換成LMTgGa8779yDQvIH,

也就是L2M4T6g8G0aB8D7F7H9JyLDNQvIH,再注冊(cè)一遍。呃,注冊(cè)成功了……注冊(cè)成功了……竟然注冊(cè)成功了?
我靠,這么簡(jiǎn)單,你逗我玩啊?
我還沒(méi)見(jiàn)到BOSS呢,我還沒(méi)拿到裝備呢,就這么結(jié)束了?好不甘心啊。可是,等等,那個(gè)LMTgGa8779yDQvIH是怎么來(lái)的?得研究明白才行啊!
第二部分 跟蹤


從剛才輸入的注冊(cè)碼就可以看出來(lái),實(shí)際上24680BDFHJLN那些偶數(shù)位其實(shí)根本沒(méi)用上。隨便輸點(diǎn)兒什么都行。那接下來(lái)我們就要去研究LMTgGa8779yDQvIH是怎么來(lái)的了。
這里就跟大家說(shuō)句抱歉了,因?yàn)槲乙彩浅鯇W(xué),OD用的不太熟,所以我只能在出現(xiàn)這個(gè)碼的地址上下硬件斷點(diǎn),這樣一點(diǎn)兒一點(diǎn)兒,終于找到了下面的這段代碼:

[Asm] 純文本查看 復(fù)制代碼
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
004048FA  |> \8D47 1C       lea eax,dword ptr ds:[edi+0x1C]
004048FD  |.  25 7F000080   and eax,0x8000007F
00404902  |.  79 05         jns short D-Recove.00404909
00404904  |.  48            dec eax
00404905  |.  83C8 80       or eax,-0x80
00404908  |.  40            inc eax
00404909  |>  8D4F 1D       lea ecx,dword ptr ds:[edi+0x1D]
0040490C  |.  81E1 7F000080 and ecx,0x8000007F
00404912  |.  884424 30     mov byte ptr ss:[esp+0x30],al
00404916  |.  79 05         jns short D-Recove.0040491D
00404918  |.  49            dec ecx
00404919  |.  83C9 80       or ecx,-0x80
0040491C  |.  41            inc ecx
0040491D  |>  8D47 24       lea eax,dword ptr ds:[edi+0x24]
00404920  |.  25 7F000080   and eax,0x8000007F
00404925  |.  884C24 31     mov byte ptr ss:[esp+0x31],cl
00404929  |.  79 05         jns short D-Recove.00404930
0040492B  |.  48            dec eax
0040492C  |.  83C8 80       or eax,-0x80
0040492F  |.  40            inc eax
00404930  |>  8D4F 37       lea ecx,dword ptr ds:[edi+0x37]
00404933  |.  81E1 7F000080 and ecx,0x8000007F
00404939  |.  884424 32     mov byte ptr ss:[esp+0x32],al
0040493D  |.  79 05         jns short D-Recove.00404944
0040493F  |.  49            dec ecx
00404940  |.  83C9 80       or ecx,-0x80
00404943  |.  41            inc ecx
00404944  |>  83C7 5C       add edi,0x5C
00404947  |.  8BC7          mov eax,edi
00404949  |.  25 7F000080   and eax,0x8000007F
0040494E  |.  884C24 33     mov byte ptr ss:[esp+0x33],cl
00404952  |.  79 05         jns short D-Recove.00404959
00404954  |.  48            dec eax
00404955  |.  83C8 80       or eax,-0x80
00404958  |.  40            inc eax
00404959  |>  8D8B 9A000000 lea ecx,dword ptr ds:[ebx+0x9A]
0040495F  |.  81E1 7F000080 and ecx,0x8000007F
00404965  |.  884424 34     mov byte ptr ss:[esp+0x34],al
00404969  |.  79 05         jns short D-Recove.00404970
0040496B  |.  49            dec ecx
0040496C  |.  83C9 80       or ecx,-0x80
0040496F  |.  41            inc ecx
00404970  |>  8D83 F5000000 lea eax,dword ptr ds:[ebx+0xF5]
00404976  |.  25 7F000080   and eax,0x8000007F
0040497B  |.  884C24 35     mov byte ptr ss:[esp+0x35],cl
0040497F  |.  79 05         jns short D-Recove.00404986
00404981  |.  48            dec eax
00404982  |.  83C8 80       or eax,-0x80
00404985  |.  40            inc eax
00404986  |>  8D8B 74010000 lea ecx,dword ptr ds:[ebx+0x174]
0040498C  |.  81E1 7F000080 and ecx,0x8000007F
00404992  |.  884424 36     mov byte ptr ss:[esp+0x36],al
00404996  |.  79 05         jns short D-Recove.0040499D
00404998  |.  49            dec ecx
00404999  |.  83C9 80       or ecx,-0x80
0040499C  |.  41            inc ecx
0040499D  |>  8D83 1D020000 lea eax,dword ptr ds:[ebx+0x21D]
004049A3  |.  25 7F000080   and eax,0x8000007F
004049A8  |.  884C24 37     mov byte ptr ss:[esp+0x37],cl
004049AC  |.  79 05         jns short D-Recove.004049B3
004049AE  |.  48            dec eax
004049AF  |.  83C8 80       or eax,-0x80
004049B2  |.  40            inc eax
004049B3  |>  81C3 F6020000 add ebx,0x2F6
004049B9  |.  81E3 7F000080 and ebx,0x8000007F
004049BF  |.  884424 38     mov byte ptr ss:[esp+0x38],al
004049C3  |.  79 05         jns short D-Recove.004049CA
004049C5  |.  4B            dec ebx
004049C6  |.  83CB 80       or ebx,-0x80
004049C9  |.  43            inc ebx
004049CA  |>  8D8A 06040000 lea ecx,dword ptr ds:[edx+0x406]
004049D0  |.  81E1 7F000080 and ecx,0x8000007F
004049D6  |.  885C24 39     mov byte ptr ss:[esp+0x39],bl
004049DA  |.  79 05         jns short D-Recove.004049E1
004049DC  |.  49            dec ecx
004049DD  |.  83C9 80       or ecx,-0x80
004049E0  |.  41            inc ecx
004049E1  |>  8D82 51050000 lea eax,dword ptr ds:[edx+0x551]
004049E7  |.  25 7F000080   and eax,0x8000007F
004049EC  |.  884C24 3A     mov byte ptr ss:[esp+0x3A],cl
004049F0  |.  79 05         jns short D-Recove.004049F7
004049F2  |.  48            dec eax
004049F3  |.  83C8 80       or eax,-0x80
004049F6  |.  40            inc eax
004049F7  |>  8D8A DE060000 lea ecx,dword ptr ds:[edx+0x6DE]
004049FD  |.  81E1 7F000080 and ecx,0x8000007F
00404A03  |.  884424 3B     mov byte ptr ss:[esp+0x3B],al
00404A07  |.  79 05         jns short D-Recove.00404A0E
00404A09  |.  49            dec ecx
00404A0A  |.  83C9 80       or ecx,-0x80
00404A0D  |.  41            inc ecx
00404A0E  |>  8D82 B3080000 lea eax,dword ptr ds:[edx+0x8B3]
00404A14  |.  25 7F000080   and eax,0x8000007F
00404A19  |.  884C24 3C     mov byte ptr ss:[esp+0x3C],cl
00404A1D  |.  79 05         jns short D-Recove.00404A24
00404A1F  |.  48            dec eax
00404A20  |.  83C8 80       or eax,-0x80
00404A23  |.  40            inc eax
00404A24  |>  8D8A D60A0000 lea ecx,dword ptr ds:[edx+0xAD6]
00404A2A  |.  81E1 7F000080 and ecx,0x8000007F
00404A30  |.  884424 3D     mov byte ptr ss:[esp+0x3D],al
00404A34  |.  79 05         jns short D-Recove.00404A3B
00404A36  |.  49            dec ecx
00404A37  |.  83C9 80       or ecx,-0x80
00404A3A  |.  41            inc ecx
00404A3B  |>  81C2 4D0D0000 add edx,0xD4D
00404A41  |.  81E2 7F000080 and edx,0x8000007F
00404A47  |.  884C24 3E     mov byte ptr ss:[esp+0x3E],cl
00404A4B  |.  79 05         jns short D-Recove.00404A52
00404A4D  |.  4A            dec edx
00404A4E  |.  83CA 80       or edx,-0x80
00404A51  |.  42            inc edx
00404A52  |>  885424 3F     mov byte ptr ss:[esp+0x3F],dl
00404A56  |.  33D2          xor edx,edx
00404A58  |.  33C9          xor ecx,ecx
00404A5A  |.  8D9B 00000000 lea ebx,dword ptr ds:[ebx]
00404A60  |>  8A4414 30     /mov al,byte ptr ss:[esp+edx+0x30]
00404A64  |.  3C 30         |cmp al,0x30
00404A66  |.  7C 04         |jl short D-Recove.00404A6C
00404A68  |.  3C 39         |cmp al,0x39
00404A6A  |.  7E 29         |jle short D-Recove.00404A95
00404A6C  |>  3C 41         |cmp al,0x41
00404A6E  |.  7C 04         |jl short D-Recove.00404A74
00404A70  |.  3C 5A         |cmp al,0x5A
00404A72  |.  7E 21         |jle short D-Recove.00404A95
00404A74  |>  3C 61         |cmp al,0x61
00404A76  |.  7C 04         |jl short D-Recove.00404A7C
00404A78  |.  3C 7A         |cmp al,0x7A
00404A7A  |.  7E 19         |jle short D-Recove.00404A95
00404A7C  |>  0FBEC0        |movsx eax,al
00404A7F  |.  8D4408 1F     |lea eax,dword ptr ds:[eax+ecx+0x1F]
00404A83  |.  25 7F000080   |and eax,0x8000007F
00404A88  |.  79 05         |jns short D-Recove.00404A8F
00404A8A  |.  48            |dec eax
00404A8B  |.  83C8 80       |or eax,-0x80
00404A8E  |.  40            |inc eax
00404A8F  |>  884414 30     |mov byte ptr ss:[esp+edx+0x30],al
00404A93  |.^ EB CB         |jmp short D-Recove.00404A60
00404A95  |>  83C1 07       |add ecx,0x7
00404A98  |.  83C2 01       |add edx,0x1
00404A9B  |.  83F9 70       |cmp ecx,0x70
00404A9E  |.^ 7C C0         \jl short D-Recove.00404A60
00404AA0  |.  8D4C24 30     lea ecx,dword ptr ss:[esp+0x30]

這段代碼的意思就是從EDI里取值,做了一番處理后形成了碼的前5位,又從EBX取值處理后形成碼的中間5位,最后從EDX里取值得出碼的最后6位。
OK,到現(xiàn)在,CodeB碼是怎么生成的已經(jīng)知道了,但新問(wèn)題又來(lái)了——EDI、EBX、EDX又是怎么得來(lái)的呢?
從這段代碼往前翻,就看到了這樣的代碼:
 
為了便于大家分析,我把代碼也貼出來(lái):
[Asm] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
00404839  |.  8DA424 000000>lea esp,dword ptr ss:[esp]
00404840  |>  8B4C24 18     /mov ecx,dword ptr ss:[esp+0x18]
00404844  |.  8D6E FF       |lea ebp,dword ptr ds:[esi-0x1]
00404847  |.  55            |push ebp
00404848  |.  FF15 D8134400 |call dword ptr ds:[<&MFC80.#865>]   ;  按順序取一個(gè)字符,放在AL中
0040484E  |.  0FBEC8        |movsx ecx,al                        ;  放到ECX中
00404851  |.  83C1 01       |add ecx,0x1                         ;  加1
00404854  |.  894C24 14     |mov dword ptr ss:[esp+0x14],ecx     ;  保存到intTemp14中
00404858  |.  DB4424 14     |fild dword ptr ss:[esp+0x14]        ;  轉(zhuǎn)長(zhǎng)整型壓棧,此時(shí)ST0里是轉(zhuǎn)換后的整數(shù)
0040485C  |.  DB4424 1C     |fild dword ptr ss:[esp+0x1C]        ;  順序號(hào)也壓棧,這時(shí)ST0是順序號(hào),ST1是那個(gè)整數(shù)
00404860  |.  DD5424 1C     |fst qword ptr ss:[esp+0x1C]         ;  把順序號(hào)再保存,但是以雙字保存
00404864  |.  DEC9          |fmulp st(1),st                      ;  ASCII碼+1 乘以位數(shù)
00404866  |.  E8 E5520300   |call D-Recove.00439B50              ;  取存儲(chǔ)器中的值,保存到EAX中
0040486B  |.  8B4C24 18     |mov ecx,dword ptr ss:[esp+0x18]
0040486F  |.  55            |push ebp
00404870  |.  894424 18     |mov dword ptr ss:[esp+0x18],eax
00404874  |.  FF15 D8134400 |call dword ptr ds:[<&MFC80.#865>]   ;  按順序取一個(gè)字符,放在AL中
0040487A  |.  0FBEC0        |movsx eax,al                        ;  放到EAX中
0040487D  |.  0FAF4424 14   |imul eax,dword ptr ss:[esp+0x14]    ;  乘以上面計(jì)算出的得數(shù)
00404882  |.  0FAFC6        |imul eax,esi                        ;  再乘以序號(hào)
00404885  |.  0FAFC6        |imul eax,esi                        ;  再乘以序號(hào)
00404888  |.  03C7          |add eax,edi                         ;  加上上一輪的和,初始為0
0040488A  |.  99            |cdq                                 ;  去符號(hào)
0040488B  |.  B9 A0860100   |mov ecx,0x186A0
00404890  |.  F7F9          |idiv ecx                            ;  除以0x186A0,十進(jìn)制100000,余數(shù)放到EDX中
00404892  |.  8B4C24 18     |mov ecx,dword ptr ss:[esp+0x18]
00404896  |.  55            |push ebp
00404897  |.  8BFA          |mov edi,edx
00404899 >|.  FF15 D8134400 |call dword ptr ds:[<&MFC80.#865>]   ;  mfc80.#2451
0040489F  |.  0FBED0        |movsx edx,al
004048A2  |.  895424 14     |mov dword ptr ss:[esp+0x14],edx
004048A6  |.  B8 02000000   |mov eax,0x2
004048AB  |.  DB4424 14     |fild dword ptr ss:[esp+0x14]
004048AF  |.  D9E8          |fld1
004048B1  |>  A8 01         |/test al,0x1
004048B3  |.  74 02         ||je short D-Recove.004048B7
004048B5  |.  D8C9          ||fmul st,st(1)
004048B7  |>  D1E8          ||shr eax,1
004048B9  |.  74 06         ||je short D-Recove.004048C1
004048BB  |.  D9C1          ||fld st(1)
004048BD  |.  DECA          ||fmulp st(2),st
004048BF  |.^ EB F0         |\jmp short D-Recove.004048B1
004048C1  |>  DDD9          |fstp st(1)
004048C3  |.  DC4C24 1C     |fmul qword ptr ss:[esp+0x1C]        ;  ASCII碼*ASCII碼*位數(shù)
004048C7  |.  E8 84520300   |call D-Recove.00439B50              ;  取存儲(chǔ)器中的值
004048CC  |.  8BC8          |mov ecx,eax
004048CE  |.  8BC6          |mov eax,esi
004048D0  |.  0FAFC3        |imul eax,ebx
004048D3  |.  03C1          |add eax,ecx
004048D5  |.  99            |cdq
004048D6  |.  B9 A0860100   |mov ecx,0x186A0
004048DB  |.  F7F9          |idiv ecx
004048DD  |.  83C6 01       |add esi,0x1
004048E0  |.  897424 1C     |mov dword ptr ss:[esp+0x1C],esi
004048E4  |.  8BDA          |mov ebx,edx
004048E6  |.  8D043B        |lea eax,dword ptr ds:[ebx+edi]
004048E9  |.  99            |cdq
004048EA  |.  F7F9          |idiv ecx
004048EC  |.  3B7424 24     |cmp esi,dword ptr ss:[esp+0x24]
004048F0  |.^ 0F8E 4AFFFFFF \jle D-Recove.00404840


注意看左下角我標(biāo)出來(lái)的那個(gè)字符串,也就是前面提到的CodeA。也就是說(shuō),程序用這個(gè)CodeA經(jīng)過(guò)運(yùn)算處理后,得到的

EDI、EBX、EDX這三個(gè)值。至于運(yùn)算過(guò)程,這里寫(xiě)的也很清楚了,我都已經(jīng)注釋上了,很容易看懂的。
可是那個(gè)字符串BV2310db828-90c10a0BVXOHRADDSIK又是什么呢?
對(duì)這個(gè)地址使用硬件斷點(diǎn)也無(wú)效了,經(jīng)常是在系統(tǒng)代碼里出不來(lái)。這可怎么辦才好?
就在我鼓搗了一整天準(zhǔn)備放棄的時(shí)候,突然想到,我剛才在字符串查找中看到了這樣的字符串“\\.\PhysicalDrive%d”。這好像應(yīng)該是DeviceIoControl函數(shù)用來(lái)取硬盤參數(shù)的。很多程序的注冊(cè)碼都是通過(guò)它來(lái)生成的。而且,它獲取到的信息字符串,字符是兩兩對(duì)調(diào)的。
好吧,去看一下我的電腦硬盤參數(shù)是什么。
 
我這個(gè)是虛擬機(jī),所以磁盤名是VBOX HARDDISK,如果兩兩對(duì)調(diào)的話,就是BVXOH RADDSIK,哦,多么令人激動(dòng)啊。那前面那個(gè)字符串就應(yīng)該是我的磁盤型號(hào)了。
怎么驗(yàn)證呢?只好自己編程了。還是用習(xí)慣的DELPHI7。
 
果然如此,現(xiàn)在所有的問(wèn)題都解決了,可以寫(xiě)注冊(cè)機(jī)了。
過(guò)程我就不寫(xiě)了,說(shuō)幾個(gè)難點(diǎn)吧:
1、取硬盤設(shè)備信息。使用DeviceIoControl函數(shù)可以取出來(lái),但是在WIN10 64位系統(tǒng)上運(yùn)行時(shí),需要管理員權(quán)限。這顯然是不合適的,你不能說(shuō)做一個(gè)注冊(cè)機(jī)還需要人家提升管理員權(quán)限。要不說(shuō)DELPHI程序員省事呢,網(wǎng)上有現(xiàn)成的VCL控件MiTeC。用這個(gè)就可以輕易的獲得磁盤設(shè)備的信息。
2、磁盤字符串的組合。因?yàn)槿〕鰜?lái)的字符串是兩兩對(duì)調(diào)的,如果存在多個(gè)磁盤的情況下,字符串怎么組合才能與原軟件的組成一樣,這是個(gè)很費(fèi)腦筋的事情;
3、從磁盤字符串計(jì)算EDI、EBX、EDX。匯編里的代碼轉(zhuǎn)成DELPHI語(yǔ)言倒是不難,主要是有些匯編指令不熟悉,不知道只做什么用的。比如movsx eax, al,換成DELPHI應(yīng)該怎么寫(xiě)?
4、從EDI、EBX、EDX生成CodeB時(shí)。難點(diǎn)還是在匯編指令上,不停地處理標(biāo)記位,而且DELPHI沒(méi)有這些標(biāo)記位,怎么寫(xiě)才能符合原來(lái)算法的意思,搞得我頭暈。

還好,最終注冊(cè)機(jī)寫(xiě)出來(lái)了。順利在虛擬機(jī)上已經(jīng)實(shí)體電腦上注冊(cè)成功。
 
 

后記:
破解這個(gè)軟件,花費(fèi)了我兩天的時(shí)間,這三天的假期別的都沒(méi)做,滿腦子都是這個(gè)事情。

昨天晚上睡覺(jué)前還在為獲取硬盤設(shè)備信息的事情發(fā)愁,迷迷糊糊做夢(mèng)都是這個(gè)事,只睡了

三個(gè)鐘頭就爬起來(lái)繼續(xù)研究。
另外,這個(gè)軟件注冊(cè)成功后寫(xiě)注冊(cè)表,也寫(xiě)Windows\Win.ini文件,注冊(cè)表里的內(nèi)容刪了,

軟件提示注冊(cè)無(wú)效,但是又沒(méi)有注冊(cè)窗體,等于廢掉了。把Win.ini文件里最后RegCode=那行刪掉就可以重新注冊(cè)了。



熱門文章
  • 機(jī)械革命S1 PRO-02 開(kāi)機(jī)不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點(diǎn)不...
  • 三星一體激光打印機(jī)SCX-4521F維修...
  • 通過(guò)串口命令查看EMMC擦寫(xiě)次數(shù)和判...
  • IIS 8 開(kāi)啟 GZIP壓縮來(lái)減少網(wǎng)絡(luò)請(qǐng)求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對(duì)講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機(jī)始終停留在開(kāi)機(jī)界面...
  • 常見(jiàn)打印機(jī)清零步驟
  • 安裝驅(qū)動(dòng)時(shí)提示不包含數(shù)字簽名的解...
  • 共享打印機(jī)需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機(jī)的...
  • 錦州廣廈電腦上門維修

    報(bào)修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號(hào):遼ICP備2023002984號(hào)-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無(wú)線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 亚洲av无码有乱码在线观看| 国产精品无码不卡一区二区三区| 亚洲午夜无码AV毛片久久| 中文字幕精品无码一区二区 | 亚洲熟妇无码八V在线播放| 久久青青草原亚洲av无码| 亚洲AV无码乱码国产麻豆穿越| 97无码免费人妻超级碰碰碰碰| YW尤物AV无码国产在线观看 | 国产亚洲情侣一区二区无码AV | 国产免费久久久久久无码| 亚洲av永久无码天堂网| 无码中文字幕乱在线观看| 久久精品?ⅴ无码中文字幕| 国产乱妇无码大片在线观看| 久久精品国产亚洲AV无码娇色| 狠狠躁狠狠躁东京热无码专区| 99精品一区二区三区无码吞精 | 亚洲AV无码精品色午夜在线观看 | 亚洲精品无码激情AV| 人妻少妇偷人精品无码| 国产精品亚洲аv无码播放| 久久伊人亚洲AV无码网站| 人妻丰满?V无码久久不卡| 国产成人无码a区在线观看视频免费| 国产成人无码AV在线播放无广告| 亚洲AV无码精品无码麻豆| 国产AV无码专区亚洲AV毛网站 | 国产亚洲?V无码?V男人的天堂| 国产精品无码av片在线观看播| 国产成人无码AV麻豆| 亚洲av永久无码精品三区在线4| 综合无码一区二区三区四区五区| 亚洲中文久久精品无码| 国产成人无码精品一区二区三区| 国产成人无码区免费网站| 午夜福利无码不卡在线观看 | 无码孕妇孕交在线观看| 亚洲国产精品无码中文字| 欧洲人妻丰满av无码久久不卡| 水蜜桃av无码一区二区|