HNM Web Gallery Creator V2.12
【軟體名稱】: HNM Web Gallery Creator V2.12
【軟體大小】: 941 KB
【軟體語言】: 英文
【軟體類別】: 國外軟體 / 共享版 / 網頁輔助
【應用平臺】: Win9x/NT/2000/XP
【加入時間】: 2003-08-03 15:01:24
【軟體簡介】:該軟體為每一張圖片建立一個頁面,該頁面含有上一張、下一張和索引檔案的連線,使用者可以選擇頁面的顏色、字型、樣式。(可使用模板)
【作 者】: cyclotron[BCG]
【破解過程】:
用Ollydbg載入,透過出錯資訊找到關鍵點,註冊碼形式 sn1-WG2-sn2 :
004BA684 MOV EAX,DWORD PTR DS:[4E2274]
004BA689 MOV EAX,DWORD PTR DS:[EAX]
004BA68B POP ECX
004BA68C CALL HNMWEBGA.0047736C
; 關鍵call(1),追入
004BA691 TEST AL,AL
004BA693 JNZ SHORT HNMWEBGA.004BA6A4
004BA695 MOV EAX,DWORD PTR DS:[EBX+304]
004BA69B MOV DL,1
004BA69D CALL HNMWEBGA.00453004
004BA6A2 JMP SHORT HNMWEBGA.004BA6C3
004BA6A4 MOV EAX,EBX
004BA6A6 CALL HNMWEBGA.0044C0E8
004BA6AB PUSH 1
004BA6AD MOV ECX,HNMWEBGA.004BA738
004BA6B2 MOV EDX,HNMWEBGA.004BA73C
; ASCII "Registration was successful. Thank you!"
004BA6B7 MOV EAX,DWORD PTR DS:[4E20CC]
004BA6BC MOV EAX,DWORD PTR DS:[EAX]
004BA6BE CALL HNMWEBGA.0044F444
*********************************************************
call(1):
0047736C PUSH EBP
0047736D MOV EBP,ESP
0047736F ADD ESP,-24
00477372 PUSH EBX
00477373 PUSH ESI
00477374 PUSH EDI
00477375 XOR EBX,EBX
00477377 MOV DWORD PTR SS:[EBP-24],EBX
0047737A MOV DWORD PTR SS:[EBP-20],EBX
0047737D MOV DWORD PTR SS:[EBP-18],EBX
00477380 MOV DWORD PTR SS:[EBP-1C],EBX
00477383 MOV DWORD PTR SS:[EBP-8],ECX
00477386 MOV DWORD PTR SS:[EBP-4],EDX
00477389 MOV ESI,EAX
0047738B MOV EAX,DWORD PTR SS:[EBP-4]
0047738E CALL HNMWEBGA.0040400C
00477393 MOV EAX,DWORD PTR SS:[EBP-8]
00477396 CALL HNMWEBGA.0040400C
0047739B XOR EAX,EAX
0047739D PUSH EBP
0047739E PUSH HNMWEBGA.00477693
004773A3 PUSH DWORD PTR FS:[EAX]
004773A6 MOV DWORD PTR FS:[EAX],ESP
004773A9 MOV DWORD PTR DS:[4E3CE4],1
004773B3 PUSH 4
; /Arg7 = 00000004
004773B5 PUSH 4
; |Arg6 = 00000004
004773B7 PUSH 4
; |Arg5 = 00000004
004773B9 PUSH 1
; |Arg4 = 00000001
004773BB PUSH 1
; |Arg3 = 00000001
004773BD LEA EAX,DWORD PTR SS:[EBP-C] ;
|
004773C0 PUSH EAX
; |Arg2
004773C1 LEA EAX,DWORD PTR SS:[EBP-14] ;
|
004773C4 PUSH EAX
; |Arg1
004773C5 MOV ECX,4
; |
004773CA MOV EDX,1
; |
004773CF MOV EAX,1
; |
004773D4 CALL HNMWEBGA.00476D9C
; \HNMWEBGA.00476D9C
004773D9 LEA EAX,DWORD PTR SS:[EBP-18]
004773DC PUSH EAX
004773DD MOV EDX,DWORD PTR SS:[EBP-8]
004773E0 MOV EAX,HNMWEBGA.004776AC
; ASCII "-WG2-"
004773E5 CALL HNMWEBGA.00404144
; eax返回“-WG2-”在試煉碼中的位置
004773EA MOV ECX,EAX
; ecx=eax
004773EC DEC ECX
004773ED MOV EDX,1
004773F2 MOV EAX,DWORD PTR SS:[EBP-8]
004773F5 CALL HNMWEBGA.00404060
004773FA LEA EAX,DWORD PTR SS:[EBP-1C]
004773FD PUSH EAX
004773FE MOV EDX,DWORD PTR SS:[EBP-8]
00477401 MOV EAX,HNMWEBGA.004776AC
; ASCII "-WG2-"
00477406 CALL HNMWEBGA.00404144
; eax返回“-WG2-”在試煉碼中的位置
0047740B MOV EDX,EAX
; edx=eax
0047740D ADD EDX,5
; edx=eax+5
00477410 MOV ECX,5
; ecx=5
00477415 MOV EAX,DWORD PTR SS:[EBP-8]
00477418 CALL HNMWEBGA.00404060
0047741D CALL HNMWEBGA.00476AD4
00477422 PUSH 4
; /Arg7 = 00000004
00477424 PUSH 4
; |Arg6 = 00000004
00477426 PUSH 4
; |Arg5 = 00000004
00477428 PUSH 1
; |Arg4 = 00000001
0047742A PUSH 1
; |Arg3 = 00000001
0047742C LEA EAX,DWORD PTR SS:[EBP-C] ;
|
0047742F PUSH EAX
; |Arg2
00477430 LEA EAX,DWORD PTR SS:[EBP-14] ;
|
00477433 PUSH EAX
; |Arg1
00477434 MOV ECX,4
; |
00477439 MOV EDX,1
; |
0047743E MOV EAX,1
; |
00477443 CALL HNMWEBGA.00476D9C
; \HNMWEBGA.00476D9C
00477448 LEA EDX,DWORD PTR SS:[EBP-10]
0047744B MOV EAX,DWORD PTR SS:[EBP-18] ;
eax指向sn1
0047744E CALL HNMWEBGA.00402C20
; 取得sn1的十六進位制值,返回至eax
00477453 MOV DWORD PTR SS:[EBP-C],EAX
00477456 CMP DWORD PTR SS:[EBP-10],0
0047745A JLE SHORT HNMWEBGA.00477467
0047745C MOV BYTE PTR DS:[ESI+10],0
00477460 XOR EBX,EBX
00477462 JMP HNMWEBGA.0047766B
; BadBoy
00477467 LEA EDX,DWORD PTR SS:[EBP-10]
0047746A MOV EAX,DWORD PTR SS:[EBP-1C] ;
eax指向sn2
0047746D CALL HNMWEBGA.00402C20
; 取得sn2的十六進位制值,返回至eax
00477472 MOV DWORD PTR SS:[EBP-14],EAX
00477475 CMP DWORD PTR SS:[EBP-10],0
00477479 JLE SHORT HNMWEBGA.004774D2
0047747B MOV BYTE PTR DS:[ESI+10],0
0047747F PUSH 4
; /Arg7 = 00000004
00477481 PUSH 4
; |Arg6 = 00000004
00477483 PUSH 4
; |Arg5 = 00000004
00477485 PUSH 1
; |Arg4 = 00000001
00477487 PUSH 1
; |Arg3 = 00000001
00477489 LEA EAX,DWORD PTR SS:[EBP-C] ;
|
0047748C PUSH EAX
; |Arg2
0047748D LEA EAX,DWORD PTR SS:[EBP-14] ;
|
00477490 PUSH EAX
; |Arg1
00477491 MOV ECX,4
; |
00477496 MOV EDX,1
; |
0047749B MOV EAX,1
; |
004774A0 CALL HNMWEBGA.00476D9C
; \HNMWEBGA.00476D9C
004774A5 XOR EBX,EBX
004774A7 PUSH 4
; /Arg7 = 00000004
004774A9 PUSH 4
; |Arg6 = 00000004
004774AB PUSH 4
; |Arg5 = 00000004
004774AD PUSH 1
; |Arg4 = 00000001
004774AF PUSH 1
; |Arg3 = 00000001
004774B1 LEA EAX,DWORD PTR SS:[EBP-C] ;
|
004774B4 PUSH EAX
; |Arg2
004774B5 LEA EAX,DWORD PTR SS:[EBP-14] ;
|
004774B8 PUSH EAX
; |Arg1
004774B9 MOV ECX,4
; |
004774BE MOV EDX,1
; |
004774C3 MOV EAX,1
; |
004774C8 CALL HNMWEBGA.00476D9C
; \HNMWEBGA.00476D9C
004774CD JMP HNMWEBGA.0047766B
; BadBoy
004774D2 MOV EAX,3E8
; eax=3E8h
004774D7 CALL HNMWEBGA.00402C08
; call(2)
004774DC MOV DWORD PTR DS:[4E3CE0],EAX ;
dword[4E3CE0]=eax
004774E1 MOV EAX,DWORD PTR SS:[EBP-C] ;
取sn1的十六進位制值
004774E4 MOV ECX,2BD
; ecx=2BDh
004774E9 CDQ
; edx清零
004774EA IDIV ECX
; eax/ecx,商送eax,餘數送edx
004774EC ADD EDX,63
; edx=edx+63h
004774EF CMP EDX,DWORD PTR SS:[EBP-14] ;
取sn2的十六進位制值比較
004774F2 JE SHORT HNMWEBGA.00477564
; 相等就跳(正確路線)
004774F4 PUSH 4
; /Arg7 = 00000004
004774F6 PUSH 4
; |Arg6 = 00000004
004774F8 PUSH 4
; |Arg5 = 00000004
004774FA PUSH 1
; |Arg4 = 00000001
004774FC PUSH 1
; |Arg3 = 00000001
004774FE LEA EAX,DWORD PTR SS:[EBP-C] ;
|
00477501 PUSH EAX
; |Arg2
00477502 LEA EAX,DWORD PTR SS:[EBP-14] ;
|
00477505 PUSH EAX
; |Arg1
00477506 MOV ECX,4
; |
0047750B MOV EDX,1
; |
00477510 MOV EAX,1
; |
00477515 CALL HNMWEBGA.00476D9C
; \HNMWEBGA.00476D9C
0047751A MOV BYTE PTR DS:[ESI+10],0
0047751E XOR EBX,EBX
00477520 MOV DL,1
00477522 MOV EAX,DWORD PTR DS:[476348]
00477527 CALL HNMWEBGA.00476448
0047752C MOV EDI,EAX
0047752E MOV CL,1
00477530 MOV EDX,HNMWEBGA.004776BC
; ASCII "Software\HNM_Freeware\WebGallery"
00477535 MOV EAX,EDI
00477537 CALL HNMWEBGA.0047654C
0047753C XOR ECX,ECX
0047753E MOV EDX,HNMWEBGA.004776E8
; ASCII "User"
00477543 MOV EAX,EDI
00477545 CALL HNMWEBGA.0047670C
0047754A XOR ECX,ECX
0047754C MOV EDX,HNMWEBGA.004776F8
; ASCII "Code"
00477551 MOV EAX,EDI
00477553 CALL HNMWEBGA.004767B0
00477558 MOV EAX,EDI
0047755A CALL HNMWEBGA.00402F34
0047755F JMP HNMWEBGA.0047766B
00477564 CALL HNMWEBGA.00476AD4
00477569 LEA EDX,DWORD PTR SS:[EBP-20]
0047756C MOV EAX,DWORD PTR SS:[EBP-4]
0047756F CALL HNMWEBGA.0040851C
00477574 MOV EDX,DWORD PTR SS:[EBP-20]
00477577 MOV EAX,ESI
00477579 CALL HNMWEBGA.00477700
; 根據使用者名稱算出一個值,追入call(3)
0047757E MOV EDX,EAX
00477580 MOV EAX,DWORD PTR SS:[EBP-C]
00477583 CALL HNMWEBGA.00477118
; 比較使用者名稱的計算值是否與sn1的十六進位制值相等
00477588 TEST AL,AL
0047758A JE HNMWEBGA.00477620
00477590 MOV EAX,3E8
00477595 CALL HNMWEBGA.00402C08
0047759A MOV DWORD PTR DS:[4E3CE0],EAX
0047759F PUSH 4
; /Arg7 = 00000004
004775A1 PUSH 4
; |Arg6 = 00000004
004775A3 PUSH 4
; |Arg5 = 00000004
004775A5 PUSH 1
; |Arg4 = 00000001
004775A7 PUSH 1
; |Arg3 = 00000001
004775A9 LEA EAX,DWORD PTR SS:[EBP-C] ;
|
004775AC PUSH EAX
; |Arg2
004775AD LEA EAX,DWORD PTR SS:[EBP-14] ;
|
004775B0 PUSH EAX
; |Arg1
004775B1 MOV ECX,4
; |
004775B6 MOV EDX,1
; |
004775BB MOV EAX,1
; |
004775C0 CALL HNMWEBGA.00476D9C
; \HNMWEBGA.00476D9C
004775C5 MOV BYTE PTR DS:[ESI+10],1
004775C9 MOV DL,1
004775CB MOV EAX,DWORD PTR DS:[476348]
004775D0 CALL HNMWEBGA.00476448
004775D5 MOV EDI,EAX
004775D7 MOV CL,1
; 以下程式碼將註冊資訊寫入登錄檔
004775D9 MOV EDX,HNMWEBGA.004776BC
; ASCII "Software\HNM_Freeware\WebGallery"
004775DE MOV EAX,EDI
004775E0 CALL HNMWEBGA.0047654C
004775E5 MOV ECX,DWORD PTR SS:[EBP-4]
004775E8 MOV EDX,HNMWEBGA.004776E8
; ASCII "User"
004775ED MOV EAX,EDI
004775EF CALL HNMWEBGA.0047670C
004775F4 LEA EDX,DWORD PTR SS:[EBP-24]
004775F7 MOV EAX,DWORD PTR SS:[EBP-4]
004775FA CALL HNMWEBGA.0040851C
004775FF MOV EDX,DWORD PTR SS:[EBP-24]
00477602 MOV EAX,ESI
00477604 CALL HNMWEBGA.00477820
00477609 MOV ECX,EAX
0047760B MOV EDX,HNMWEBGA.004776F8
; ASCII "Code"
00477610 MOV EAX,EDI
00477612 CALL HNMWEBGA.004767B0
00477617 MOV EAX,EDI
00477619 CALL HNMWEBGA.00402F34
0047761E JMP SHORT HNMWEBGA.00477668
00477620 CALL HNMWEBGA.00476AD4
00477625 MOV BYTE PTR DS:[ESI+10],0
00477629 MOV DL,1
0047762B MOV EAX,DWORD PTR DS:[476348]
00477630 CALL HNMWEBGA.00476448
00477635 MOV EDI,EAX
00477637 MOV CL,1
00477639 MOV EDX,HNMWEBGA.004776BC
; ASCII "Software\HNM_Freeware\WebGallery"
0047763E MOV EAX,EDI
00477640 CALL HNMWEBGA.0047654C
00477645 XOR ECX,ECX
00477647 MOV EDX,HNMWEBGA.004776E8
; ASCII "User"
0047764C MOV EAX,EDI
0047764E CALL HNMWEBGA.0047670C
00477653 XOR ECX,ECX
00477655 MOV EDX,HNMWEBGA.004776F8
; ASCII "Code"
0047765A MOV EAX,EDI
0047765C CALL HNMWEBGA.004767B0
00477661 MOV EAX,EDI
00477663 CALL HNMWEBGA.00402F34
00477668 MOV BL,BYTE PTR DS:[ESI+10]
0047766B XOR EAX,EAX
0047766D POP EDX
0047766E POP ECX
0047766F POP ECX
00477670 MOV DWORD PTR FS:[EAX],EDX
00477673 PUSH HNMWEBGA.0047769A
00477678 LEA EAX,DWORD PTR SS:[EBP-24]
0047767B MOV EDX,4
00477680 CALL HNMWEBGA.00403BFC
00477685 LEA EAX,DWORD PTR SS:[EBP-8]
00477688 MOV EDX,2
0047768D CALL HNMWEBGA.00403BFC
00477692 RETN
00477693 JMP HNMWEBGA.00403654
00477698 JMP SHORT HNMWEBGA.00477678
0047769A MOV EAX,EBX
0047769C POP EDI
0047769D POP ESI
0047769E POP EBX
0047769F MOV ESP,EBP
004776A1 POP EBP
004776A2 RETN
********************************************************
call(2):
00402C08 IMUL EDX,DWORD PTR DS:[4E3044],8088405 ; edx=dword[4E3044]*8088405h,其中[4E3034]的值是動態變化的,不過對最後的運算結果沒有影響,寫序號產生器時可以任取它的一個隨機值
00402C12 INC EDX
; edx++
00402C13 MOV DWORD PTR DS:[4E3044],EDX
; dword[4E3044]=edx
00402C19 MUL EDX
; eax*edx,低位送eax,高位送edx
00402C1B MOV EAX,EDX
; eax=edx
00402C1D RETN
*********************************************************
call(3):
00477700 PUSH EBP
00477701 MOV EBP,ESP
00477703 PUSH ECX
00477704 PUSH EBX
00477705 PUSH ESI
00477706 PUSH EDI
00477707 MOV DWORD PTR SS:[EBP-4],EDX
0047770A MOV EAX,DWORD PTR SS:[EBP-4]
0047770D CALL HNMWEBGA.0040400C
00477712 XOR EAX,EAX
00477714 PUSH EBP
00477715 PUSH HNMWEBGA.004777FB
0047771A PUSH DWORD PTR FS:[EAX]
0047771D MOV DWORD PTR FS:[EAX],ESP
00477720 MOV EAX,DWORD PTR SS:[EBP-4]
00477723 CALL HNMWEBGA.00403E58
; 取使用者名稱長度
00477728 CMP EAX,5
; 是否大於等於5
0047772B JGE SHORT HNMWEBGA.0047773A
0047772D LEA EAX,DWORD PTR SS:[EBP-4]
00477730 MOV EDX,HNMWEBGA.00477814
; ASCII "fghdjghdh"
00477735 CALL HNMWEBGA.00403E60
0047773A PUSH DWORD PTR SS:[EBP-4]
0047773D PUSH DWORD PTR SS:[EBP-4]
00477740 PUSH DWORD PTR SS:[EBP-4]
00477743 LEA EAX,DWORD PTR SS:[EBP-4]
00477746 MOV EDX,3
0047774B CALL HNMWEBGA.00403F18
; 把整個使用者名稱複製兩遍並連在一起
00477750 XOR ESI,ESI
00477752 MOV EAX,DWORD PTR SS:[EBP-4]
00477755 CALL HNMWEBGA.00403E58
; 再取其長度
0047775A MOV ECX,EAX
; 長度送ecx
0047775C TEST ECX,ECX
0047775E JLE SHORT HNMWEBGA.00477796
00477760 MOV EBX,1
00477765 /MOV EAX,EBX
00477767 |MOV EDI,9
0047776C |CDQ
0047776D |IDIV EDI
0047776F |MOV EAX,DWORD PTR DS:[EDX*4+4E1674] ; 根據密碼錶取值(附表見後)
00477776 |MOV EDX,DWORD PTR SS:[EBP-4]
00477779 |MOVZX EDX,BYTE PTR DS:[EDX+EBX-1] ; 依次取使用者名稱每一位送edx
0047777E |IMUL EDX,EDX,182C5
; edx=edx*182C5h
00477784 |IMUL EDX
; edx*eax,低位送eax,高位送edx
00477786 |ADD EAX,ESI
; eax=eax+esi
00477788 |MOV ESI,0DE6FD
; esi=0DE6FDh
0047778D |CDQ
; edx清零
0047778E |IDIV ESI
; eax/esi,商送eax,餘數送edx
00477790 |MOV ESI,EDX
; 餘數送esiI,E
00477792 |INC EBX
; ebx++
00477793 |DEC ECX
; ecx--
00477794 \JNZ SHORT HNMWEBGA.00477765 ;
未取完則返回繼續
00477796 MOV EAX,ESI
; 最後的結果送eax
00477798 MOV ECX,0DE6FD
; ecx=0DE6FDh
0047779D CDQ
; edx清零
0047779E IDIV ECX
; eax/ecx
004777A0 MOV ESI,EDX
; 餘數送esi
004777A2 CMP ESI,2710
; 是否大於等於2710h?
004777A8 JGE SHORT HNMWEBGA.004777B3
; 是則跳
004777AA MOV EAX,182C5
; eax=182C5h
004777AF SUB EAX,ESI
; eax=eax-esi
004777B1 MOV ESI,EAX
; esi=eax
004777B3 MOV EBX,2
; ebx=2
004777B8 MOV EDI,HNMWEBGA.004E1698
004777BD /MOV EAX,ESI
; eax=esi
004777BF |MOV ECX,0A
; ecx=0Ah,
004777C4 |CDQ
; edx清零
004777C5 |IDIV ECX
; eax/ecx
004777C7 |CMP EAX,DWORD PTR DS:[EDI]
; 商是否等於D92Dh(第二次是171F2h)?
004777C9 |JNZ SHORT HNMWEBGA.004777DD ;
不等就跳
004777CB |MOV EAX,0E5588
; eax=0E5588h
004777D0 |CALL HNMWEBGA.00402C08
; 這個就是call(2)
004777D5 |MOV ESI,EAX
; 返回值送esi
004777D7 |ADD ESI,270F
; esi=esi+270Fh
004777DD |ADD EDI,4
; edi=edi+4
004777E0 |DEC EBX
; ebx--
004777E1 \JNZ SHORT HNMWEBGA.004777BD ;
不為零則返回繼續
004777E3 MOV EBX,ESI
; 最後的返回值
004777E5 XOR EAX,EAX
004777E7 POP EDX
004777E8 POP ECX
004777E9 POP ECX
004777EA MOV DWORD PTR FS:[EAX],EDX
004777ED PUSH HNMWEBGA.00477802
004777F2 LEA EAX,DWORD PTR SS:[EBP-4]
004777F5 CALL HNMWEBGA.00403BD8
004777FA RETN
004777FB JMP HNMWEBGA.00403654
00477800 JMP SHORT HNMWEBGA.004777F2
00477802 MOV EAX,EBX
; 最後的返回值
00477804 POP EDI
00477805 POP ESI
00477806 POP EBX
00477807 POP ECX
00477808 POP EBP
00477809 RETN
附表:
004E1674 95 02 00 00 D3 00 00 00 C5 02 00 00 A3 01 00 00 ?..?..?..?..D3
0
004E1684 E5 03 00 00 65 00 00 00 7B 01 00 00 D3 01 00 00 ?..e...{..?..
0
004E1694 BD 02 00 00 2D D9 00 00 F2 71 01 00 5F 8D 40 00 ?..-?.q._@.2D
D
__________________________________________________________
【整理】:
Regname:cyclotron[BCG]
Regcode:536956-WG2-790
【演算法總結】:
1.sn1與sn2必須滿足下列關係:
sn1%2BDh+63h=sn2
2.對使用者名稱的計算(使用者名稱必須大於等於5位):
a.將使用者名稱複製兩遍並連線起來,如cyclotroncyclotroncyclotron
b.計數器i從0開始,根據計數器取密碼錶的dword值table[(i+1)%9],根據計數器取使用者名稱串cyclotroncyclotroncyclotron每一位的ASCII值name[i],
{tmp=table[i+1]*name[i]*182C5h;tmp+=sn1;val=tmp%0xDE6FD;}
迴圈使用者名稱長度*3次。
c.val=val%DE6FDh,判斷sn1是否大於等於2710h,是則val=182C5h-val,否則繼續。
3.最終的val必須與sn1相等。
【Turbo C 序號產生器】:
#include "stdio.h"
#include "string.h"
void main()
{int table[9]={0x295,0xD3,0x2C5,0x1A3,0x3E5,0x65,0x17B,0x1D3,0x2BD},i,length;
long sn1=0,tmp=1;
char regname[30];
printf("\t******************************************************\n");
printf("\n\t\tKeyGen for HNM Web Gallery Creator V2.12\n\t\t\tProduced
by cyclotron\n");
printf("\n\t******************************************************\n");
do
printf("\n\tPlease input your Regname(>4 chars):");
while((length=strlen(gets(regname)))<=5);
for(i=0;i<length*3;i++)
{tmp=regname[i%length]*0x182C5*table[(i+1)%9];
tmp+=sn1;
sn1=tmp%0xDE6FD;
}
sn1=sn1%0xDE6FD;
sn1=sn1>=0x2710?sn1:0x182C5-sn1;
printf("\n\tYour Regcode is:\t%ld-WG2-%ld\n\n\tThank you for your use!\n",sn1,sn1%0x2BD+0x63);
getchar();
}
cyclotron[BCG]
2003.8.4
相關文章
- BaseAdapter + Gallery2015-07-23APT
- react元件(react-grid-gallery)2018-07-08React元件
- Android gallery 3D效果2014-06-30Android3D
- Coder vs Creator2012-12-19
- Qt Creator系列教程2010-05-11QT
- Qt Creator 4.9 釋出2019-05-12QT
- QT creator使用筆記2021-01-02QT筆記
- 小程式:無限自動滾動的Gallery2019-01-15
- 用RecyclerView做一個小清新的Gallery效果2017-12-13View
- Android-Gallery[使用C# And Java實現]2015-03-23AndroidC#Java
- Android UI控制元件系列:Gallery(畫廊檢視)2014-12-01AndroidUI控制元件
- 在Android Studio中利用List Fragments建立相簿Gallery2014-07-09AndroidFragment
- Cocos Creator 實現截圖2017-02-07
- Apache Hadoop creator — Doug Cutting2016-07-29ApacheHadoop
- Cocos Creator 3.x缺陷2024-10-11
- Qt Creator匯入不同Qt版本2024-07-14QT
- creator2.4.5 astc問題排除2024-11-11AST
- 處理好item點選事件的gallery(畫廊)效果(無bug)2017-04-24事件
- 使用 RecyclerView 實現 Gallery 畫廊效果,並控制 Item 停留位置2017-02-07View
- QT Creator配置環境和安裝2020-07-02QT
- Qt Creator 4.10 Beta版釋出2019-07-09QT
- cocos creator 視訊互動遊戲2018-10-29遊戲
- Cisdem PDF Creator(PDF 生成轉換器)2020-11-11
- cocos creator中適配iPhone X2018-04-13iPhone
- Cocos Creator踩坑日記(一)2018-07-06
- Qt Creator 安裝、漢化及helloworld程式2017-08-14QT
- 七、Qt Creator實現文字查詢2010-05-18QT
- VNC打不開Qt Creator解決2024-06-08VNCQT
- 在Qt Creator中使用vcpkg:綜合指南2024-10-12QT
- Cocos Creator 的工作流程 2.42024-03-27
- Qt - Qt Creator下載與安裝2024-04-10QT
- JavaScript 5/30:Flex Panel Gallery即FLEX佈局的圖片庫2018-04-19JavaScriptFlex
- Cocos Creator - 微信小遊戲 實戰分享2018-11-14遊戲
- cocos-creator 指令碼邏輯-12018-09-13指令碼
- AnyRec DVD Creator Mac(DVD影碟製作機)2023-02-06Mac
- linux成長之路(QT Creator 流水帳)2015-05-14LinuxQT
- Ubuntu上使用QT creator執行cuda程式2024-05-31UbuntuQT
- 獲取滑鼠左鍵點選 creator 3.82024-09-11