E族百變桌面7.2註冊流程分析
標題:E族百變桌面7.2註冊流程分析
作者:jney2
時間:2005.1.21
目的:個人學習,交流經驗,找出軟體的軟肋,希望作者在下一版本中有所改進!
觀念:喜歡分析註冊流程,極少演算法分析。
工具:DeDE3.5、Ollydbg1.1
E族百變桌面7.2演算法可參考yzez[DFCG]的《E族百變桌面6.0註冊演算法分析》。
在選單中選“升級到正式版”就執行到如下程式碼:
005074A0 . 53 PUSH EBX
005074A1 . 8BD8 MOV EBX,EAX
005074A3 . E8 DC6DFCFF CALL ePaper.004CE284
005074A8 . 8983 C0030000 MOV DWORD PTR DS:[EBX+3C0],EAX
005074AE . 8993 C4030000 MOV DWORD PTR DS:[EBX+3C4],EDX
005074B4 . A1 3C845300 MOV EAX,DWORD PTR DS:[53843C]
005074B9 . 8038 00 CMP BYTE PTR DS:[EAX],0 //註冊標誌
005074BC . 74 09 JE SHORT ePaper.005074C7 //為0即未註冊,執行未註冊視窗;為1即已註冊,執行升級成功視窗,並將正確的註冊碼寫入登錄檔。在此做個記憶體補丁即可完成軟體的自動註冊。
005074BE . 8BC3 MOV EAX,EBX
005074C0 . E8 DF070000 CALL ePaper.00507CA4
005074C5 . 5B POP EBX
005074C6 . C3 RETN
005074C7 > C783 CC030000 >MOV DWORD PTR DS:[EBX+3CC],1
005074D1 . 33D2 XOR EDX,EDX
005074D3 . 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304]
005074D9 . 8B08 MOV ECX,DWORD PTR DS:[EAX]
005074DB . FF51 64 CALL DWORD PTR DS:[ECX+64]
005074DE . 8BC3 MOV EAX,EBX
005074E0 . E8 6BFFFFFF CALL ePaper.00507450
005074E5 . 5B POP EBX
005074E6 . C3 RETN
00507CA4 /$ 55 PUSH EBP
00507CA5 |. 8BEC MOV EBP,ESP
00507CA7 |. 83C4 F0 ADD ESP,-10
00507CAA |. 53 PUSH EBX
00507CAB |. 33D2 XOR EDX,EDX
00507CAD |. 8955 F0 MOV DWORD PTR SS:[EBP-10],EDX
00507CB0 |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00507CB3 |. 8BD8 MOV EBX,EAX
00507CB5 |. 33C0 XOR EAX,EAX
00507CB7 |. 55 PUSH EBP
00507CB8 |. 68 857D5000 PUSH ePaper.00507D85
00507CBD |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00507CC0 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00507CC3 |. 33D2 XOR EDX,EDX
00507CC5 |. 8B83 70030000 MOV EAX,DWORD PTR DS:[EBX+370]
00507CCB |. E8 8C35F3FF CALL ePaper.0043B25C
00507CD0 |. C783 CC030000 >MOV DWORD PTR DS:[EBX+3CC],4
00507CDA |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
00507CDD |. A1 1C855300 MOV EAX,DWORD PTR DS:[53851C]
00507CE2 |. E8 D9EEEFFF CALL ePaper.00406BC0
00507CE7 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
00507CEA |. 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308]
00507CF0 |. E8 CFECF6FF CALL ePaper.004769C4
00507CF5 |. FFB3 C4030000 PUSH DWORD PTR DS:[EBX+3C4]
00507CFB |. FFB3 C0030000 PUSH DWORD PTR DS:[EBX+3C0]
00507D01 |. E8 EA67FCFF CALL ePaper.004CE4F0
00507D06 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
00507D09 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
00507D0C |. FF75 FC PUSH DWORD PTR SS:[EBP-4] ; /Arg2
00507D0F |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; |Arg1
00507D12 |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] ; |
00507D15 |. E8 D218F0FF CALL ePaper.004095EC ; \ePaper.004095EC
00507D1A |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
00507D1D |. 8B83 44030000 MOV EAX,DWORD PTR DS:[EBX+344]
00507D23 |. E8 9CECF6FF CALL ePaper.004769C4
00507D28 |. FFB3 C4030000 PUSH DWORD PTR DS:[EBX+3C4] //引數
00507D2E |. FFB3 C0030000 PUSH DWORD PTR DS:[EBX+3C0] //引數
00507D34 |. FF75 FC PUSH DWORD PTR SS:[EBP-4] //引數
00507D37 |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] //引數
00507D3A |. B0 01 MOV AL,1
00507D3C |. E8 D366FCFF CALL ePaper.004CE414 //寫登錄檔的CALL
00507D41 |. 8B15 3C845300 MOV EDX,DWORD PTR DS:[53843C] ; ePaper.00539E98
00507D47 |. 8802 MOV BYTE PTR DS:[EDX],AL
00507D49 |. 33D2 XOR EDX,EDX
00507D4B |. 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304]
00507D51 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00507D53 |. FF51 64 CALL DWORD PTR DS:[ECX+64]
00507D56 |. 33D2 XOR EDX,EDX
00507D58 |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
00507D5E |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00507D60 |. FF51 64 CALL DWORD PTR DS:[ECX+64]
00507D63 |. 8BC3 MOV EAX,EBX
00507D65 |. E8 E6F6FFFF CALL ePaper.00507450
00507D6A |. 33C0 XOR EAX,EAX
00507D6C |. 5A POP EDX
00507D6D |. 59 POP ECX
00507D6E |. 59 POP ECX
00507D6F |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
00507D72 |. 68 8C7D5000 PUSH ePaper.00507D8C
00507D77 |> 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00507D7A |. BA 02000000 MOV EDX,2
00507D7F |. E8 A4CCEFFF CALL ePaper.00404A28
00507D84 \. C3 RETN
004CE414 /$ 55 PUSH EBP
004CE415 |. 8BEC MOV EBP,ESP
004CE417 |. 83C4 F8 ADD ESP,-8
004CE41A |. 53 PUSH EBX
004CE41B |. 56 PUSH ESI
004CE41C |. 33D2 XOR EDX,EDX
004CE41E |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004CE421 |. 8845 FF MOV BYTE PTR SS:[EBP-1],AL
004CE424 |. 33C0 XOR EAX,EAX
004CE426 |. 55 PUSH EBP
004CE427 |. 68 ABE44C00 PUSH ePaper.004CE4AB
004CE42C |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004CE42F |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004CE432 |. 33DB XOR EBX,EBX
004CE434 |. FF75 14 PUSH DWORD PTR SS:[EBP+14]
004CE437 |. FF75 10 PUSH DWORD PTR SS:[EBP+10]
004CE43A |. E8 B1000000 CALL ePaper.004CE4F0
004CE43F |. 3B55 0C CMP EDX,DWORD PTR SS:[EBP+C]
004CE442 |. 75 07 JNZ SHORT ePaper.004CE44B
004CE444 |. 3B45 08 CMP EAX,DWORD PTR SS:[EBP+8]
004CE447 |. 75 02 JNZ SHORT ePaper.004CE44B
004CE449 |. B3 01 MOV BL,1
004CE44B |> 807D FF 00 CMP BYTE PTR SS:[EBP-1],0
004CE44F |. 74 44 JE SHORT ePaper.004CE495
004CE451 |. B2 01 MOV DL,1
004CE453 |. A1 68024500 MOV EAX,DWORD PTR DS:[450268]
004CE458 |. E8 0B1FF8FF CALL ePaper.00450368
004CE45D |. 8BF0 MOV ESI,EAX
004CE45F |. B1 01 MOV CL,1
004CE461 |. BA C4E44C00 MOV EDX,ePaper.004CE4C4 ; ASCII "\Software\eNation\ePaper"
004CE466 |. 8BC6 MOV EAX,ESI
004CE468 |. E8 FF1FF8FF CALL ePaper.0045046C
004CE46D |. 84C0 TEST AL,AL
004CE46F |. 74 1D JE SHORT ePaper.004CE48E
004CE471 |. FF75 0C PUSH DWORD PTR SS:[EBP+C] ; /Arg2
004CE474 |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Arg1
004CE477 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] ; |
004CE47A |. E8 6DB1F3FF CALL ePaper.004095EC ; \ePaper.004095EC
004CE47F |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8] //正確的註冊碼顯示在這裡。
004CE482 |. BA E8E44C00 MOV EDX,ePaper.004CE4E8 ; ASCII "RegCode"
004CE487 |. 8BC6 MOV EAX,ESI
004CE489 |. E8 7A21F8FF CALL ePaper.00450608 //在此可做記憶體序號產生器
004CE48E |> 8BC6 MOV EAX,ESI
004CE490 |. E8 7B56F3FF CALL ePaper.00403B10
004CE495 |> 33C0 XOR EAX,EAX
004CE497 |. 5A POP EDX
004CE498 |. 59 POP ECX
004CE499 |. 59 POP ECX
004CE49A |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004CE49D |. 68 B2E44C00 PUSH ePaper.004CE4B2
004CE4A2 |> 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004CE4A5 |. E8 5A65F3FF CALL ePaper.00404A04
004CE4AA \. C3 RETN
004CE4AB .^E9 F45DF3FF JMP ePaper.004042A4
004CE4B0 .^EB F0 JMP SHORT ePaper.004CE4A2
004CE4B2 . 8BC3 MOV EAX,EBX
004CE4B4 . 5E POP ESI
004CE4B5 . 5B POP EBX
004CE4B6 . 59 POP ECX
004CE4B7 . 59 POP ECX
004CE4B8 . 5D POP EBP
004CE4B9 . C2 1000 RETN 10
//以下注冊碼方式驗證模組
005074E8 . 55 PUSH EBP
005074E9 . 8BEC MOV EBP,ESP
005074EB . B9 0F000000 MOV ECX,0F
005074F0 > 6A 00 PUSH 0
005074F2 . 6A 00 PUSH 0
005074F4 . 49 DEC ECX
005074F5 .^75 F9 JNZ SHORT ePaper.005074F0
005074F7 . 51 PUSH ECX
005074F8 . 53 PUSH EBX
005074F9 . 56 PUSH ESI
005074FA . 57 PUSH EDI
005074FB . 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
005074FE . 33C0 XOR EAX,EAX
00507500 . 55 PUSH EBP
00507501 . 68 23795000 PUSH ePaper.00507923
00507506 . 64:FF30 PUSH DWORD PTR FS:[EAX]
00507509 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
0050750C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0050750F . 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
00507515 . B2 01 MOV DL,1
00507517 . 8B08 MOV ECX,DWORD PTR DS:[EAX]
00507519 . FF51 64 CALL DWORD PTR DS:[ECX+64]
0050751C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0050751F . 8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
00507525 . B2 01 MOV DL,1
00507527 . 8B08 MOV ECX,DWORD PTR DS:[EAX]
00507529 . FF51 64 CALL DWORD PTR DS:[ECX+64]
0050752C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0050752F . 8B80 CC030000 MOV EAX,DWORD PTR DS:[EAX+3CC]
00507535 . 48 DEC EAX ; Switch (cases 1..6)
00507536 . 74 11 JE SHORT ePaper.00507549
00507538 . 48 DEC EAX
00507539 . 74 74 JE SHORT ePaper.005075AF
0050753B . 83E8 04 SUB EAX,4
0050753E . 0F84 C0010000 JE ePaper.00507704
00507544 . E9 6D030000 JMP ePaper.005078B6
00507549 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; Case 1 of switch 00507535
0050754C . 8B80 38030000 MOV EAX,DWORD PTR DS:[EAX+338]
00507552 . 8B10 MOV EDX,DWORD PTR DS:[EAX]
00507554 . FF92 C8000000 CALL DWORD PTR DS:[EDX+C8]
0050755A . 84C0 TEST AL,AL
0050755C . 74 37 JE SHORT ePaper.00507595
0050755E . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507561 . FFB0 C4030000 PUSH DWORD PTR DS:[EAX+3C4] ; /Arg2
00507567 . FFB0 C0030000 PUSH DWORD PTR DS:[EAX+3C0] ; |Arg1
0050756D . 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34] ; |
00507570 . E8 7720F0FF CALL ePaper.004095EC ; \ePaper.004095EC
00507575 . 8B55 CC MOV EDX,DWORD PTR SS:[EBP-34]
00507578 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0050757B . 8B80 1C030000 MOV EAX,DWORD PTR DS:[EAX+31C]
00507581 . E8 3EF4F6FF CALL ePaper.004769C4
00507586 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507589 . C780 CC030000 >MOV DWORD PTR DS:[EAX+3CC],2
00507593 . EB 0D JMP SHORT ePaper.005075A2
00507595 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507598 . C780 CC030000 >MOV DWORD PTR DS:[EAX+3CC],6
005075A2 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005075A5 . E8 A6FEFFFF CALL ePaper.00507450
005075AA . E9 07030000 JMP ePaper.005078B6
005075AF > 8D55 C8 LEA EDX,DWORD PTR SS:[EBP-38] ; Case 2 of switch 00507535
005075B2 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005075B5 . 8B80 20030000 MOV EAX,DWORD PTR DS:[EAX+320]
005075BB . E8 D4F3F6FF CALL ePaper.00476994
005075C0 . 837D C8 00 CMP DWORD PTR SS:[EBP-38],0
005075C4 . 75 12 JNZ SHORT ePaper.005075D8
005075C6 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005075C9 . C780 CC030000 >MOV DWORD PTR DS:[EAX+3CC],5
005075D3 . E9 D5000000 JMP ePaper.005076AD
005075D8 > 33C0 XOR EAX,EAX
005075DA . 55 PUSH EBP
005075DB . 68 96765000 PUSH ePaper.00507696
005075E0 . 64:FF30 PUSH DWORD PTR FS:[EAX]
005075E3 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
005075E6 . 8D55 C4 LEA EDX,DWORD PTR SS:[EBP-3C]
005075E9 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005075EC . 8B80 20030000 MOV EAX,DWORD PTR DS:[EAX+320]
005075F2 . E8 9DF3F6FF CALL ePaper.00476994
005075F7 . 8B45 C4 MOV EAX,DWORD PTR SS:[EBP-3C]
005075FA . E8 B120F0FF CALL ePaper.004096B0
005075FF . 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX
00507602 . 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00507605 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507608 . FFB0 C4030000 PUSH DWORD PTR DS:[EAX+3C4] //引數
0050760E . FFB0 C0030000 PUSH DWORD PTR DS:[EAX+3C0] //引數
00507614 . FF75 F4 PUSH DWORD PTR SS:[EBP-C] //引數
00507617 . FF75 F0 PUSH DWORD PTR SS:[EBP-10] //引數
0050761A B0 01 MOV AL,1 //爆破法:可將以下兩句交換一下
0050761C E8 F36DFCFF CALL ePaper.004CE414 //註冊碼驗證CALL
00507621 8B15 3C845300 MOV EDX,DWORD PTR DS:[53843C] ; ePaper.00539E98
00507627 . 8802 MOV BYTE PTR DS:[EDX],AL //置註冊標誌
00507629 . A1 3C845300 MOV EAX,DWORD PTR DS:[53843C]
0050762E . 8038 00 CMP BYTE PTR DS:[EAX],0 //為0即為假碼
00507631 . 74 4C JE SHORT ePaper.0050767F
00507633 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507636 . C780 CC030000 >MOV DWORD PTR DS:[EAX+3CC],4
00507640 . FF75 F4 PUSH DWORD PTR SS:[EBP-C] ; /Arg2
00507643 . FF75 F0 PUSH DWORD PTR SS:[EBP-10] ; |Arg1
00507646 . 8D45 C0 LEA EAX,DWORD PTR SS:[EBP-40] ; |
00507649 . E8 9E1FF0FF CALL ePaper.004095EC ; \ePaper.004095EC
0050764E . 8B55 C0 MOV EDX,DWORD PTR SS:[EBP-40]
00507651 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507654 . 8B80 44030000 MOV EAX,DWORD PTR DS:[EAX+344]
0050765A . E8 65F3F6FF CALL ePaper.004769C4
0050765F . 8D55 BC LEA EDX,DWORD PTR SS:[EBP-44]
00507662 . A1 1C855300 MOV EAX,DWORD PTR DS:[53851C]
00507667 . E8 54F5EFFF CALL ePaper.00406BC0
0050766C . 8B55 BC MOV EDX,DWORD PTR SS:[EBP-44]
0050766F . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507672 . 8B80 08030000 MOV EAX,DWORD PTR DS:[EAX+308]
00507678 . E8 47F3F6FF CALL ePaper.004769C4
0050767D . EB 0D JMP SHORT ePaper.0050768C
0050767F > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00507682 . C780 CC030000 >MOV DWORD PTR DS:[EAX+3CC],5
0050768C > 33C0 XOR EAX,EAX
0050768E . 5A POP EDX
0050768F . 59 POP ECX
00507690 . 59 POP ECX
00507691 . 64:8910 MOV DWORD PTR FS:[EAX],EDX
00507694 . EB 17 JMP SHORT ePaper.005076AD
00507696 .^E9 55C9EFFF JMP ePaper.00403FF0
總結:E族百變桌面7.2註冊流程分析如下:
1、檢查登錄檔中有無註冊碼,沒有及註冊碼為假碼均置註冊標誌為0,註冊碼為真則置註冊標誌為1;
2、不管是否註冊,在選單中選“升級到正式版”都會執行005074A0的CALL再根據註冊標誌判斷:為0,為0即未註冊,執行未註冊視窗;為1即已註冊,執行升級成功視窗,並將正確的註冊碼顯示並寫入登錄檔(00507CA4的CALL)。
3、未註冊有兩種方式:認證碼方式,向網路發認證碼,確認正確,執行升級成功視窗,並將正確的註冊碼顯示並寫入登錄檔。(00507CA4的CALL)。註冊碼方式,呼叫005074E8的CALL,不正確則升級失敗,確認正確,執行升級成功視窗,並將你輸入的註冊碼顯示並寫入登錄檔。所以在這裡修改跳轉的話寫入的是假碼,但只要再在選單中選“升級到正式版”就又會自動註冊。
4、造成這樣註冊的原因與認證碼方式註冊和共用CALL有關。
5、破解難度:易。註冊認證流程應加以改進。
相關文章
- E族百變桌面6.0註冊演算法分析2015-11-15演算法
- nacos註冊中心原始碼流程分析2020-12-23原始碼
- IJCNN註冊流程2020-05-11CNN
- Nacos(一)原始碼分析Nacos註冊示例流程2020-12-26原始碼
- containerd 原始碼分析:啟動註冊流程2024-05-21AI原始碼
- 用DeDe破解 e族百變桌面 V5.1+用DEIPHI5寫序號產生器
(13千字)2002-04-18
- 柬埔寨公司註冊流程2021-11-24
- DreamWaver3.0註冊流程分析 (17千字)2001-09-10
- Chatgpt註冊全流程教程2022-12-07ChatGPT
- 微信小程式註冊流程2018-04-23微信小程式
- Camera subdev註冊流程2024-03-29dev
- 小程式生命週期分析與註冊流程回撥2019-03-04
- spring-IOC容器原始碼分析(二)BeanDefinition註冊流程2018-11-19Spring原始碼Bean
- Nacos(二)原始碼分析Nacos服務端註冊示例流程2021-01-18原始碼服務端
- ffmpeg分析系列之一(註冊該註冊的)2010-11-04
- 5G核心網之UE初始註冊關鍵流程分析2024-11-02
- 使用者註冊E-mail驗證2017-11-14AI
- 薩爾瓦多公司註冊流程?2022-01-10
- ClockWise 3.22e註冊碼演算法分析 - OCG (17千字)2002-04-10演算法
- 域名註冊流程有哪些?域名註冊需要哪些材料?(中科三方)2023-03-10
- SpringCloud元件 & 原始碼剖析:Eureka服務註冊方式流程全面分析2019-03-04SpringGCCloud元件原始碼
- 【原始碼分析】XXL-JOB的執行器的註冊流程2023-04-22原始碼
- AZR註冊流程分析及疑問(BlowFish演算法) (699字)2001-11-03演算法
- 公務員之路3.0註冊分析2015-11-15
- 註冊驗證流程有哪些方式呢2021-01-13
- Midjourney 註冊 12 步流程教學2023-05-02
- zend studio 9.0.2 破解-註冊-漢化流程2013-11-12
- 財智老闆通3.04註冊版---註冊演算法分析2003-03-16演算法
- Instant Source 註冊演算法分析+註冊器原始碼2015-11-15演算法原始碼
- 桌面互動投影遊戲能否改變“低頭族”現象2020-09-24遊戲
- Theme Builder註冊碼分析2015-11-15UI
- supercleaner註冊演算法分析2015-11-15演算法
- ShadowDefender 註冊碼 分析2024-08-17
- [譯] 學習 Spring Security(三):註冊流程2019-03-04Spring
- Proxmox 7.2 部署 DoraCloud桌面雲,支援vGPU2022-05-22CloudGPU
- 外商投資企業變更註冊地址2007-06-15
- 需求分析案例 - “自動註冊”功能2020-11-02
- Dubbo 中 Zookeeper 註冊中心原理分析2023-02-02