DB Commander 2000 PRO(簡稱DBC_2000)筆記
【前 言】:這是我用ME以外的作業系統破的第一個軟體!這個軟體對於架設<傳奇>私服的朋友是再熟悉不過了!以前這個軟體下載的地方都有破解補丁放在一起的,可是我找了好久都沒有找到,看來還是自己動手的好!
【軟體名稱】:DB Commander 2000 PRO(簡稱DBC_2000)
【下載頁面】:不記得了!
【軟體大小】:6812K
【應用平臺】:WIN9X/WINNT/WIN2K/WINXP
【軟體簡介】:全是鳥文.不知道有什麼用,就是知道架設<傳奇>私服一定要有的東西!
【軟體限制】:全是鳥文,看不懂!就知道沒有註冊的話,在啟動軟體的時候會有一個提醒註冊的視窗!
【文章作者】:輝仔Yock[DFCG][YCG]
【作者宣告】:本人發表這篇文章只是為了學習!!!請不用於商業用途或是將本文方法制作的序號產生器任意傳播,讀者看了文章後所做的事情與我無關,我也不會負責,請讀者看了文章後三思而後行!最後希望大家在經濟基礎好的時候,支援共享軟體!
【破解工具】:Ollydbg
―――――――――――――――――――――――――――――――――
【過 程】:
用Ollydbg載入主程式DB_Commander.exe
根據字元參考知道出錯的地方一共有三處,分別對這三個地方下斷!
輸入使用者名稱Yock和註冊碼987-654-321後,按註冊,攔下:
00541398 . 53
PUSH EBX
00541399 . 56 PUSH ESI
0054139A . 8BF2 MOV ESI,EDX
0054139C . 8BD8 MOV EBX,EAX
0054139E . BA E4135400 MOV EDX,TKDB_Com.005413E4
; ASCII "\Software\T&T
Solutions\DB Commander 2000 PRO"
005413A3 . B8 1C145400 MOV EAX,TKDB_Com.0054141C
; ASCII "Tsapanidis"
005413A8 . E8 5F2FECFF CALL TKDB_Com.0040430C
//這裡好像是驗證登錄檔是否有"Tsapanidis"這個值!
//但是我登錄檔裡面沒有這個值!
//這裡可能是一個暗樁吧!
005413AD . 85C0 TEST
EAX,EAX
005413AF . 7E 0C JLE SHORT TKDB_Com.005413BD
//這裡不能跳,以跳下去就掛了!
//我這裡是跳的,所以我把這裡NOP掉了!
005413B1 . 8BD6 MOV
EDX,ESI
005413B3 . 8BC3 MOV EAX,EBX
005413B5 . E8 76FCFFFF CALL TKDB_Com.00541030
//這裡是關鍵,根進去!
005413BA . 5E
POP ESI
005413BB . 5B POP EBX
005413BC . C3 RETN
005413BD > E8 5AB4ECFF CALL TKDB_Com.0040C81C
005413C2 . 6A 00 PUSH 0
; /Arg1 = 00000000
005413C4 . 66:8B0D 281454>MOV CX,WORD PTR DS:[541428]
; |
005413CB . 33D2 XOR EDX,EDX
; |
005413CD . B8 34145400 MOV EAX,TKDB_Com.00541434
; |ASCII "Invalid
registration number entered !"
//這裡就是出錯的地方了!
005413D2 . E8 3569F0FF CALL TKDB_Com.00447D0C
; \TKDB_Com.00447D0C
005413D7 . 5E POP ESI
005413D8 . 5B POP EBX
005413D9 . C3 RETN
-----------------------------------------------------------------
上面5413b5的CALL來到這裡!
00541030 /$ 55
PUSH EBP
00541031 |. 8BEC MOV EBP,ESP
00541033 |. 6A 00 PUSH 0
00541035 |. 6A 00 PUSH 0
00541037 |. 6A 00 PUSH 0
00541039 |. 53 PUSH EBX
0054103A |. 33C0 XOR EAX,EAX
0054103C |. 55 PUSH EBP
0054103D |. 68 20125400 PUSH TKDB_Com.00541220
00541042 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00541045 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00541048 |. A1 AC215700 MOV EAX,DWORD PTR DS:[5721AC]
0054104D |. FF00 INC DWORD PTR DS:[EAX]
0054104F |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
00541052 |. A1 383B5700 MOV EAX,DWORD PTR DS:[573B38]
00541057 |. 8B80 EC010000 MOV EAX,DWORD PTR DS:[EAX+1EC]
0054105D |. E8 EA8CF0FF CALL TKDB_Com.00449D4C
00541062 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00541065 |. 50 PUSH EAX
00541066 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
00541069 |. A1 383B5700 MOV EAX,DWORD PTR DS:[573B38]
0054106E |. 8B80 E0010000 MOV EAX,DWORD PTR DS:[EAX+1E0]
00541074 |. E8 8B3DEEFF CALL TKDB_Com.00424E04
00541079 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
//這裡是使用者名稱!
0054107C |. 5A
POP EDX
//這裡是輸入的假註冊碼!
0054107D |. E8 8EF6FFFF CALL TKDB_Com.00540710
//關鍵跟進去!
00541082 |. 84C0 TEST
AL,AL
00541084 |. 0F84 C1000000 JE TKDB_Com.0054114B
//這裡不跳的話,就把正確的註冊資訊儲存起來!
//跳走的話就出錯咯!
0054108A |. A1 C81C5700 MOV EAX,DWORD PTR
DS:[571CC8]
0054108F |. C600 01 MOV BYTE PTR DS:[EAX],1
00541092 |. A1 B0215700 MOV EAX,DWORD PTR DS:[5721B0]
00541097 |. C600 00 MOV BYTE PTR DS:[EAX],0
0054109A |. B9 34125400 MOV ECX,TKDB_Com.00541234
; ASCII "\Software\T&T
Solutions\DB Commander 2000 PRO"
0054109F |. B2 01 MOV DL,1
005410A1 |. A1 C8BC4900 MOV EAX,DWORD PTR DS:[49BCC8]
005410A6 |. E8 6DB6F5FF CALL TKDB_Com.0049C718
005410AB |. 8BD8 MOV EBX,EAX
005410AD |. BA 02000080 MOV EDX,80000002
005410B2 |. 8BC3 MOV EAX,EBX
005410B4 |. E8 A3ADF5FF CALL TKDB_Com.0049BE5C
005410B9 |. BA 34125400 MOV EDX,TKDB_Com.00541234
; ASCII "\Software\T&T
Solutions\DB Commander 2000 PRO"
005410BE |. B1 01 MOV CL,1
005410C0 |. 8BC3 MOV EAX,EBX
005410C2 |. E8 F1AEF5FF CALL TKDB_Com.0049BFB8
005410C7 |. 84C0 TEST AL,AL
005410C9 |. 74 5B JE SHORT TKDB_Com.00541126
005410CB |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
005410CE |. A1 383B5700 MOV EAX,DWORD PTR DS:[573B38]
005410D3 |. 8B80 E0010000 MOV EAX,DWORD PTR DS:[EAX+1E0]
005410D9 |. E8 263DEEFF CALL TKDB_Com.00424E04
005410DE |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
005410E1 |. 50 PUSH EAX
005410E2 |. B9 6C125400 MOV ECX,TKDB_Com.0054126C
; ASCII "Name"
005410E7 |. BA 7C125400 MOV EDX,TKDB_Com.0054127C
; ASCII "5.0.0.0"
005410EC |. 8BC3 MOV EAX,EBX
005410EE |. E8 39B7F5FF CALL TKDB_Com.0049C82C
005410F3 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
005410F6 |. A1 383B5700 MOV EAX,DWORD PTR DS:[573B38]
005410FB |. 8B80 EC010000 MOV EAX,DWORD PTR DS:[EAX+1EC]
00541101 |. E8 468CF0FF CALL TKDB_Com.00449D4C
00541106 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00541109 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054110C |. E8 53F8FFFF CALL TKDB_Com.00540964
00541111 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00541114 |. 50 PUSH EAX
00541115 |. BA 7C125400 MOV EDX,TKDB_Com.0054127C
; ASCII "5.0.0.0"
0054111A |. B9 8C125400 MOV ECX,TKDB_Com.0054128C
; ASCII "RegNumber"
0054111F |. 8BC3 MOV EAX,EBX
00541121 |. E8 06B7F5FF CALL TKDB_Com.0049C82C
00541126 |> 8BC3 MOV EAX,EBX
00541128 |. E8 C320ECFF CALL TKDB_Com.004031F0
0054112D |. 6A 00 PUSH 0
; /BeepType = MB_OK
0054112F |. E8 4C64ECFF CALL <JMP.&user32.MessageBeep>
; \MessageBeep
00541134 |. 6A 00 PUSH 0
; /Arg1 = 00000000
00541136 |. 66:8B0D 981254>MOV CX,WORD PTR DS:[541298]
; |
0054113D |. B2 02 MOV DL,2
; |
0054113F |. B8 A4125400 MOV EAX,TKDB_Com.005412A4
; |ASCII "Congratulations,
upgrade was succesful.
You now have the registered version of DB Commander 2000 PRO !"
00541144 |. E8 C36BF0FF CALL TKDB_Com.00447D0C
; \TKDB_Com.00447D0C
00541149 |. EB 49 JMP SHORT TKDB_Com.00541194
0054114B |> 6A 40 PUSH 40
; /BeepType = MB_ICONASTERISK
0054114D |. E8 2E64ECFF CALL <JMP.&user32.MessageBeep>
; \MessageBeep
00541152 |. A1 AC215700 MOV EAX,DWORD PTR DS:[5721AC]
00541157 |. 8338 03 CMP DWORD PTR DS:[EAX],3
0054115A |. 7C 23 JL SHORT TKDB_Com.0054117F
0054115C |. 6A 00 PUSH 0
; /Arg1 = 00000000
0054115E |. 66:8B0D 981254>MOV CX,WORD PTR DS:[541298]
; |
00541165 |. 33D2 XOR EDX,EDX
; |
00541167 |. B8 14135400 MOV EAX,TKDB_Com.00541314
; |ASCII "Invalid
registration number entered !
Goodbye..."
//這裡是註冊成功的地方!
0054116C |. E8 9B6BF0FF CALL TKDB_Com.00447D0C
; \TKDB_Com.00447D0C
00541171 |. A1 D41F5700 MOV EAX,DWORD PTR DS:[571FD4]
00541176 |. 8B00 MOV EAX,DWORD PTR
DS:[EAX]
00541178 |. E8 634FEFFF CALL TKDB_Com.004360E0
0054117D |. EB 15 JMP SHORT TKDB_Com.00541194
0054117F |> 6A 00 PUSH 0
; /Arg1 = 00000000
00541181 |. 66:8B0D 981254>MOV CX,WORD PTR DS:[541298]
; |
00541188 |. 33D2 XOR EDX,EDX
; |
0054118A |. B8 50135400 MOV EAX,TKDB_Com.00541350
; |ASCII "Invalid
registration number entered !"
//這裡是另外一個出錯的地方了!
0054118F |. E8 786BF0FF CALL TKDB_Com.00447D0C
; \TKDB_Com.00447D0C
00541194 |> A1 C81C5700 MOV EAX,DWORD PTR DS:[571CC8]
00541199 |. 8038 00 CMP BYTE PTR DS:[EAX],0
0054119C |. 74 52 JE SHORT TKDB_Com.005411F0
-----------------------------------------------------------------
上面54107d的CALL來到這裡!
00540710 /$ 55
PUSH EBP
00540711 |. 8BEC MOV EBP,ESP
00540713 |. 83C4 F0 ADD ESP,-10
00540716 |. 53 PUSH EBX
00540717 |. 56 PUSH ESI
00540718 |. 57 PUSH EDI
00540719 |. 33C9 XOR ECX,ECX
0054071B |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
0054071E |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
00540721 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
00540724 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00540727 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054072A |. E8 A93AECFF CALL TKDB_Com.004041D8
0054072F |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00540732 |. E8 A13AECFF CALL TKDB_Com.004041D8
00540737 |. 33C0 XOR EAX,EAX
00540739 |. 55 PUSH EBP
0054073A |. 68 4C085400 PUSH TKDB_Com.0054084C
0054073F |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00540742 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00540745 |. 33FF XOR EDI,EDI
00540747 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
//輸入的使用者名稱!
0054074A |. E8 D538ECFF CALL TKDB_Com.00404024
//取使用者名稱的位數!
0054074F |. 8BF0 MOV
ESI,EAX
00540751 |. 85F6 TEST ESI,ESI
//是否有使用者名稱!
00540753 |. 7E 34 JLE
SHORT TKDB_Com.00540789
//沒有就跳走咯!
00540755 |. BB 01000000 MOV EBX,1
//賦值1,EBX作為計數器!
0054075A |> 8B45 FC /MOV
EAX,DWORD PTR SS:[EBP-4]
0054075D |. 8A4418 FF |MOV AL,BYTE PTR DS:[EAX+EBX-1]
00540761 |. 8BD0 |MOV EDX,EAX
00540763 |. 80C2 D0 |ADD DL,0D0
00540766 |. 80EA 0A |SUB DL,0A
00540769 |. 72 10 |JB SHORT TKDB_Com.0054077B
//比較當前使用者名稱是否是數字,是的話就跳下去直接累加!
0054076B |. 80C2 F9 |ADD DL,0F9
0054076E |. 80EA 1A |SUB DL,1A
00540771 |. 72 08 |JB SHORT TKDB_Com.0054077B
//比較當前使用者名稱是否是大寫字母,是的話就跳下取直接累加!
00540773 |. 80C2 FA |ADD DL,0FA
00540776 |. 80EA 1A |SUB DL,1A
00540779 |. 73 0A |JNB SHORT TKDB_Com.00540785
//比較當前使用者名稱是否是小寫字母,是的話就不跳!
//如果不是小寫字母的話跳走不累加了!
0054077B |> 8B55 FC |MOV
EDX,DWORD PTR SS:[EBP-4]
0054077E |. 25 FF000000 |AND EAX,0FF
00540783 |. 03F8 |ADD EDI,EAX
00540785 |> 43 |INC EBX
00540786 |. 4E |DEC ESI
00540787 |.^75 D1 \JNZ SHORT TKDB_Com.0054075A
//從0054075A到這裡的迴圈是把使用者名稱的值累加起來
//累加的結果儲存再EDI裡面!
//注意:要是使用者名稱有非法字元和空格的話,就不作計算!
//也就是說,只計算使用者名稱的"A-Z"和"a-z"和"0-9"之間的數!
00540789 |> 8BC7
MOV EAX,EDI
//累加值=EDI=EAX
0054078B |. C1E0 02 SHL EAX,2
//邏輯左移
0054078E |. 8BD7 MOV
EDX,EDI
//EDI=EDX=累加值
00540790 |. 4A
DEC EDX
//減一
00540791 |. 8BCA MOV
ECX,EDX
//EDX=ECX=累加值減一
00540793 |. 99
CDQ
00540794 |. F7F9 IDIV ECX
//整數除法
00540796 |. 8BD7 MOV
EDX,EDI
//累加值=EDI=EDX
00540798 |. 85D2 TEST
EDX,EDX
//這裡我理解是--是否有累加值,有的話就跳!
0054079A |. 79 03 JNS
SHORT TKDB_Com.0054079F
//我這裡是跳下去的!
0054079C |. 83C2 03 ADD EDX,3
0054079F |> C1FA 02 SAR EDX,2
//算術右移
005407A2 |. 0FAFD7 IMUL EDX,EDI
//EDX=EDX*EDI
005407A5 |. 03C2 ADD
EAX,EDX
//EAX=EAX+EDX
005407A7 |. 05 391B0000 ADD EAX,1B39
//累加1B39
005407AC |. 8BF8 MOV
EDI,EAX
//EAX=EDI
005407AE |. 81C7 00E1F505 ADD EDI,5F5E100
//累加5F5E100
//這裡的EDI的十進位制就十真的註冊碼了!
//註冊碼就是怎麼練成的!
//對於我來說,我有學到了一些寶貴的東西了,你呢???
005407B4 |. 8D45 F4 LEA EAX,DWORD
PTR SS:[EBP-C]
005407B7 |. E8 EC35ECFF CALL TKDB_Com.00403DA8
005407BC |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
//這裡是輸入的假註冊碼!
005407BF |. E8 6038ECFF CALL TKDB_Com.00404024
//取假註冊碼的位數!
005407C4 |. 8BF0 MOV
ESI,EAX
005407C6 |. 85F6 TEST ESI,ESI
//有沒有輸入?
005407C8 |. 7E 3C JLE
SHORT TKDB_Com.00540806
//沒有輸入註冊碼就跳走咯!
005407CA |. BB 01000000 MOV EBX,1
//賦值1,EBX作為計數器!
005407CF |> 8B45 F8 /MOV
EAX,DWORD PTR SS:[EBP-8]
005407D2 |. 8A4418 FF |MOV AL,BYTE PTR DS:[EAX+EBX-1]
005407D6 |. 04 D0 |ADD AL,0D0
005407D8 |. 2C 0A |SUB AL,0A
005407DA |. 72 0C |JB SHORT TKDB_Com.005407E8
005407DC |. 04 F9 |ADD AL,0F9
005407DE |. 2C 1A |SUB AL,1A
005407E0 |. 72 06 |JB SHORT TKDB_Com.005407E8
005407E2 |. 04 FA |ADD AL,0FA
005407E4 |. 2C 1A |SUB AL,1A
005407E6 |. 73 1A |JNB SHORT TKDB_Com.00540802
005407E8 |> 8D45 F0 |LEA EAX,DWORD PTR
SS:[EBP-10]
005407EB |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]
005407EE |. 8A541A FF |MOV DL,BYTE PTR DS:[EDX+EBX-1]
005407F2 |. E8 5537ECFF |CALL TKDB_Com.00403F4C
005407F7 |. 8B55 F0 |MOV EDX,DWORD PTR SS:[EBP-10]
005407FA |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]
005407FD |. E8 2A38ECFF |CALL TKDB_Com.0040402C
00540802 |> 43 |INC EBX
00540803 |. 4E |DEC ESI
00540804 |.^75 C9 \JNZ SHORT TKDB_Com.005407CF
//從005407CF到這裡的迴圈是把註冊碼的"-"去掉的!
//舉個例子,我輸入的註冊碼是"987-654-321"
//經過這裡有就變成"987654321"了!
00540806 |> 8D55 F0 LEA
EDX,DWORD PTR SS:[EBP-10]
00540809 |. 8BC7 MOV EAX,EDI
0054080B |. E8 F47FECFF CALL TKDB_Com.00408804
00540810 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
//這裡就是真的註冊碼了!
00540813 |. 8B55 F4 MOV EDX,DWORD
PTR SS:[EBP-C]
//這裡是我輸入的假註冊碼!
00540816 |. E8 1939ECFF CALL TKDB_Com.00404134
0054081B |. 0F94C3 SETE BL
0054081E |. BA 64085400 MOV EDX,TKDB_Com.00540864
; ASCII "Beverly
Saunders Site"
//這個就是萬能註冊名了!
00540823 |. 8B45 FC MOV EAX,DWORD
PTR SS:[EBP-4]
//這裡是輸入的使用者名稱!
//可見這個軟體有一個萬能註冊名的!
00540826 |. E8 E13AECFF CALL TKDB_Com.0040430C
0054082B |. 85C0 TEST EAX,EAX
0054082D |. 7E 02 JLE SHORT TKDB_Com.00540831
0054082F |. 33DB XOR EBX,EBX
00540831 |> 33C0 XOR EAX,EAX
00540833 |. 5A POP EDX
00540834 |. 59 POP ECX
00540835 |. 59 POP ECX
00540836 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
00540839 |. 68 53085400 PUSH TKDB_Com.00540853
0054083E |> 8D45 F0 LEA EAX,DWORD PTR
SS:[EBP-10]
00540841 |. BA 04000000 MOV EDX,4
00540846 |. E8 8135ECFF CALL TKDB_Com.00403DCC
0054084B \. C3 RETN
0054084C .^E9 6B2FECFF JMP TKDB_Com.004037BC
00540851 .^EB EB JMP SHORT TKDB_Com.0054083E
00540853 . 8BC3 MOV EAX,EBX
00540855 . 5F POP EDI
00540856 . 5E POP ESI
00540857 . 5B POP EBX
00540858 . 8BE5 MOV ESP,EBP
0054085A . 5D POP EBP
0054085B . C3 RETN
------------------------------------------------------------------
【總 結】:
又來到我最怕的地方了---總結!
說起來,這個軟體又一個地方我搞不懂的就是為什麼要檢查登錄檔的
[\Software\T&T Solutions\DB Commander 2000 PRO]
Tsapanidis
我的機子裡面沒有這個專案,所以要把
005413AF . 7E 0C JLE SHORT TKDB_Com.005413BD
NOP掉才可以註冊成功!如果大蝦們願意研究的話,可以告訴我一個究竟嗎?
把使用者名稱的字元的ASCII碼累加以來!(非法字元和空格除外,只累加這些值.包括"A-Z"/"a-z"/"0-9")
最後把累加值經過下面的運算得出得結果的十進位制就是真的註冊碼了!
累加值=EAX=EDI
MOV EAX,EDI
SHL EAX,2
MOV EDX,EDI
DEC EDX
MOV ECX,EDX
CDQ
IDIV ECX
SAR EDX,2
IMUL EDX,EDI
ADD EAX,EDX
ADD EAX,1B39
MOV EDI,EAX
ADD EDI,5F5E100
最後註冊碼的結果=EDI的十進位制值!
註冊資訊儲存在:
[HKEY_LOCAL_MACHINE\SOFTWARE\T&T Solutions\DB Commander 2000 PRO\5.0.0.0]
"RegNumber"="005F69C6B"
//儲存方式是註冊碼的十六進位制!
一組可用的註冊碼:
Yock
100-047-979
--------------------------------------------------------------------
最後在這裡真心感謝你花了那麼多時間看這篇文章!謝謝了...
2003.6.18於清遠
相關文章
- Pro Git 學習筆記2019-01-16Git筆記
- db2學習筆記2005-06-05DB2筆記
- MoveIt! 學習筆記2- MoveIt! Commander Scripting(命令列控制)2020-12-28筆記命令列
- DB2 老筆記系列(一)2014-11-24DB2筆記
- DB2-utilities學習筆記2008-10-24DB2筆記
- 小米筆記本Pro GTX版評測 小米筆記本Pro GTX版值得買嗎?2018-08-27筆記
- 雙窗格檔案管理器:Commander One PRO Mac版2021-02-10Mac
- SQL Server2000 重溫筆記2009-07-23SQLServer筆記
- 筆記:DB常用sql列印+事務使用2020-09-03筆記SQL
- java筆記-one(簡記)2019-04-26Java筆記
- CF 口胡筆記 2000Ct輯2024-10-17筆記
- OpenCV 名稱空間學習筆記2020-10-08OpenCV筆記
- 【 PHP 學習筆記 】名稱空間2017-05-28PHP筆記
- [ PHP 學習筆記 ] 名稱空間2017-05-28PHP筆記
- php名稱空間namespace使用筆記2013-12-11PHPnamespace筆記
- 小米筆記本 pro 安裝黑蘋果2020-07-01筆記蘋果
- DB2學習筆記 - 表空間2007-02-04DB2筆記
- Spark簡明筆記2018-11-24Spark筆記
- CSS簡潔筆記2017-12-11CSS筆記
- docker簡單筆記2024-05-04Docker筆記
- 簡單微積分筆記2024-08-19筆記
- 雙窗格檔案管理器:Commander One PRO Mac中文版2023-01-10Mac
- 阿里雲 ANT DESIGN PRO 搭建筆記2021-02-22阿里筆記
- Soluto:故障最少的Windows筆記本是MacBook Pro2013-04-26Windows筆記Mac
- 《IDA Pro權威指南》讀書筆記2013-04-03筆記
- 《IDA pro權威指南》閱讀筆記2024-10-04筆記
- List簡易筆記一2020-09-28筆記
- Java | SSM簡要筆記2018-02-04JavaSSM筆記
- Git常用簡約筆記2018-03-16Git筆記
- 《人類簡史》筆記2018-03-27筆記
- weex 的簡單筆記2017-10-09筆記
- 筆記方法簡明教程2016-05-25筆記
- Gson簡要使用筆記2016-03-23筆記
- 華為MateBook X Pro輕薄筆記本圖賞 首款全面屏筆記本2018-08-27筆記
- Commander One PRO Pack for Mac(檔案管理)v3.7.0中文啟用版2023-11-02Mac
- DB2 offline reorg的一點筆記2020-03-07DB2筆記
- 微軟Surface Pro X怎麼樣?微軟Surface Pro X筆記本使用評測2020-06-08微軟筆記
- Puppeteer筆記(一):Puppeteer簡介2020-05-20筆記