1 Registration Byte Patch Method ကို အသံုးၿပဳ၍ Crack လုပ္ၿခင္း [Tutorial] 22nd October 2009, 1:01 pm
sHa92
Founder
လူသစ္တန္း ခရက္ကာမ်ားအတြက္သာ ရည္ရြယ္ပါသည္။
က်ေနာ္ ခရက္လုပ္ၿပမယ့္နည္းကေတာ့ Program ရဲ႕ Registration Bytes ေပၚမွာမူတည္ၿပီးေတာ့ ခရက္လုပ္တဲ့နည္းဘဲၿဖစ္ပါတယ္။
ဒီနည္းကို အသံုးၿပဳၿခင္းအားၿဖင့္ က်ေနာ္တုိ႔ဟာ အခ်ိန္ကုန္တအားသက္သာေစပါတယ္။ ၿပီးေတာ့ ဒီနည္းဟာ Programmer အမ်ားစုသံုးတဲ့နည္းလည္းၿဖစ္လို႔ Cracking ရဲ႕ အေၿခခံ Concept လုိ႔ ဆုိရင္လည္း မမွားပါဘူး။
က်ေနာ္ေၿပာခ်င္တာ တစ္ခုကေတာ့ Cracking ဆုိတဲ့ ပညာရပ္ဟာ သူမ်ားလုပ္ၿပတာကို ၾကည့္ရံု ၊ နားေထာင္ရံု နဲ႔ေတာ့ မရႏုိင္ပါဘူး။
က်ေနာ္ လုပ္ၿပသြားတဲ့ အတိုင္းကို ကိုယ္တုိင္ လုိက္လုပ္ၾကည့္ေနမွ တကယ္တတ္မွာပါ။ ႏုိ႔မို႔ဆုိရင္ စာဖတ္ၿပီးေတာ့လုပ္တဲ့ အဆင့္ကေန တတ္မွာ မဟုတ္ဘူးဆုိတာေတာ့ ေၿပာခ်င္ပါတယ္။
Registration Byte Patch Method ကို အသံုးၿပဳ၍ Crack လုပ္ၿခင္း
Tutorial by $ƴǩǾ
က်ေနာ္သံုးထားတာကေတာ့ WinRAR 3.80 beta 5 Version ၿဖစ္ပါတယ္။
လုိအပ္တဲ့ Program ေတြကေတာ့ :: WinRAR, Olly Debug, hex editor တုိ႔ၿဖစ္ပါတယ္။
1.) က်ေနာ္တုိ႕ရဲ႕ WinRAR.exe ဖိုင္ကို Olly Debug နဲ႔ ဖြင့္ပါမယ္။
2.) OLLY ထဲေရာက္ရင္ ထဲမွာ Right click ႏွိပ္လုိက္ပါ ၿပီးရင္ Search For > All Referenced Text strings ဆုိၿပီးေတာ့ ရွာပါမယ္။
အဲဒါဆုိရင္ေတာ့ က်ေနာ္တုိ႔ Reference window ထဲကိုေရာက္ပါမယ္။ အဲဒါဆိုရင္ေတာ့ က်ေနာ္တို႔ဟာ EXE ဖုိင္ထဲမွာ ပါသမွ် Text အားလုံးကို သူတုိ႔ရဲ႕ သက္ဆုိင္ရာ address ေတြနဲ႔ ေတြ႔ၿမင္ရပါလိမ့္မယ္။ က်ေနာ္တုိ႔ ေအာက္ကို scroll ဆြဲၿပီးသြားလုိက္ရင္ေတာ့ string တစ္ခုကို ေအာက္နားမွာေတြ႔ရပါလိမ့္မယ္။ အဲဒါကေတာ့ "RARKEY" (သို႔) "RARREG.KEY" ၿဖစ္ပါတယ္။ အဲဒါကို ရွာေတြ႔ရင္ double click လုပ္ပါ။ အဲဒါဆုိရင္ က်ေနာ္တို႔ဟာ အဲဒီ့ text ရဲ႕ instruction point ကိုေရာပါမယ္။ (ဒါကေတာ့ က်ေနာ္နဲ႔ ခရက္တဲ့ Version မတူတဲ့သူေတြလည္း လုပ္ရမယ့္ အဆင့္ပါ။)
3.) ေအာက္မွာကေတာ့ program run ရင္ လာမယ့္ Registration Process ၿဖစ္ပါတယ္။
REGISTRATION BYTE ရဲ႕ သေဘာတရားကေတာ့ 1 ၿဖစ္ရင္ program က registered ၿဖစ္ပါမယ္ ၊ 0 ၿဖစ္ေနရင္ေတာ့ program က NOT Registered ၿဖစ္ပါတယ္။
Program က Registration Proc ကို စလိုက္တယ္ဆိုတာနဲ႔ သူက Program ဟာ Registered လား Trial လားဆုိတာ စစ္ပါတယ္။
4.) REGISTRATION CHECK ကို ေခၚၿခင္း နွင့္ Registration BYTE အား စစ္ၿခင္း
က်ေနာ္တို႔ဟာ CALL RegistrationProc ဆိုတာကုိ MOV EAX,1 ဆုိၿပီးေတာ့ patch လုပ္ႏုိင္ပါတယ္။
ဒါေပမယ့္ အဲလိုလုပ္တာဟာ ေကာင္းမြန္တဲ့ နည္းလမ္းေတာ့ မဟုတ္ပါဘူး။ဘာလို႔လဲဆုိေတာ့ ပရိုဂရမ္ဟာ တၿခားေနရာေတြကေနလည္း အဲဒီ့ Call the Registration Proc ဆိုတာကို ဆက္လက္စစ္ေဆးေနႏိုင္ေသးလို႔ပါ။
MOV BYTE PTR DS:[4BB8F4],AL ဆုိတဲ့ instruction မွာေတာ့ Registration byte Address ၿဖစ္တဲ့[4BB8F4] ရိွပါတယ္။ အကယ္လို႔သာ [4BB8F4] မွာရိွတဲ့ byte ရဲ႕ value ဟာ 0, ၿဖစ္တယ္ဆုိရင္ေတာ့ registered မဟုတ္ေသးပါဘူး။
ဒီ ဖန္ရွင္ဟာ AL BYTE ကို address [4BB8F4] ဆီကို ေၿပာင္းေပးတဲ့ အလုပ္လုပ္ပါတယ္။
အဲဒီ့အတြက္ေၾကာင့္ က်ေနာ္တို႔လုပ္ရမွာက MOV AL,1 ဆိုတာကို Registration Check Proc စတဲ့အခ်ိန္မွာ ထည့္ရမွာၿဖစ္ပါတယ္။ အဲဒါဆုိရင္ေတာ့ က်ေနာ္တို႔ရဲ႕ program ဟာ Registered ၿဖစ္သြားပါၿပီ။
(AL register ဆုိတာကေတာ့ EAX register ရဲ႕ 16bit version လို႔မွတ္ထားႏုိင္ပါတယ္။)
5.) က်ေနာ္တုိ႔စၿပီးေတာ့ Program ကို Patch လုပ္ပါေတာ့မယ္။
ေအာက္ကကုဒ္ကုိ ရွာပါ။ ၿပီးရင္
ေအာက္က အတုိင္းၿပင္ေပးလုိက္ပါ။
ဒီ ကုဒ္ကေတာ့ AL (EAX) = 1 ကို 1 အေနနဲ႔ ထားၿပီးေတာ့ code တစ္ခုကို return ၿပန္ပါတယ္။ registration check code ကို က်ေနာ္တို႔ နည္းနည္းမွ မထိလိုက္ရဘဲနဲ႔ Registration Check Proc မွာတင္စစ္သြားတာပါ။
ၿပီးရင္ေတာ့ Program ကို ၿပန္ၿပီး patch လုက္လိုက္ၿပီဆုိရင္ က်ေနာ္တို႔လုိခ်င္တဲ့ REGISTERED! Version ကိုရၿပီေပါ့ဗ်ာ။ က်ေနာ္တို႔ winrar 3.0 အထက္ version အားလုံးကို ဒီနည္းနဲ႔ ခရက္လုပ္ႏုိင္ပါတယ္။ Code နည္းနည္းေတာ့ ေၿပာင္းမယ္ထင္ပါတယ္။
ဒါကေတာ့ Registration byte method ကိုသံုးၿပီးခရက္တဲ့ နည္းလမ္းပါ။ ဒီ Concept နဲ႔ တၿခားဘယ္ program မ်ိဳးမွာ မဆုိ ဟက္လို႔ရပါတယ္။ ဘာလို႔လဲဆုိေတာ့ အေၿခခံအက်ဆုံး concept ၿဖစ္လုိ႔ပါ။
(ေနာက္တစ္ခု လက္ေဆာင္အၿဖစ္ က်ေနာ္ေၿပာၿပပါဦးမယ္။ က်ေနာ္တုိ႔ RAR နဲ႔ ဖိုင္ေတြကို ခ်ံဳ႕မယ္ဆုိပါေတာ့ ခ်ံဳ႕တဲ့အခါမွာ Authenticity Verification ဆုိတာကို က်ေနာ္တု႔ိ ထည့္မယ္ဆုိရင္ " Only Availible in Registered Version." ဆုိတာၾကီး က်လာတာ မုန္းဖို႔ေကာင္းပါတယ္။ အဲဒါကိုေတာ့ လြယ္လြယ္ေလးနဲ႔ ေက်ာ္လို႔ရပါတယ္။ ေအာက္က ကုဒ္ ေတြကို ရေအာင္ရွာပါ။ ၿပီးရင္ "ဒီလုိင္းကို ဖ်က္ပစ္လုိက္ပါ။" ဆုိတဲ့ လုိင္းကို ဖ်က္လုိက္ရံုပါဘဲ။ [You must be registered and logged in to see this image.])
ဒီ Tutorial မွာ က်ေနာ္ ေၿပာသြားတဲ့ နည္းလမ္းကေတာ့ က်ေနာ္တို႔ ခရက္ကင္းေလာကမွာ အသံုးအမ်ားဆုံး နည္းလမ္းၿဖစ္ပါတယ္။ ဒီလုိနည္းလမ္းနဲ႔ ပတ္သက္တဲ့ က်ဴတုိရီရယ္ေတြလည္း အမ်ားၾကီးပါ။
ဒီ Tutorial ကို ေသခ်ာနားလည္သြားတယ္ဆုိရင္ေတာ့ အစ္ကို ၊ အစ္မတို႔ အေနနဲ႔ ခရက္ကင္းေလာကရဲ႕ အဓိကက်တဲ့ concept တစ္ခုကို ရသြားၿပီဆုိတာ က်ေနာ္ အာမခံရဲပါတယ္ဗ်ာ။
ေလာေလာဆယ္ေတာ့ က်ေနာ္သံုးေနတဲ့ ဆုိင္က RAR က Register Version ၿဖစ္သြားၿပီ။ [You must be registered and logged in to see this image.]
ဒီက်ဴတုိရီရယ္ကို က်ေနာ္ေရးရတာကေတာ့ educational purpose တစ္ခုထဲအတြက္ေရးတာပါ။ ၿမန္မာေတြ Cracking ကို စိတ္၀င္စားလာဖို႔ရည္ရြယ္ခ်က္ေလးနဲ႔လည္း ေရးေပးၿခင္းၿဖစ္ပါတယ္။
Tutorial ကို ၿပန္လည္ေဖာ္ၿပလုိပါက ဖုိရမ္ကို Credit ေပးပါလို႔ ေတာင္းဆုိခ်င္ပါတယ္။
ေက်းဇူးတင္စြာၿဖင့္
$ƴǩǾ
က်ေနာ္ ခရက္လုပ္ၿပမယ့္နည္းကေတာ့ Program ရဲ႕ Registration Bytes ေပၚမွာမူတည္ၿပီးေတာ့ ခရက္လုပ္တဲ့နည္းဘဲၿဖစ္ပါတယ္။
ဒီနည္းကို အသံုးၿပဳၿခင္းအားၿဖင့္ က်ေနာ္တုိ႔ဟာ အခ်ိန္ကုန္တအားသက္သာေစပါတယ္။ ၿပီးေတာ့ ဒီနည္းဟာ Programmer အမ်ားစုသံုးတဲ့နည္းလည္းၿဖစ္လို႔ Cracking ရဲ႕ အေၿခခံ Concept လုိ႔ ဆုိရင္လည္း မမွားပါဘူး။
က်ေနာ္ေၿပာခ်င္တာ တစ္ခုကေတာ့ Cracking ဆုိတဲ့ ပညာရပ္ဟာ သူမ်ားလုပ္ၿပတာကို ၾကည့္ရံု ၊ နားေထာင္ရံု နဲ႔ေတာ့ မရႏုိင္ပါဘူး။
က်ေနာ္ လုပ္ၿပသြားတဲ့ အတိုင္းကို ကိုယ္တုိင္ လုိက္လုပ္ၾကည့္ေနမွ တကယ္တတ္မွာပါ။ ႏုိ႔မို႔ဆုိရင္ စာဖတ္ၿပီးေတာ့လုပ္တဲ့ အဆင့္ကေန တတ္မွာ မဟုတ္ဘူးဆုိတာေတာ့ ေၿပာခ်င္ပါတယ္။
Registration Byte Patch Method ကို အသံုးၿပဳ၍ Crack လုပ္ၿခင္း
Tutorial by $ƴǩǾ
က်ေနာ္သံုးထားတာကေတာ့ WinRAR 3.80 beta 5 Version ၿဖစ္ပါတယ္။
လုိအပ္တဲ့ Program ေတြကေတာ့ :: WinRAR, Olly Debug, hex editor တုိ႔ၿဖစ္ပါတယ္။
1.) က်ေနာ္တုိ႕ရဲ႕ WinRAR.exe ဖိုင္ကို Olly Debug နဲ႔ ဖြင့္ပါမယ္။
2.) OLLY ထဲေရာက္ရင္ ထဲမွာ Right click ႏွိပ္လုိက္ပါ ၿပီးရင္ Search For > All Referenced Text strings ဆုိၿပီးေတာ့ ရွာပါမယ္။
အဲဒါဆုိရင္ေတာ့ က်ေနာ္တုိ႔ Reference window ထဲကိုေရာက္ပါမယ္။ အဲဒါဆိုရင္ေတာ့ က်ေနာ္တို႔ဟာ EXE ဖုိင္ထဲမွာ ပါသမွ် Text အားလုံးကို သူတုိ႔ရဲ႕ သက္ဆုိင္ရာ address ေတြနဲ႔ ေတြ႔ၿမင္ရပါလိမ့္မယ္။ က်ေနာ္တုိ႔ ေအာက္ကို scroll ဆြဲၿပီးသြားလုိက္ရင္ေတာ့ string တစ္ခုကို ေအာက္နားမွာေတြ႔ရပါလိမ့္မယ္။ အဲဒါကေတာ့ "RARKEY" (သို႔) "RARREG.KEY" ၿဖစ္ပါတယ္။ အဲဒါကို ရွာေတြ႔ရင္ double click လုပ္ပါ။ အဲဒါဆုိရင္ က်ေနာ္တို႔ဟာ အဲဒီ့ text ရဲ႕ instruction point ကိုေရာပါမယ္။ (ဒါကေတာ့ က်ေနာ္နဲ႔ ခရက္တဲ့ Version မတူတဲ့သူေတြလည္း လုပ္ရမယ့္ အဆင့္ပါ။)
3.) ေအာက္မွာကေတာ့ program run ရင္ လာမယ့္ Registration Process ၿဖစ္ပါတယ္။
- Code:
00440CC7 . E8 FC8C0600 CALL
00440CCC . 33C0 XOR EAX,EAX < just Clearing EAX register for registration process
00440CCE . E8 ADA60400 CALL RegistrationProc@.0048B380 <**CALL TO Registration Check proc, to see if registered.
00440CD3 . A2 F4B84B00 MOV BYTE PTR DS:[4BB8F4],AL <** THE Registration Byte (to check if its registered or not)
00440CD8 . 33C0 XOR EAX,EAX
REGISTRATION BYTE ရဲ႕ သေဘာတရားကေတာ့ 1 ၿဖစ္ရင္ program က registered ၿဖစ္ပါမယ္ ၊ 0 ၿဖစ္ေနရင္ေတာ့ program က NOT Registered ၿဖစ္ပါတယ္။
Program က Registration Proc ကို စလိုက္တယ္ဆိုတာနဲ႔ သူက Program ဟာ Registered လား Trial လားဆုိတာ စစ္ပါတယ္။
- Code:
0048B380 55 PUSH EBP MOV DWORD PTR FS:[0],EDX
0048B3B9 . E9 57010000 JMP WinRAR.0048B515
0048B3BE > 8D8D E4EEFFFF LEA ECX,DWORD PTR SS:[EBP-111C];Just Checking if Registry Keys Exsist.. blah..
0048B3C4 . BA B8684B00 MOV EDX, .004B68B8; ASCII "Software\WinRAR"
0048B3C9 . 51 PUSH ECX
0048B3CA . 6A 00 PUSH 0
0048B3CC . 68 FF0F0000 PUSH 0FFF
0048B3D1 . B9 C8684B00 MOV ECX, .004B68C8; |ASCII "rarkey"
4.) REGISTRATION CHECK ကို ေခၚၿခင္း နွင့္ Registration BYTE အား စစ္ၿခင္း
- Code:
00440CCE . E8 ADA60400 CALL RegistrationProc@.0048B380 <**CALL TO Registration Check proc, to see if registered.
00440CD3 . A2 F4B84B00 MOV BYTE PTR DS:[4BB8F4],AL <** Registration Byte address
က်ေနာ္တို႔ဟာ CALL RegistrationProc ဆိုတာကုိ MOV EAX,1 ဆုိၿပီးေတာ့ patch လုပ္ႏုိင္ပါတယ္။
ဒါေပမယ့္ အဲလိုလုပ္တာဟာ ေကာင္းမြန္တဲ့ နည္းလမ္းေတာ့ မဟုတ္ပါဘူး။ဘာလို႔လဲဆုိေတာ့ ပရိုဂရမ္ဟာ တၿခားေနရာေတြကေနလည္း အဲဒီ့ Call the Registration Proc ဆိုတာကို ဆက္လက္စစ္ေဆးေနႏိုင္ေသးလို႔ပါ။
MOV BYTE PTR DS:[4BB8F4],AL ဆုိတဲ့ instruction မွာေတာ့ Registration byte Address ၿဖစ္တဲ့[4BB8F4] ရိွပါတယ္။ အကယ္လို႔သာ [4BB8F4] မွာရိွတဲ့ byte ရဲ႕ value ဟာ 0, ၿဖစ္တယ္ဆုိရင္ေတာ့ registered မဟုတ္ေသးပါဘူး။
ဒီ ဖန္ရွင္ဟာ AL BYTE ကို address [4BB8F4] ဆီကို ေၿပာင္းေပးတဲ့ အလုပ္လုပ္ပါတယ္။
အဲဒီ့အတြက္ေၾကာင့္ က်ေနာ္တို႔လုပ္ရမွာက MOV AL,1 ဆိုတာကို Registration Check Proc စတဲ့အခ်ိန္မွာ ထည့္ရမွာၿဖစ္ပါတယ္။ အဲဒါဆုိရင္ေတာ့ က်ေနာ္တို႔ရဲ႕ program ဟာ Registered ၿဖစ္သြားပါၿပီ။
(AL register ဆုိတာကေတာ့ EAX register ရဲ႕ 16bit version လို႔မွတ္ထားႏုိင္ပါတယ္။)
5.) က်ေနာ္တုိ႔စၿပီးေတာ့ Program ကို Patch လုပ္ပါေတာ့မယ္။
ေအာက္ကကုဒ္ကုိ ရွာပါ။ ၿပီးရင္
- Code:
REGISTRATION PROC: ( 00440CCE CALL RegistrationProc@.0048B380 )
-
0048B380 55 PUSH EBP <***Registration Check Proc Start
0048B381 8BEC MOV EBP,ESP
0048B383 81C4 04F0FFFF ADD ESP,-0FFC
0048B389 . 50 PUSH EAX
0048B38A . 81C4 E4FEFFFF ADD ESP,-11C
ေအာက္က အတုိင္းၿပင္ေပးလုိက္ပါ။
- Code:
REGISTRATION PROC: ( 00440CCE CALL RegistrationProc@.0048B380 )
-
0048B380 B0 01 MOV AL,1 <***Registration Check Proc Start
0048B382 C3 RETN <** Immediately Return
ဒီ ကုဒ္ကေတာ့ AL (EAX) = 1 ကို 1 အေနနဲ႔ ထားၿပီးေတာ့ code တစ္ခုကို return ၿပန္ပါတယ္။ registration check code ကို က်ေနာ္တို႔ နည္းနည္းမွ မထိလိုက္ရဘဲနဲ႔ Registration Check Proc မွာတင္စစ္သြားတာပါ။
ၿပီးရင္ေတာ့ Program ကို ၿပန္ၿပီး patch လုက္လိုက္ၿပီဆုိရင္ က်ေနာ္တို႔လုိခ်င္တဲ့ REGISTERED! Version ကိုရၿပီေပါ့ဗ်ာ။ က်ေနာ္တို႔ winrar 3.0 အထက္ version အားလုံးကို ဒီနည္းနဲ႔ ခရက္လုပ္ႏုိင္ပါတယ္။ Code နည္းနည္းေတာ့ ေၿပာင္းမယ္ထင္ပါတယ္။
ဒါကေတာ့ Registration byte method ကိုသံုးၿပီးခရက္တဲ့ နည္းလမ္းပါ။ ဒီ Concept နဲ႔ တၿခားဘယ္ program မ်ိဳးမွာ မဆုိ ဟက္လို႔ရပါတယ္။ ဘာလို႔လဲဆုိေတာ့ အေၿခခံအက်ဆုံး concept ၿဖစ္လုိ႔ပါ။
(ေနာက္တစ္ခု လက္ေဆာင္အၿဖစ္ က်ေနာ္ေၿပာၿပပါဦးမယ္။ က်ေနာ္တုိ႔ RAR နဲ႔ ဖိုင္ေတြကို ခ်ံဳ႕မယ္ဆုိပါေတာ့ ခ်ံဳ႕တဲ့အခါမွာ Authenticity Verification ဆုိတာကို က်ေနာ္တု႔ိ ထည့္မယ္ဆုိရင္ " Only Availible in Registered Version." ဆုိတာၾကီး က်လာတာ မုန္းဖို႔ေကာင္းပါတယ္။ အဲဒါကိုေတာ့ လြယ္လြယ္ေလးနဲ႔ ေက်ာ္လို႔ရပါတယ္။ ေအာက္က ကုဒ္ ေတြကို ရေအာင္ရွာပါ။ ၿပီးရင္ "ဒီလုိင္းကို ဖ်က္ပစ္လုိက္ပါ။" ဆုိတဲ့ လုိင္းကို ဖ်က္လုိက္ရံုပါဘဲ။ [You must be registered and logged in to see this image.])
- Code:
0044765D |. E8 2A290600 CALL ; \IsDlgButtonChecked
00447662 |. 85C0 TEST EAX,EAX
00447664 |. 74 11 JE SHORT .00447677 < ဒီလုိင္းကို ဖ်က္ပစ္လုိက္ပါ။ :)
00447666 |. 8BC3 MOV EAX,EBX
00447668 |. E8 4B9B0300 CALL .004811B8 < Send unregistered message
0044766D |. 6A 00 PUSH 0
ဒီ Tutorial မွာ က်ေနာ္ ေၿပာသြားတဲ့ နည္းလမ္းကေတာ့ က်ေနာ္တို႔ ခရက္ကင္းေလာကမွာ အသံုးအမ်ားဆုံး နည္းလမ္းၿဖစ္ပါတယ္။ ဒီလုိနည္းလမ္းနဲ႔ ပတ္သက္တဲ့ က်ဴတုိရီရယ္ေတြလည္း အမ်ားၾကီးပါ။
ဒီ Tutorial ကို ေသခ်ာနားလည္သြားတယ္ဆုိရင္ေတာ့ အစ္ကို ၊ အစ္မတို႔ အေနနဲ႔ ခရက္ကင္းေလာကရဲ႕ အဓိကက်တဲ့ concept တစ္ခုကို ရသြားၿပီဆုိတာ က်ေနာ္ အာမခံရဲပါတယ္ဗ်ာ။
ေလာေလာဆယ္ေတာ့ က်ေနာ္သံုးေနတဲ့ ဆုိင္က RAR က Register Version ၿဖစ္သြားၿပီ။ [You must be registered and logged in to see this image.]
ဒီက်ဴတုိရီရယ္ကို က်ေနာ္ေရးရတာကေတာ့ educational purpose တစ္ခုထဲအတြက္ေရးတာပါ။ ၿမန္မာေတြ Cracking ကို စိတ္၀င္စားလာဖို႔ရည္ရြယ္ခ်က္ေလးနဲ႔လည္း ေရးေပးၿခင္းၿဖစ္ပါတယ္။
Tutorial ကို ၿပန္လည္ေဖာ္ၿပလုိပါက ဖုိရမ္ကို Credit ေပးပါလို႔ ေတာင္းဆုိခ်င္ပါတယ္။
ေက်းဇူးတင္စြာၿဖင့္
$ƴǩǾ