All language subtitles for [Burmese] Build Undetectable Malware Using C Language Ethical Hacking [DownSub.com]

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:06,879 --> 00:00:08,639 ဖန်တီးနည်းကို လေ့လာလိုပါသလား။ 2 00:00:08,639 --> 00:00:11,200 သင်၏ကိုယ်ပိုင်ကျင့်ဝတ်ဆိုင်ရာဟက်ကာကိရိယာများကိုအသုံးပြုပါ။ 3 00:00:11,200 --> 00:00:13,200 ပရိုဂရမ်းမင်းဘာသာစကား c 4 00:00:13,200 --> 00:00:15,440 ကျွန်ုပ်တို့၏ ပြီးပြည့်စုံသော အဆင့်မြင့်ကျင့်ဝတ်တွင် ကောင်းမွန်ပါသည်။ 5 00:00:15,440 --> 00:00:18,080 ဟက်ကာသင်တန်းသည် သင့်အတွက် မင်္ဂလာပါ ကျွန်ုပ်၏အမည်ဖြစ်ပါသည်။ 6 00:00:18,080 --> 00:00:19,920 joe parris အွန်လိုင်းအရောင်းရဆုံး 7 00:00:19,920 --> 00:00:22,240 နည်းပြဆရာနှင့် ကျွန်ုပ်၏ တွဲဖက်ဆရာ 8 00:00:22,240 --> 00:00:24,320 Alaska မှာ လုပ်နည်းကို သင်ပေးမှာပါ။ 9 00:00:24,320 --> 00:00:26,880 မတွေ့နိုင်သော malware ကိုဖန်တီးပြီး တည်ဆောက်ပါ။ 10 00:00:26,880 --> 00:00:29,760 C ကိုအသုံးပြု၍ ဤသင်တန်းသည် မည်သူနည်း 11 00:00:29,760 --> 00:00:32,320 သင်တန်းသည် အဆင့်မြင့်ကျင့်ဝတ်ဆိုင်ရာ ဟက်ကာများအတွက်ဖြစ်သည်။ 12 00:00:32,320 --> 00:00:34,079 ကျောင်းသားတွေဆို ပိုမှန်တယ်။ 13 00:00:34,079 --> 00:00:35,920 Beginner နှင့် သင်လေ့လာလိုပါသည်။ 14 00:00:35,920 --> 00:00:38,000 c programming language တွေရှိမယ်။ 15 00:00:38,000 --> 00:00:40,399 ပိုမိုအဆင့်မြင့်သော အရည်အချင်းများကိုလည်း စာရင်းသွင်းနိုင်ပါသည်။ 16 00:00:40,399 --> 00:00:42,399 ဒီသင်တန်းမှာလည်း အကြံပြုထားပါတယ်။ 17 00:00:42,399 --> 00:00:44,320 ဒီမှာ ပရိုဂရမ်းမင်း ဗဟုသုတ ရှိတယ်။ 18 00:00:44,320 --> 00:00:46,160 သင်ယူရမယ့်အရာအားလုံးပါပဲ။ 19 00:00:46,160 --> 00:00:48,960 ကျွန်ုပ်တို့၏သင်တန်းတိုင်းတွင် ယနေ့ စာရင်းသွင်းခြင်းဖြင့် 20 00:00:48,960 --> 00:00:51,520 ဗီဒီယိုသည် ၎င်း၏ကိုယ်ပိုင်ရည်ရွယ်ချက်နှင့် အဆုံးတွင်ရှိသည်။ 21 00:00:51,520 --> 00:00:53,920 သင်ခန်းစာတိုင်းကို a နဲ့ ပြီးအောင်လုပ်မယ်။ 22 00:00:53,920 --> 00:00:56,640 ထို့အပြင် ယခု malware လုပ်ဆောင်ချက်ကို လုပ်ဆောင်နေပါသည်။ 23 00:00:56,640 --> 00:00:58,640 malware တွေကို ကုဒ်ရေးရုံနဲ့လည်း ကျွန်တော်တို့ လုပ်သွားမှာပါ။ 24 00:00:58,640 --> 00:01:00,640 ပုံသဏ္ဍာန်တူအောင် ဘယ်လိုပုံဖျက်ရမလဲဆိုတာ သင်ပြပေးလိုက်ပါ။ 25 00:01:00,640 --> 00:01:03,440 ရုပ်ပုံ သို့မဟုတ် အခြားပရိုဂရမ် အမျိုးအစားတစ်ခုခု 26 00:01:03,440 --> 00:01:05,199 မင်းလုပ်ချင်တာလုပ်မယ်။ 27 00:01:05,199 --> 00:01:07,520 လူမှုရေးလုပ်ဆောင်ပုံကိုလည်း လေ့လာပါ။ 28 00:01:07,520 --> 00:01:10,080 အင်ဂျင်နီယာများက တိုက်ခိုက်ပြီး ပစ်မှတ်ကို ပြုလုပ်ကြသည်။ 29 00:01:10,080 --> 00:01:12,640 သင်သွားမည့် ကျွန်ုပ်တို့၏ malware ပရိုဂရမ်ကို လုပ်ဆောင်ပါ။ 30 00:01:12,640 --> 00:01:14,799 ဤအရာအားလုံးကို လေ့လာရန်နှင့် ကျွန်ုပ်တို့၏ တွင် နောက်ထပ်များစွာ လေ့လာပါ။ 31 00:01:14,799 --> 00:01:17,119 ကျင့်ဝတ်ဆိုင်ရာ ဟက်ကင်းအဆင့်မြင့်သင်တန်း ပြီးမြောက်ခြင်း။ 32 00:01:17,119 --> 00:01:18,560 ယခု ကျွန်ုပ်တို့သည် သင့်ကို အမြဲခံစားစေလိုပါသည်။ 33 00:01:18,560 --> 00:01:20,640 မဝယ်ခင် အဆင်ပြေပါစေ။ 34 00:01:20,640 --> 00:01:22,960 ထို့ကြောင့် ကျွန်ုပ်တို့သည် အများအပြားကို အခမဲ့ တင်ပေးထားပါသည်။ 35 00:01:22,960 --> 00:01:25,360 သင့်အတွက် ဗီဒီယိုများကို အစမ်းကြည့်ရှုရန် 36 00:01:25,360 --> 00:01:27,600 အတန်းတက်ပေမယ့် အဆင်သင့်ဖြစ်ရင် 37 00:01:27,600 --> 00:01:30,400 အရေးယူဖို့အချိန်ရောက်ပြီ၊ ငါတို့အဆင်သင့်ပါပဲ။ 38 00:01:30,400 --> 00:01:33,119 ဤကမ်းလှမ်းချက်သည် ထာဝစဉ်မတည်မြဲပါ။ 39 00:01:33,119 --> 00:01:35,280 ပြီးရင် buy now ခလုတ်ကို နှိပ်လိုက်ရင် ရပါလိမ့်မယ်။ 40 00:01:35,280 --> 00:01:38,079 သင်တန်းမှာ ပြန်တွေ့ကြလို့ ကျေးဇူးပါ။ 41 00:01:38,079 --> 00:01:40,640 အားလုံးပဲ မင်္ဂလာပါလို့ စာရင်းသွင်းပြီး ကြိုဆိုလိုက်ပါတယ်။ 42 00:01:40,640 --> 00:01:43,280 ဤထူးခြားသော c hacking သင်တန်း 43 00:01:43,280 --> 00:01:44,799 အခု ဒီသင်တန်းမှာ သွားတက်မယ်။ 44 00:01:44,799 --> 00:01:47,280 ကျွန်ုပ်တို့၏ကိုယ်ပိုင်အဆင့်မြင့် malware ကိုဖန်တီးပါ။ 45 00:01:47,280 --> 00:01:49,680 အရာများစွာကို လုပ်ဆောင်သွားမည်ဖြစ်သည်။ 46 00:01:49,680 --> 00:01:52,320 အဲဒါက windows စနစ်အားလုံးကို ပစ်မှတ်ထားလိမ့်မယ်။ 47 00:01:52,320 --> 00:01:53,920 ဤသည်မှာ အဆင့်မြင့်ကျင့်ဝတ်ဆိုင်ရာသင်တန်းဖြစ်သည်။ 48 00:01:53,920 --> 00:01:56,079 ဟက်ကာများသာမက အကယ်၍ သင်စာရင်းသွင်းနိုင်သည်။ 49 00:01:56,079 --> 00:01:58,240 သင် c ပရိုဂရမ်းမင်းကိုစိတ်ဝင်စားပါသလား သို့မဟုတ်လျှင် 50 00:01:58,240 --> 00:02:00,079 သင်က အစပြုသူဖြစ်ပြီး သင်သာဖြစ်သည်။ 51 00:02:00,079 --> 00:02:02,240 ပိုအဆင့်မြင့်တဲ့ အရာတွေကို စိတ်ဝင်စားတယ်။ 52 00:02:02,240 --> 00:02:05,040 ကျွန်ုပ်တို့တွင် သင်၏ကိုယ်ပိုင်ဟက်ကာကိရိယာများကို ကုဒ်ရေးပါ။ 53 00:02:05,040 --> 00:02:07,200 သင်တန်းတစ်ခုချင်းစီတွင် သင်ကြားပြသပေးမည်ဖြစ်ပါသည်။ 54 00:02:07,200 --> 00:02:09,360 ရည်ရွယ်ချက်နဲ့ ဟောပြောပွဲတစ်ခုစီရဲ့ အဆုံးမှာ 55 00:02:09,360 --> 00:02:10,720 အလုပ်နဲ့ ပြီးအောင်လုပ်ရမယ်။ 56 00:02:10,720 --> 00:02:12,720 malware လုပ်ဆောင်ချက်ကြောင့် ကျွန်ုပ်တို့သည် ပန်းတိုင်တစ်ခုရှိပါမည်။ 57 00:02:12,720 --> 00:02:14,319 အဆုံးမှာ ပြီးမြောက်ချင်တယ်။ 58 00:02:14,319 --> 00:02:15,520 ဗီဒီယိုတစ်ခုစီ 59 00:02:15,520 --> 00:02:17,520 coding malware တွေအပြင် ကျွန်တော်လည်း ပြပေးမှာပါ။ 60 00:02:17,520 --> 00:02:19,440 ပုံသဏ္ဍန်တူအောင် ဘယ်လိုပုံဖျက်မလဲ။ 61 00:02:19,440 --> 00:02:22,480 ရုပ်ပုံ သို့မဟုတ် mp3 ဖိုင် သို့မဟုတ် pdf ဖြစ်နိုင်သည်။ 62 00:02:22,480 --> 00:02:24,959 ဖိုင်နှင့်အခြားမည်သည့်ပရိုဂရမ်အမျိုးအစားကိုမဆို 63 00:02:24,959 --> 00:02:27,120 မင်းလုပ်ချင်တယ် 64 00:02:27,120 --> 00:02:28,959 ထက်မြက်တဲ့ နည်းလမ်းတွေကိုလည်း တွေးကြည့်မယ်။ 65 00:02:28,959 --> 00:02:31,200 လူမှုရေးအင်ဂျင်နီယာတိုက်ခိုက်မှုနှင့်လုပ်ဆောင်ရန် 66 00:02:31,200 --> 00:02:33,680 ပစ်မှတ်သည် ကျွန်ုပ်တို့၏ malware ပရိုဂရမ်ကို လုပ်ဆောင်စေသည်။ 67 00:02:33,680 --> 00:02:36,560 အဲဒါကို သူတို့မသိဘဲနဲ့ 68 00:02:36,560 --> 00:02:38,239 ကောင်းတစ်ခုဖြစ်မယ်။ 69 00:02:38,239 --> 00:02:40,160 ဒါမဟုတ်ပေမယ့် အခု သတိထားပါ။ 70 00:02:40,160 --> 00:02:42,319 c ပရိုဂရမ်းမင်းသင်တန်းကို ကျွန်တော် စာရိုက်မယ်။ 71 00:02:42,319 --> 00:02:45,040 ကိုယ်တိုင်ကုဒ်လုပ်ပြီး လုပ်ဆောင်ချက်တိုင်းကို ရှင်းပြပါ။ 72 00:02:45,040 --> 00:02:46,879 ငါတို့သွားသလိုသုံးတယ်။ 73 00:02:46,879 --> 00:02:48,720 ဒါပေမယ့် သင့်မှာရှိမယ်ဆိုရင် ကြီးမားတဲ့ အားသာချက်တစ်ခုပါပဲ။ 74 00:02:48,720 --> 00:02:50,959 ယခင် ပရိုဂရမ်းမင်း ဗဟုသုတ တစ်ခုခု 75 00:02:50,959 --> 00:02:53,519 ဘာသာစကား တစ်ခုနဲ့တစ်ခု ကုဒ်လုပ်မှာမို့လို့ပါ။ 76 00:02:53,519 --> 00:02:55,760 တစ်ခုတည်းသော c language လို့ သိကြပါတယ်။ 77 00:02:55,760 --> 00:02:58,480 ပိုမိုခက်ခဲသော ပရိုဂရမ်းမင်းဘာသာစကားများ 78 00:02:58,480 --> 00:03:00,080 အခုဘာကြောင့်ယူသင့်တယ်ဆိုတာ ရှင်းပြပါရစေ 79 00:03:00,080 --> 00:03:02,000 ဒီသင်တန်းကို သိချင်ရင်တော့ အဆင်ပြေပါတယ်။ 80 00:03:02,000 --> 00:03:03,920 ပရော်ဖက်ရှင်နယ် malwares နှင့် backdoors မည်မျှရှိသည်။ 81 00:03:03,920 --> 00:03:06,480 ကောင်းစွာဖန်တီးကြသည်၊ ၎င်းတို့ကို c တွင်ဖန်တီးထားသည်။ 82 00:03:06,480 --> 00:03:08,480 ဘာသာစကား အများစုနဲ့ ဒီသင်တန်းကို တက်မယ်။ 83 00:03:08,480 --> 00:03:10,800 လုပ်ပုံလုပ်နည်းကို လေးလေးနက်နက် ကြည့်ရှုပေးပါ။ 84 00:03:10,800 --> 00:03:13,120 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ malware ကို ဖုံးကွယ်ထားမည်ဖြစ်သည်။ 85 00:03:13,120 --> 00:03:15,360 ပစ်မှတ်ကနေ ပရိုဂရမ်ကိုလည်း ပေးမှာပါ။ 86 00:03:15,360 --> 00:03:17,120 socket programming အနည်းငယ်ကို ဖုံးအုပ်ပါ။ 87 00:03:17,120 --> 00:03:19,599 c တွင် ကျွန်ုပ်တို့သည် တည်ထောင်ခြင်းကို အကျုံးဝင်မည်ဖြစ်သည်။ 88 00:03:19,599 --> 00:03:22,080 ကျွန်ုပ်တို့၏ပစ်မှတ်နှင့် အချိန်မရွေးချိတ်ဆက်ပါ။ 89 00:03:22,080 --> 00:03:23,040 စက် 90 00:03:23,040 --> 00:03:25,040 ပြီးတော့ windows ကိုလည်း ကြည့်မယ်။ 91 00:03:25,040 --> 00:03:26,879 အကောင်အထည်ဖော်နိုင်ရန် စာရင်းသွင်းခြင်း။ 92 00:03:26,879 --> 00:03:29,280 ကျွန်ုပ်တို့၏ backdoor ကို မြဲမြံစေခြင်းဟူသည် ဆိုလိုသည်။ 93 00:03:29,280 --> 00:03:31,680 ကျွန်ုပ်တို့၏ malware သည် အလိုအလျောက် စတင်မည်ဖြစ်သည်။ 94 00:03:31,680 --> 00:03:33,680 ပစ်မှတ်စက်ရောက်တိုင်း 95 00:03:33,680 --> 00:03:35,280 ပြန်လည်စတင်ခဲ့သည်။ 96 00:03:35,280 --> 00:03:37,280 ပေါင်းထည့်ခြင်း၏ ဥပမာတစ်ခုကိုလည်း တွေ့ရပါမည်။ 97 00:03:37,280 --> 00:03:39,519 keylogger ကို c ထဲမှာ ထားနိုင်ပါလိမ့်မယ်။ 98 00:03:39,519 --> 00:03:41,519 ပစ်မှတ်ထားသည့် မည်သည့် သော့ချက်ခလုတ်များကိုမဆို ဖမ်းယူပါ။ 99 00:03:41,519 --> 00:03:43,599 သူတို့ရဲ့ ကီးဘုတ်မှာ ထည့်သွင်းပြီး ကျွန်ုပ်တို့ လုပ်ဆောင်ပါမယ်။ 100 00:03:43,599 --> 00:03:45,440 အခြားအရာများစွာကိုလည်း ငါတို့သွားမယ်။ 101 00:03:45,440 --> 00:03:47,200 ဒီ course မှာ code က i လို့ အဓိပ္ပါယ်ရပါတယ်။ 102 00:03:47,200 --> 00:03:50,000 ကျွန်တော်သွားရင်းနဲ့ i ကုဒ်ကို ကိုယ်တိုင်ရိုက်လိမ့်မယ်။ 103 00:03:50,000 --> 00:03:52,480 ဒါကိုလည်း ရှင်းပြမယ် ဒါပေမယ့်လည်း တွေးမိတယ်။ 104 00:03:52,480 --> 00:03:54,239 ကုဒ်လိုချင်သူများ၊ 105 00:03:54,239 --> 00:03:56,000 သူတို့ရှေ့မှာ ထားပြီး လိုက်နာပါ။ 106 00:03:56,000 --> 00:03:57,840 အဲဒါတွေကို ဖြစ်အောင် လုပ်ထားလို့ပါ။ 107 00:03:57,840 --> 00:04:00,000 ရှင်းပြချက်ကို ပိုအာရုံစိုက်ပြီး လုပ်မယ်။ 108 00:04:00,000 --> 00:04:01,920 အရင်းအမြစ်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ရန် အဆင်သင့်ဖြစ်ပါပြီ။ 109 00:04:01,920 --> 00:04:04,080 သင်တန်းရဲ့ နောက်ဆုံး သင်ခန်းစာမို့ ခံစားရတယ်။ 110 00:04:04,080 --> 00:04:05,760 အခမဲ့ဒေါင်းလုဒ်လုပ်ပြီး လိုက်နာပါ။ 111 00:04:05,760 --> 00:04:08,319 သင်တန်းကို တစ်ကြောင်းပြီးတစ်ကြောင်း သိရင် အဲဒါက ဘာလဲ။ 112 00:04:08,319 --> 00:04:09,599 ပိုကြိုက်တယ်။ 113 00:04:09,599 --> 00:04:11,439 သို့​ရာ​တွင်​သင်​သည်​ထို​အ​ကြောင်း​ကို​သ​တိ​ထား​သင့်​၏။ 114 00:04:11,439 --> 00:04:13,519 ကျင့်ဝတ်ဆိုင်ရာ ဟက်ကာနှင့် ပတ်သက်သော အစပြုသူများဖြစ်သည်။ 115 00:04:13,519 --> 00:04:15,519 ဒီသင်တန်းကို သင်မတက်ဖူးပါဘူး။ 116 00:04:15,519 --> 00:04:17,839 သင်လုပ်သင့်တဲ့ ပထမဆုံးသင်တန်းတော့ မဟုတ်ပါဘူး။ 117 00:04:17,839 --> 00:04:20,160 ပြေမည်ဖြစ်သောကြောင့် ယူပါ။ 118 00:04:20,160 --> 00:04:21,839 အဆင့်မြင့်သင်တန်း 119 00:04:21,839 --> 00:04:23,680 အခြေခံအားဖြင့် ကျွန်တော်ပြောခဲ့သည့်အတိုင်း သင်တန်းတစ်ခုဖြစ်သည်။ 120 00:04:23,680 --> 00:04:25,759 ပရိုဂရမ်မာများနှင့် ကျင့်ဝတ်ဟက်ကာများနှင့်အတူ 121 00:04:25,759 --> 00:04:27,919 အရင်က အတွေ့အကြုံရှိမယ်ဆိုရင် 122 00:04:27,919 --> 00:04:29,680 စိတ်ဝင်စားပြီး အာရုံစိုက်ဖို့ အဆင်သင့်ဖြစ်နေပြီလား။ 123 00:04:29,680 --> 00:04:31,440 အားလုံးနားလည်ဖို့ နည်းနည်းခက်တယ်။ 124 00:04:31,440 --> 00:04:33,680 မေးခွန်းတွေအတွက် ကူညီပေးရတာ ဝမ်းသာပါတယ်။ 125 00:04:33,680 --> 00:04:35,520 သင်၌ဤမျှလောက်အရာတစ်ခုခုရှိနိုင်ပါသည်။ 126 00:04:35,520 --> 00:04:37,680 သင်လုပ်ဆောင်သည့် မည်သည့်လုပ်ဆောင်ချက်ကိုမဆို အံ့သြသွားနိုင်သည်။ 127 00:04:37,680 --> 00:04:39,840 အပြည့်အစုံ နားမလည်လို့ အားမနာပါနဲ့။ 128 00:04:39,840 --> 00:04:42,320 အဲဒါကို q a section မှာ တင်ပေးပါ့မယ် 129 00:04:42,320 --> 00:04:44,639 ငါမြင်သည်နှင့်တပြိုင်နက်တုံ့ပြန်ပါ။ 130 00:04:44,639 --> 00:04:46,560 ပလက်ဖောင်းပေါ်တက်သွားသလောက် 131 00:04:46,560 --> 00:04:49,120 coding လုပ်မယ် ငါ kali linux ကို သုံးမယ်။ 132 00:04:49,120 --> 00:04:52,639 ကျွန်ုပ်တို့၏ပရိုဂရမ်များကိုဖန်တီးရန် virtual machine 133 00:04:52,639 --> 00:04:55,040 ဒါပေမယ့် ကြိုက်တဲ့ အမျိုးအစားကို သုံးလို့ ရပါတယ်။ 134 00:04:55,040 --> 00:04:56,960 ပတ်ဝန်းကျင်ကို လိုချင်ပေမယ့် သတိထားပါ။ 135 00:04:56,960 --> 00:04:58,720 c ၏စုစည်းမှုလုပ်ငန်းစဉ် 136 00:04:58,720 --> 00:05:00,720 ပရိုဂရမ်သည် windows နှင့်မတူပါ။ 137 00:05:00,720 --> 00:05:02,880 linux ပတ်​ဝန်းကျင်​တွင်​လုပ်​နည်းကိုသင်​ပြ​ပေးမည်​ 138 00:05:02,880 --> 00:05:05,120 linux စနစ်များနှင့် ပရိုဂရမ်ကို စုစည်းပါ။ 139 00:05:05,120 --> 00:05:06,639 အတူတူ လိုက်လျှောက်ချင်ရင် 140 00:05:06,639 --> 00:05:09,360 ကိုယ်လုပ်သလိုပဲ ဒီစာမျက်နှာကို သွားလို့ရပါတယ်။ 141 00:05:09,360 --> 00:05:10,400 ဒီမှာ 142 00:05:10,400 --> 00:05:12,320 သင့်ကိုကူညီမည့် virtualbox ကိုဒေါင်းလုဒ်လုပ်ပါ။ 143 00:05:12,320 --> 00:05:14,560 သင်၏ virtual machine ကိုတည်ဆောက်ပြီးနောက်သွားပါ။ 144 00:05:14,560 --> 00:05:16,960 kali linux တရားဝင်စာမျက်နှာသို့သွားပါ။ 145 00:05:16,960 --> 00:05:19,199 ဒေါင်းလုဒ်များ 146 00:05:19,199 --> 00:05:21,280 နှင့်သင်နောက်ဆုံးပေါ်ဗားရှင်းကိုဒေါင်းလုဒ်ဆွဲနိုင်ပါသည်။ 147 00:05:21,280 --> 00:05:23,520 kali linux စက်ကို လိုချင်ရင် 148 00:05:23,520 --> 00:05:26,479 ငါနဲ့တူတဲ့ပတ်ဝန်းကျင်ရှိတယ်။ 149 00:05:26,479 --> 00:05:28,639 ဒါပေမယ့် စုစည်းမှု လုပ်ငန်းစဉ်နဲ့ 150 00:05:28,639 --> 00:05:30,320 ကုဒ်ရေးနည်း ပရိုဂရမ်က ဖြစ်ပါလိမ့်မယ်။ 151 00:05:30,320 --> 00:05:33,039 အခြား linux စနစ်နှင့် တူညီသည်။ 152 00:05:33,039 --> 00:05:34,400 စုစည်းမှုလုပ်ငန်းစဉ်ဖြစ်နိုင်သည်။ 153 00:05:34,400 --> 00:05:36,800 ပြတင်းပေါက်တွေမှာ မပါတဲ့အတွက် အနည်းငယ်ကွဲပြားပါတယ်။ 154 00:05:36,800 --> 00:05:38,639 နောက်တစ်ခုက ado ဆီကို တိုက်ရိုက်သွားကြည့်ရအောင် 155 00:05:38,639 --> 00:05:40,400 ကျွန်ုပ်တို့ပြသမည့် ဗီဒီယို 156 00:05:40,400 --> 00:05:42,639 malware စွမ်းရည်ကို ဘယ်လိုမြင်လဲ။ 157 00:05:42,639 --> 00:05:45,280 ပစ်မှတ်စက်ပေါ်တွင် ဖျော်ဖြေကြိုဆိုသည်။ 158 00:05:45,280 --> 00:05:47,600 အားလုံးကို ပြန်ပြီး ဖျော်ဖြေကြရအောင် 159 00:05:47,600 --> 00:05:49,280 ကျွန်ုပ်တို့၏ malware ၏သရုပ်ပြမှု 160 00:05:49,280 --> 00:05:51,199 စွမ်းရည်များ 161 00:05:51,199 --> 00:05:53,360 ငါ့တပည့်တွေကို ဘာကိုပြချင်လဲ။ 162 00:05:53,360 --> 00:05:55,120 အဆုံးမှာ သူတို့ မျှော်လင့်သင့်တယ်။ 163 00:05:55,120 --> 00:05:57,360 သင်တန်းကို အခုချက်ချင်းသွားမယ်။ 164 00:05:57,360 --> 00:05:59,520 ကျွန်ုပ်တို့၏ malware ကို စမ်းသပ်ပြီး ကြည့်ရှုပါ။ 165 00:05:59,520 --> 00:06:01,520 သင့်တွင်ရှိမည့် ၎င်း၏လုပ်ဆောင်ချက်အချို့ 166 00:06:01,520 --> 00:06:03,360 သင်တန်း၏အဆုံးမှာ 167 00:06:03,360 --> 00:06:05,919 ဒီတော့ ဒီမှာ ငါ့မှာ kali linux ရှိတယ်။ 168 00:06:05,919 --> 00:06:07,440 2019.4 169 00:06:07,440 --> 00:06:09,039 ဟက်ကာစက် 170 00:06:09,039 --> 00:06:11,840 ဤနေရာတွင် ကျွန်ုပ်၏ အလုံးစုံ မွမ်းမံမှု ရှိသည်။ 171 00:06:11,840 --> 00:06:14,400 windows 10 ပစ်မှတ်စက် 172 00:06:14,400 --> 00:06:15,360 ဒါကြောင့် 173 00:06:15,360 --> 00:06:17,440 ကျွန်ုပ်သည် ကျွန်ုပ်၏ ဟက်ကာစက်သို့သွား၍ စတင်ပါက၊ 174 00:06:17,440 --> 00:06:19,520 ပရိုဂရမ်များထဲမှ တစ်ခုဖြစ်သည့် ကျွန်ုပ်၏ဆာဗာ 175 00:06:19,520 --> 00:06:21,120 ငါတို့ကုဒ်လုပ်မယ်။ 176 00:06:21,120 --> 00:06:22,400 ဝင်လာတာကို နားထောင်ပါလိမ့်မယ်။ 177 00:06:22,400 --> 00:06:24,960 မည်သည့်နေရာမှချိတ်ဆက်မှုများ 178 00:06:24,960 --> 00:06:26,880 ဒါကြောင့် အခုပဲ ငါ့ပန်းတိုင်ကို ရောက်သွားမယ်။ 179 00:06:26,880 --> 00:06:29,039 စက်နဲ့ ပစ်မှတ်လိုချင်တယ် ဆိုကြပါစို့ 180 00:06:29,039 --> 00:06:31,120 myvacation ဓာတ်ပုံများဖိုဒါသို့သွားရန် 181 00:06:31,120 --> 00:06:34,479 desktop ပေါ်တွင်တည်ရှိသည်။ 182 00:06:34,479 --> 00:06:36,720 ရုပ်ပုံ လေးပုံပါရှိကြောင်း သတိပြုမိကြသည်။ 183 00:06:36,720 --> 00:06:38,880 ကျွန်ုပ်၏အားလပ်ရက်ဓာတ်ပုံဖိုင်တွဲတွင်၊ 184 00:06:38,880 --> 00:06:41,360 ပထမသုံးယောက်ပဲ မှတ်မိတယ်။ 185 00:06:41,360 --> 00:06:43,039 ဒါကြောင့် ဘယ်ကလာမှန်း မသိကြဘူး။ 186 00:06:43,039 --> 00:06:44,960 သစ်တောရေကန်ကနေ လာတာပါ။ 187 00:06:44,960 --> 00:06:47,120 သူတို့သည် woodlake.jpg ကိုပြေးသည်။ 188 00:06:47,120 --> 00:06:49,520 ထိုအရာသည် ရေကန်တစ်ခု၏ ပုံရိပ်ကို ပွင့်စေလိမ့်မည်။ 189 00:06:49,520 --> 00:06:51,360 အရာအားလုံးက ပုံမှန်အတိုင်း ဖြစ်နေရင်တောင်မှ ဖြစ်မှာပါ။ 190 00:06:51,360 --> 00:06:53,199 ပိတ်လိုက်တာ ဘာမှပေါ်လာမှာမဟုတ်ဘူး။ 191 00:06:53,199 --> 00:06:55,360 ဒက်စ်တော့ ဒါမှမဟုတ် တခြားဘယ်နေရာမှာမဆို သူတို့လုပ်မယ်။ 192 00:06:55,360 --> 00:06:57,919 ဒါကို ဖွင့်ကြည့်ရုံနဲ့ မသိနိုင်ဘူး။ 193 00:06:57,919 --> 00:07:00,240 ပုံသည် ကျွန်ုပ်တို့၏ malware နှင့် စတင်ပါပြီ။ 194 00:07:00,240 --> 00:07:02,319 ငါ့ cal linux သို့ပြန်သွားလျှင်ယခုပင် 195 00:07:02,319 --> 00:07:04,400 စက်ကို အောင်မြင်စွာ မြင်နိုင်သည်။ 196 00:07:04,400 --> 00:07:06,560 windows 10 နဲ့ ချိတ်ဆက်ထားပါတယ်။ 197 00:07:06,560 --> 00:07:08,960 ပစ်မှတ်စက်နဲ့ လိုချင်ရင် အခုချက်ချင်း 198 00:07:08,960 --> 00:07:11,199 သင်လုပ်နိုင်သည့် မည်သည့် command ကိုမဆို ကျွန်ုပ်တို့ လုပ်ဆောင်နိုင်သည်။ 199 00:07:11,199 --> 00:07:13,360 windows command prompt လိုမျိုး run ပါ။ 200 00:07:13,360 --> 00:07:15,280 ဥပမာ ငါက ဘယ်သူလဲဆိုတာ စစ်ဆေးကြည့်မယ်။ 201 00:07:15,280 --> 00:07:17,360 သင်အသုံးပြုနေသောစက် 202 00:07:17,360 --> 00:07:19,039 ip address ကိုအသုံးပြု၍ စစ်ဆေးနိုင်ပါသည်။ 203 00:07:19,039 --> 00:07:21,360 ipconfig command ကိုသင်စစ်ဆေးနိုင်သည်။ 204 00:07:21,360 --> 00:07:23,680 လမ်းညွှန်အားလုံးနှင့် ဖိုင်အားလုံး 205 00:07:23,680 --> 00:07:25,599 ၎င်းတို့ကို ရိုက်ထည့်ပါက ပစ်မှတ်တွင် ရှိနေသည်။ 206 00:07:25,599 --> 00:07:27,520 command သည် သင့်အား output တစ်ခုပေးလိမ့်မည်။ 207 00:07:27,520 --> 00:07:29,360 လက်ရှိအလုပ်လုပ်နေသော ဖိုင်များအားလုံး 208 00:07:29,360 --> 00:07:31,599 လမ်းညွှန်နှင့်ကျွန်ုပ်တို့၏အစီအစဉ်ကိုကြည့်ရှုနိုင်သည် 209 00:07:31,599 --> 00:07:33,520 လောလောဆယ် ယာယီ ဝှက်ထားသည်။ 210 00:07:33,520 --> 00:07:36,319 ပစ်မှတ်စက်ပေါ်တွင်လမ်းညွှန် 211 00:07:36,319 --> 00:07:38,479 ငါတို့လုပ်နိုင်တဲ့ နောက်တစ်ခုက ငါတို့က ငါတို့ကို စတင်နိုင်တယ်။ 212 00:07:38,479 --> 00:07:40,720 keylogger ဟုခေါ်သော ရိုးရှင်းသော command ကိုအသုံးပြုသည်။ 213 00:07:40,720 --> 00:07:43,039 ကီးလော့ဂ် အမှတ်အသား စတင်သည်။ 214 00:07:43,039 --> 00:07:45,599 Enter နှိပ်ပြီး ကျွန်တော်တို့ရဲ့ ကြိုက်သလိုလုပ်ပါ။ 215 00:07:45,599 --> 00:07:47,440 ကီးလော့ဂ်ဂါ စတင်ပါပြီ။ 216 00:07:47,440 --> 00:07:49,280 သော့ခတ်မှုအားလုံးကို ဖမ်းယူပါ။ 217 00:07:49,280 --> 00:07:51,520 ၎င်းတို့၏ကီးဘုတ်ရှိ ထည့်သွင်းမှုများကို ပစ်မှတ်ထားပါ။ 218 00:07:51,520 --> 00:07:53,520 ဒါဆို ဘယ်လိုအလုပ်လုပ်မလဲ ကြည့်ရအောင် 219 00:07:53,520 --> 00:07:55,280 ပန်းတိုင်ကို သွားချင်တယ် ဆိုကြပါစို့ 220 00:07:55,280 --> 00:07:57,680 my secret passwords folder ကို သူတို့လိုချင်တယ်။ 221 00:07:57,680 --> 00:08:00,000 စကားဝှက်အသစ်ထည့်ရန် ဥပမာတစ်ခုအတွက် 222 00:08:00,000 --> 00:08:01,440 ရေနွေးငွေ့အကောင့် 223 00:08:01,440 --> 00:08:04,800 သူတို့က ဒီမှာ ရေနွေးငွေ့ရိုက်တယ်။ 224 00:08:04,800 --> 00:08:06,080 အစက်နှစ်စက် 225 00:08:06,080 --> 00:08:08,639 လိုင်းအသစ်အတွက် ရိုက်ထည့်ပါ၊ ထို့နောက် တက်ဘ်၊ ထို့နောက် 226 00:08:08,639 --> 00:08:11,440 password သုံးခုကို တစ်ခုမှ တစ်ခုဟု ဆိုကြပါစို့ 227 00:08:11,440 --> 00:08:13,919 ၎င်းတို့၏ ရေနွေးငွေ့အကောင့်အတွက် စကားဝှက် 228 00:08:13,919 --> 00:08:15,919 ငါတို့ cal linux သို့ပြန်သွားလျှင် 229 00:08:15,919 --> 00:08:18,080 စက်နဲ့ သမအောင်ရိုက်ပြီး တခါထပ်ရိုက်ပါ။ 230 00:08:18,080 --> 00:08:20,240 ကျွန်ုပ်တို့၏ malware လမ်းညွှန်နှင့် အတူတူပင် 231 00:08:20,240 --> 00:08:22,400 ဟုခေါ်သော ဖိုင်အသစ်တစ်ခု ရှိနေသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ 232 00:08:22,400 --> 00:08:24,400 windows.txt 233 00:08:24,400 --> 00:08:25,919 အကြောင်းအရာတွေကို ကြည့်ချင်ရင် 234 00:08:25,919 --> 00:08:28,479 ဖိုင်မှာ ပါတဲ့ command ကို ရိုက်ထည့်နိုင်ပါတယ်။ 235 00:08:28,479 --> 00:08:29,520 အမျိုးအစား 236 00:08:29,520 --> 00:08:32,240 windows.txt 237 00:08:32,240 --> 00:08:34,159 ၎င်းသည် အရာအားလုံးကို ထုတ်ပေးလိမ့်မည်။ 238 00:08:34,159 --> 00:08:36,240 ပစ်မှတ်ကို ကီးဘုတ်တွင် ထည့်သွင်းထားသည်။ 239 00:08:36,240 --> 00:08:38,399 ငါတို့ keylogger နဲ့ ငါတို့ကို စလုပ်ကတည်းက 240 00:08:38,399 --> 00:08:41,360 အသစ်စက်စက် နှစ်စက်ကို ဤနေရာတွင် ကြည့်နိုင်ပါသည်။ 241 00:08:41,360 --> 00:08:43,760 လိုင်းကို တက်ဘ်ထိုးပြီးရင် 242 00:08:43,760 --> 00:08:45,760 password သုံးခုမှ တစ်ခု 243 00:08:45,760 --> 00:08:47,680 ၎င်းသည် မည်သည့်အွန်လိုင်းအတွက်မဆို လုပ်ဆောင်နိုင်မည်ဖြစ်သည်။ 244 00:08:47,680 --> 00:08:50,560 အကောင့်နဲ့ login page တစ်ခုခုကို လိုက်သွားမယ်ဆိုရင် 245 00:08:50,560 --> 00:08:53,279 ဥပမာအားဖြင့် instagram အကောင့်ဝင်ခြင်းစာမျက်နှာ 246 00:08:53,279 --> 00:08:54,640 ရိုက်ထည့်ကြတယ်။ 247 00:08:54,640 --> 00:08:57,519 video underscore test ဆိုကြပါစို့ 248 00:08:57,519 --> 00:08:59,040 အသုံးပြုသူအမည်အဖြစ် 249 00:08:59,040 --> 00:09:00,200 နှင့် 250 00:09:00,200 --> 00:09:03,519 test1234 ကိုပြန်သွားလျှင် စကားဝှက်အဖြစ် 251 00:09:03,519 --> 00:09:05,839 ကျွန်ုပ်တို့၏ cal linux စက်နှင့် type c command များ 252 00:09:05,839 --> 00:09:08,920 အရင်က 253 00:09:09,839 --> 00:09:12,240 ကျွန်ုပ်တို့သည် instagram အထောက်အထားများကိုတွေ့နိုင်သည်။ 254 00:09:12,240 --> 00:09:14,240 တတ်နိုင်သလောက် ဖိုင်ထဲကို ထည့်ထားပါတယ်။ 255 00:09:14,240 --> 00:09:18,160 အောက်တန်းအမှတ်များ စမ်းသပ်ခြင်းနှင့် စမ်းသပ်မှု ၁၂၃၄ ဗီဒီယိုကို ကြည့်ပါ။ 256 00:09:18,160 --> 00:09:19,519 ငါတို့လည်း တတ်နိုင်တယ်ဆိုတာ အခုမှသိတယ်။ 257 00:09:19,519 --> 00:09:21,519 သူတို့ရဲ့ဒေတာကိုခိုးယူနိုင်ပုံကိုကြည့်ကြရအောင် 258 00:09:21,519 --> 00:09:23,680 ကျွန်ုပ်တို့လုပ်နိုင်သော လမ်းညွှန်များကြားတွင် သွားလာပါ။ 259 00:09:23,680 --> 00:09:25,920 ဥပမာ go to cd command ကိုသုံးပါ။ 260 00:09:25,920 --> 00:09:28,399 c directory ၏ contents ကိုကြည့်ရှုပါ။ 261 00:09:28,399 --> 00:09:32,160 c directory သည် user များသို့သွားသည် ဥပမာ 262 00:09:32,160 --> 00:09:36,279 ထို့နောက်အသုံးပြုသူ၏ desktop သို့ 263 00:09:37,040 --> 00:09:39,040 နှင့် အကြောင်းအရာအားလုံးကို ကျွန်ုပ်တို့ မြင်နိုင်သည်။ 264 00:09:39,040 --> 00:09:42,320 ၎င်းတို့၏ desktop လမ်းညွှန် 265 00:09:42,320 --> 00:09:43,920 လိုချင်ရင် စတင်နိုင်ပါတယ်။ 266 00:09:43,920 --> 00:09:45,519 မတူညီသောဖိုင်များ 267 00:09:45,519 --> 00:09:47,920 နောက်ပြီး ငါတို့လုပ်နိုင်တာက ငါတို့ဖန်တီးနိုင်တယ်။ 268 00:09:47,920 --> 00:09:50,880 ပစ်မှတ်စက်ပေါ်တွင် မြဲမြံမှုရှိသည်။ 269 00:09:50,880 --> 00:09:52,720 အဲဒါကို ရိုးရိုးရှင်းရှင်းနဲ့ ဘယ်လိုလုပ်မလဲ။ 270 00:09:52,720 --> 00:09:54,560 persist command ကို အသုံးပြု 271 00:09:54,560 --> 00:09:56,560 ငါတို့လည်း ကုဒ်လုပ်မယ်။ 272 00:09:56,560 --> 00:09:58,480 ၎င်းသည် အမှန်တကယ် စွဲမြဲမှုကို ဖန်တီးပေးလိမ့်မည်။ 273 00:09:58,480 --> 00:10:00,720 ပစ်မှတ်စက်ကို ပေါင်းထည့်မည်ဟု အဓိပ္ပာယ်ရသည်။ 274 00:10:00,720 --> 00:10:03,040 ကျွန်ုပ်တို့၏ Malware သည် registry တွင် မည်သည့်အရာဖြစ်မည်နည်း။ 275 00:10:03,040 --> 00:10:04,800 ကျွန်ုပ်တို့ကို အလိုအလျောက် စတင်ခွင့်ပြုပါ။ 276 00:10:04,800 --> 00:10:07,120 ပစ်မှတ်ပြန်လည်စတင်ချိန်တိုင်း ပရိုဂရမ် 277 00:10:07,120 --> 00:10:09,600 သူတို့မသိဘဲနဲ့ သူတို့ရဲ့စက် 278 00:10:09,600 --> 00:10:11,040 အဲဒါ 279 00:10:11,040 --> 00:10:12,959 ဒါမှ ငါတို့က ဒီမှာတွေ့နိုင်တယ်။ 280 00:10:12,959 --> 00:10:14,880 ကျွန်ုပ်တို့၏ malware မှ တုံ့ပြန်မှု 281 00:10:14,880 --> 00:10:18,480 ဤမှတ်ပုံတင်ခြင်းတွင် စွဲမြဲစွာဖန်တီးခဲ့သည်။ 282 00:10:18,480 --> 00:10:20,000 ထို့ကြောင့် ၎င်းတို့သည် ကျွန်ုပ်တို့၏ malware အချို့သာဖြစ်သည်။ 283 00:10:20,000 --> 00:10:21,839 functions တွေကို အခုပဲ ကျွန်တော်တို့ ပြောကြပါစို့ 284 00:10:21,839 --> 00:10:24,000 ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို ရိုးရိုးရှင်းရှင်း နှုတ်ထွက်ချင်သည်။ 285 00:10:24,000 --> 00:10:25,760 ပေးမယ့် queue command ကို ရိုက်ထည့်လိုက်ရုံပါပဲ။ 286 00:10:25,760 --> 00:10:27,440 connection ကိုပိတ်ပြီး ဘယ်လုပ်မလဲ။ 287 00:10:27,440 --> 00:10:29,760 ကျွန်ုပ်တို့၏ပရိုဂရမ်ကိုပိတ်ရန် မည်သို့လုပ်ဆောင်ရမည်ကို ကျွန်ုပ်တို့ကြည့်ရှုမည်ဖြစ်သည်။ 288 00:10:29,760 --> 00:10:31,839 ကုဒ်တွေအကုန်လုံး ဒီဟာတွေလည်း ကျနော်တို့ တွေ့ရလိမ့်မယ်။ 289 00:10:31,839 --> 00:10:33,680 လူမှုရေး အင်ဂျင်နီယာနည်းပညာများ ၏ 290 00:10:33,680 --> 00:10:35,680 ကျွန်တော်တို့ရဲ့ ပရိုဂရမ်ကို မျက်နှာဖုံးစွပ်ထားသလိုပါပဲ။ 291 00:10:35,680 --> 00:10:37,800 ပုံမှန်အစီအစဉ်မှာ မြင်တဲ့အတိုင်းပါပဲ။ 292 00:10:37,800 --> 00:10:39,839 woodlake.jpg ဖိုင် 293 00:10:39,839 --> 00:10:41,920 ပုံကိုဖွင့်ရုံနဲ့ ဘာမှမဖြစ်ပါဘူး။ 294 00:10:41,920 --> 00:10:44,480 အခြားသို့သော် ၎င်းသည် ကျွန်ုပ်တို့၏ malware ကိုလည်း လည်ပတ်စေပါသည်။ 295 00:10:44,480 --> 00:10:45,600 နောက်ခံ 296 00:10:45,600 --> 00:10:47,680 အဲဒါက ဆန္ဒပြပွဲအတွက်ပဲ။ 297 00:10:47,680 --> 00:10:49,839 နောက် video မှာ မင်းကို ငါပြမယ်။ 298 00:10:49,839 --> 00:10:53,839 exe ဖိုင်နှင့်ရုပ်ပုံဖန်တီးရန်ထူးခြားသောနည်းလမ်း 299 00:10:53,839 --> 00:10:55,680 ဒါကြောင့် ဒီသရုပ်ပြမှုကို သင်နှစ်သက်မယ်လို့ မျှော်လင့်ပါတယ်။ 300 00:10:55,680 --> 00:10:57,600 နောက်နေ့တွေမှာ တွေ့ကြမယ်လို့ မျှော်လင့်ပါတယ်။ 301 00:10:57,600 --> 00:11:00,560 နှုတ်ဆက်စကား အားလုံးကို ပြန်လည်ကြိုဆိုလျက်ပါ။ 302 00:11:00,560 --> 00:11:02,640 ဒီသင်ခန်းစာမှာ ငါ မင်းကို ဘယ်လို လုပ်ပြချင်လဲ။ 303 00:11:02,640 --> 00:11:05,120 သင်ကြည့်ရှုရန် exe ဖိုင်ကိုပြောင်းနိုင်သည်။ 304 00:11:05,120 --> 00:11:07,519 ရုပ်ပုံနှင့်တူသည်။ 305 00:11:07,519 --> 00:11:09,920 ဒါကြောင့် ဒီသင်ခန်းစာအတွက် နှစ်ခုလိုအပ်ပါလိမ့်မယ်။ 306 00:11:09,920 --> 00:11:12,320 exe ဖိုင်တစ်ခုလိုအပ်ပါလိမ့်မယ်။ 307 00:11:12,320 --> 00:11:14,399 အခြေခံအားဖြင့် ၎င်းသည် မည်သည့် exe ဖိုင်ဖြစ်နိုင်သည်။ 308 00:11:14,399 --> 00:11:16,959 အွမ်က စကားပြန်လား လိုချင်သလား 309 00:11:16,959 --> 00:11:19,200 msf1 ohm မှ ဖန်တီးထားခြင်း သို့မဟုတ် အချို့သာဖြစ်သည်။ 310 00:11:19,200 --> 00:11:21,120 တစ်နေရာရာမှာ ရှိနေတဲ့ exe ဖိုင် 311 00:11:21,120 --> 00:11:22,320 မင်းရဲ့ PC 312 00:11:22,320 --> 00:11:24,560 လိုချင်တာမှန်သမျှ သုံးလို့ရတာ အရေးမကြီးပါဘူး။ 313 00:11:24,560 --> 00:11:25,920 ပြီးတော့ windows တစ်ခုလည်း လိုအပ်ပါလိမ့်မယ်။ 314 00:11:25,920 --> 00:11:28,399 winrar ပါသောပတ်ဝန်းကျင် 315 00:11:28,399 --> 00:11:29,360 အဆင်ပြေပါတယ်။ 316 00:11:29,360 --> 00:11:31,200 ဒါကြောင့် သင်ဟာ windows နဲ့ လည်ပတ်နေတယ်ဆိုရင် 317 00:11:31,200 --> 00:11:33,120 winrar မရှိဘူးဆိုတာ သေချာအောင်လုပ်ပါ။ 318 00:11:33,120 --> 00:11:34,959 မကြိုးစားခင် အရင်ဒေါင်းပါ။ 319 00:11:34,959 --> 00:11:36,800 ဒါက ကျွန်တော်တို့ လိုအပ်မှာမို့လို့ပါ။ 320 00:11:36,800 --> 00:11:38,320 ကျွန်ုပ်တို့နှင့်အတူ image ကိုဖန်တီးနေစဉ် 321 00:11:38,320 --> 00:11:39,600 malware 322 00:11:39,600 --> 00:11:41,440 ယခု သင့်တွင် မည်သည့် windows မှ မရှိပါ။ 323 00:11:41,440 --> 00:11:42,480 စက် 324 00:11:42,480 --> 00:11:44,399 သင်သည် virtualbox ကိုရိုးရှင်းစွာဒေါင်းလုဒ်လုပ်နိုင်သည်။ 325 00:11:44,399 --> 00:11:46,399 နှင့် အချို့သော windows ပတ်ဝန်းကျင်ကို ဒေါင်းလုဒ်လုပ်ပါ။ 326 00:11:46,399 --> 00:11:48,480 ပြီးရင် windows machine တစ်ခုရပါလိမ့်မယ်။ 327 00:11:48,480 --> 00:11:50,480 သင့်မဲလ်ဝဲများကို သင်ပြောင်းလဲနိုင်သည့်နေရာ 328 00:11:50,480 --> 00:11:52,639 ပုံများနှင့် အခြားသော ဖိုင်အမျိုးအစားများ နှင့် သင် 329 00:11:52,639 --> 00:11:54,399 မင်းရဲ့ပတ်ဝန်းကျင်လည်း ရှိလိမ့်မယ်။ 330 00:11:54,399 --> 00:11:56,880 ၎င်းကိုဖန်တီးပြီးသည်နှင့်ကျွန်ုပ်တို့၏ malware ကိုစမ်းသပ်နိုင်သည်။ 331 00:11:56,880 --> 00:11:58,399 အိုကေ ဒါဆို 332 00:11:58,399 --> 00:12:00,240 သင့်မှာ windows ရှိပြီးသားလို့ ယူဆတယ်။ 333 00:12:00,240 --> 00:12:02,320 ပြီးတော့ မင်းရဲ့ exe ကို ရွေးပြီးသွားပြီ 334 00:12:02,320 --> 00:12:04,399 သင်ပြောင်းလိုသောဖိုင် 335 00:12:04,399 --> 00:12:06,560 ငါတို့ဘာတွေလိုအပ်သေးလဲ ကြည့်ရအောင် 336 00:12:06,560 --> 00:12:08,800 ကောင်းပြီ မင်းပုံတစ်ခုလိုလိမ့်မယ်။ 337 00:12:08,800 --> 00:12:10,320 ပြီးသားပုံပဲဖြစ်ဖြစ်၊ 338 00:12:10,320 --> 00:12:12,079 သင့်ကွန်ပြူတာ သို့မဟုတ် သင်ပြုလုပ်သော တစ်လုံးပေါ်တွင် 339 00:12:12,079 --> 00:12:13,600 အင်တာနက်ကနေ ဒေါင်းလုဒ်လုပ်ပါလိမ့်မယ်။ 340 00:12:13,600 --> 00:12:15,120 အရေးမကြီးဘူး။ 341 00:12:15,120 --> 00:12:17,120 သင်တစ်ဦးလိုအပ်ပါလိမ့်မယ်ဒါကြောင့်သင်သေချာပါစေ။ 342 00:12:17,120 --> 00:12:19,680 jpeg သို့မဟုတ် png ဖြစ်မဖြစ် ပုံကို ရယူပါ။ 343 00:12:19,680 --> 00:12:21,680 တခါတည်းလည်း အရေးမကြီးဘူး။ 344 00:12:21,680 --> 00:12:23,680 သင်သွားလိုသော သင့်ပုံကို ရွေးပါ။ 345 00:12:23,680 --> 00:12:25,200 ဘရောက်ဆာ 346 00:12:25,200 --> 00:12:27,440 သင်၏ရှာဖွေရေးဘားကိုသွားပြီး jpeg ဟုရိုက်ထည့်ပါ။ 347 00:12:27,440 --> 00:12:29,680 ico ကို အခုပဲ လုပ်သင့်ရင် ကိစ္စမရှိပါဘူး။ 348 00:12:29,680 --> 00:12:33,120 ပုံက png လို့ ရိုက်ချင်သေးလား။ 349 00:12:33,120 --> 00:12:34,959 ရှာဖွေမှုရလဒ်များ အဆင်သင့်ဖြစ်သောအခါ 350 00:12:34,959 --> 00:12:36,480 ပထမဆုံး လင့်ခ်ကို သွားချင်တယ်။ 351 00:12:36,480 --> 00:12:39,360 https iconconverter.com 352 00:12:39,360 --> 00:12:41,120 ၎င်းကိုနှိပ်ပါ။ 353 00:12:41,120 --> 00:12:43,120 ဤစာမျက်နှာကိုဖွင့်သင့်သည်။ 354 00:12:43,120 --> 00:12:45,760 ပထမအဆင့်က ပုံတစ်ပုံကို အပ်လုဒ်လုပ်ပါ။ 355 00:12:45,760 --> 00:12:48,720 ဒါဆို မင်းသွားပြီးတော့ ဖိုင်ကို ရွေးလိမ့်မယ်။ 356 00:12:48,720 --> 00:12:50,880 ငါ့ကိစ္စမှာ မင်းရဲ့ရုပ်ပုံကိုရှာပါ။ 357 00:12:50,880 --> 00:12:53,120 desktop ပေါ်မှာပဲ ရှိတာဗျ။ 358 00:12:53,120 --> 00:12:54,320 နဂါး 359 00:12:54,320 --> 00:12:55,680 ငါရွေးမယ်။ 360 00:12:55,680 --> 00:12:57,360 upload ကို နှိပ်လိုက်ပါမယ်။ 361 00:12:57,360 --> 00:12:58,880 ရန်စက္ကန့်အနည်းငယ်ကြာပါမည်။ 362 00:12:58,880 --> 00:13:01,519 အဆင်သင့်ဖြစ်ပြီဆိုတာနဲ့ ပုံကိုတင်ပါ။ 363 00:13:01,519 --> 00:13:03,760 တောက်လျှောက် အောက်ကို ဆင်းချင်တယ်။ 364 00:13:03,760 --> 00:13:05,600 ပြီးတော့ ဒီနေရာကို ရွေးပါလို့ ပြောတယ်။ 365 00:13:05,600 --> 00:13:08,160 အိုင်ကွန်ဖော်မတ်ဒီမှာ ဆင်းချင်သည်နှင့် 366 00:13:08,160 --> 00:13:10,800 64 x64 ကိုစစ်ဆေးပါ။ 367 00:13:10,800 --> 00:13:12,959 အခြားတစ်ခုကို အလိုအလျောက် ဖြည့်ပေးလိမ့်မည်။ 368 00:13:12,959 --> 00:13:14,800 စိတ်ကြိုက်အရွယ်အစားနှင့် စက်ဝိုင်းများ 369 00:13:14,800 --> 00:13:16,800 အိုင်ကွန်တစ်ခုတွင် အရွယ်အစားအစုံ 370 00:13:16,800 --> 00:13:18,720 ဒါကို နှိပ်ပြီးတာနဲ့ 371 00:13:18,720 --> 00:13:20,560 ico ပြောင်းရန် သွားပါ။ 372 00:13:20,560 --> 00:13:22,079 စက္ကန့်အနည်းငယ်အတွင်းမှာပဲ သင်တွေ့ပါလိမ့်မယ်။ 373 00:13:22,079 --> 00:13:24,880 သင်၏အိုင်ကွန်များကို ကလစ်နှိပ်ပါ။ 374 00:13:24,880 --> 00:13:26,320 ဘယ်သွားချင်လဲ မေးလိမ့်မယ်။ 375 00:13:26,320 --> 00:13:27,839 သိမ်းထားချင်သောကြောင့် သိမ်းဆည်းပါ။ 376 00:13:27,839 --> 00:13:29,360 ဒက်စတော့ 377 00:13:29,360 --> 00:13:30,800 save here ကိုနှိပ်ပါ။ 378 00:13:30,800 --> 00:13:33,279 ၎င်းသည်ချက်ချင်းဒေါင်းလုဒ်လုပ်လိမ့်မည်။ 379 00:13:33,279 --> 00:13:36,079 အဆင်သင့်ဖြစ်ပြီဆိုရင်တော့ အဆင်ပြေမှာပါ။ 380 00:13:36,079 --> 00:13:38,720 သင့် desktop ပေါ်တွင် ဤဖိုင်သုံးခု 381 00:13:38,720 --> 00:13:41,440 တစ်ဖန် exe သည် image နှင့် the 382 00:13:41,440 --> 00:13:43,760 ထိုပုံအတွက် အိုင်ကွန် 383 00:13:43,760 --> 00:13:45,839 ဒါကြောင့် တစ်ခါလုပ်ရင် ခွဲခွာချင်တာပေါ့။ 384 00:13:45,839 --> 00:13:47,760 ရုပ်ပုံနှင့်သင်ခွဲခြားလိုသည်။ 385 00:13:47,760 --> 00:13:49,199 exe 386 00:13:49,199 --> 00:13:51,920 ပြီးရင် နှစ်ခုစလုံးကို ရွေးချင်တယ်။ 387 00:13:51,920 --> 00:13:54,800 ၎င်းတို့ပေါ်တွင် right click နှိပ်ပြီး add to ကိုသွားပါ။ 388 00:13:54,800 --> 00:13:57,519 ဒီအတွက် archive မှာ winrar လိုအပ်ပါလိမ့်မယ်။ 389 00:13:57,519 --> 00:13:59,600 အဲဒါကြောင့် ဒေါင်းလုပ်ဆွဲဖို့ ပြောတာပါ။ 390 00:13:59,600 --> 00:14:01,199 ဒီနေရာကို သွားပြီး တခါတည်း ထည့်ပေးလိုက်တာ 391 00:14:01,199 --> 00:14:02,399 အုံ 392 00:14:02,399 --> 00:14:04,399 ဒီပြတင်းပေါက်ငယ်လေးမှာ ပွင့်လာလိမ့်မယ်။ 393 00:14:04,399 --> 00:14:06,160 ၎င်းသည် သင့်အား မတူညီသောအချက်အချို့ကို လှုံ့ဆော်ပေးလိမ့်မည်။ 394 00:14:06,160 --> 00:14:07,839 ရွေးချယ်စရာများ 395 00:14:07,839 --> 00:14:09,600 ပထမဆုံးပြောင်းလဲချင်တာက 396 00:14:09,600 --> 00:14:11,760 သင်ဒီမှာသွားပြီး စာရိုက်ချင်လား။ 397 00:14:11,760 --> 00:14:14,000 သင့်ပုံတွင်ရှိစေလိုသော အမည်နာမ 398 00:14:14,000 --> 00:14:16,480 ငါ့ရဲ့ ပုံရိပ်ကို ငါလိုချင်တယ်။ 399 00:14:16,480 --> 00:14:18,240 image.jpg 400 00:14:18,240 --> 00:14:20,320 ငါတို့အဘို့အလို့ငှာ ငါတို့ရှိသမျှသည်သိသောကြောင့် 401 00:14:20,320 --> 00:14:22,000 malware ကို run ရန်ကျွန်ုပ်တို့သည် exe ရှိရန်လိုအပ်သည်။ 402 00:14:22,000 --> 00:14:24,160 extension က ကျွန်တော်တို့ ဒီကိုသွားချင်တာနဲ့ 403 00:14:24,160 --> 00:14:26,959 create sfx archive ကိုနှိပ်ပါ။ 404 00:14:26,959 --> 00:14:28,480 အဲဒါကို နှိပ်လိုက်ရင် တွေ့ရပါလိမ့်မယ်။ 405 00:14:28,480 --> 00:14:30,560 dot exe extension ကိုအလိုအလျောက်ထည့်ပါ။ 406 00:14:30,560 --> 00:14:32,240 ဒီမှာ 407 00:14:32,240 --> 00:14:34,279 ပြီးသည်နှင့်သင်ရလိမ့်မည်။ 408 00:14:34,279 --> 00:14:36,880 archive အမည်တွင် image.jpg.exe 409 00:14:36,880 --> 00:14:39,120 ပြီးရင် အဆင့်မြင့်ကို သွားချင်တယ်။ 410 00:14:39,120 --> 00:14:40,639 သင်လိုချင်သောအဆင့်မြင့်မှုအောက်တွင်ဤနေရာတွင် 411 00:14:40,639 --> 00:14:43,440 sfx options ကိုသွားပါ။ 412 00:14:43,440 --> 00:14:45,839 အခုပဲ ကျွန်တော်တို့ တဘ်ချင်းသွားဖို့လိုတယ်။ 413 00:14:45,839 --> 00:14:48,000 နှင့် ကွဲပြားသော ရွေးချယ်စရာများကို ဤနေရာတွင် သတ်မှတ်ပါ။ 414 00:14:48,000 --> 00:14:49,760 ယေဘူယျ တက်ဘ်ကို ကျွန်ုပ်တို့ သတ်မှတ်ရန် မလိုအပ်ပါ။ 415 00:14:49,760 --> 00:14:50,720 ဘာမဆို 416 00:14:50,720 --> 00:14:52,800 တပ်ဆင်မှုတက်ဘ်သို့ ဆက်သွားပါမည်။ 417 00:14:52,800 --> 00:14:54,800 ဘယ်ပရိုဂရမ်တွေကို သုံးချင်လဲလို့ မေးပါ။ 418 00:14:54,800 --> 00:14:56,480 ထုတ်ယူပြီးနောက် 419 00:14:56,480 --> 00:14:58,160 ကျွန်ုပ်တို့လုပ်ဆောင်လိုသော ပထမဆုံးပရိုဂရမ် 420 00:14:58,160 --> 00:15:00,399 သင်လုပ်ရန်လိုအပ်သော ကျွန်ုပ်တို့၏ပုံဖြစ်လိမ့်မည်။ 421 00:15:00,399 --> 00:15:02,480 မှန်ကန်သောအမည်ကို သေချာသတ်မှတ်ပါ။ 422 00:15:02,480 --> 00:15:06,160 ငါ့ကိစ္စက dragon.jpg ဖြစ်ပြီး ငါလိုတယ်။ 423 00:15:06,160 --> 00:15:08,240 ငါသတ်မှတ်ကြောင်းကိုလည်းသတိရပါ။ 424 00:15:08,240 --> 00:15:10,240 စာလုံးအသေးအားလုံးက အဲဒါဆိုတော့ 425 00:15:10,240 --> 00:15:12,240 ငါ့ပုံနာမည်က ဒါပထမဆုံးပဲ။ 426 00:15:12,240 --> 00:15:14,480 ဖိုင်ကိုထုတ်ယူပြီးနောက်ကျွန်ုပ်တို့ run လိမ့်မည်။ 427 00:15:14,480 --> 00:15:17,519 dragon.jpg နဲ့ ရိုက်ကြည့်ရအောင် 428 00:15:17,519 --> 00:15:19,680 ဒီနေရာကို နှိပ်ပြီး Enter နဲ့ ညာဘက်အောက်နားကို နှိပ်ပါ။ 429 00:15:19,680 --> 00:15:22,399 dragon.jpg ဟူသော အမည်ကို သင် သတ်မှတ်လိုပါသည်။ 430 00:15:22,399 --> 00:15:24,839 ငါ့ကိစ္စမှာ မင်းရဲ့ exe ဖိုင်က အဲဒါပဲ။ 431 00:15:24,839 --> 00:15:26,399 backdoor.exe 432 00:15:26,399 --> 00:15:29,839 ဒါမှမဟုတ် စာလုံးသေးလေးတွေ နောက်ခံထားပါ။ 433 00:15:29,839 --> 00:15:31,279 dot exe 434 00:15:31,279 --> 00:15:33,279 အဆင်သင့်ဖြစ်ပြီဆိုတာနဲ့ ကျွန်တော်တို့က အဲဒီနေရာကို ဆက်သွားနိုင်ပါတယ်။ 435 00:15:33,279 --> 00:15:34,320 မုဒ် အဆင့် 436 00:15:34,320 --> 00:15:36,000 နှင့်သင်စစ်ဆေးလိုသောမုဒ်အဆင့်တွင် 437 00:15:36,000 --> 00:15:38,800 ဤနေရာတွင် ယာယီဖိုင်တွဲကို ထုပ်ပိုးလိုက်ပါ။ 438 00:15:38,800 --> 00:15:40,800 အားလုံးဆင်းပြီး ကလစ်နှိပ်ပါ။ 439 00:15:40,800 --> 00:15:42,800 အားလုံးကို ဝှက်ထားပါ။ 440 00:15:42,800 --> 00:15:44,560 သင်သွားလိုသောနေရာကိုနှိပ်ပြီးနောက် 441 00:15:44,560 --> 00:15:45,839 အဆင့်မြင့်သည်။ 442 00:15:45,839 --> 00:15:47,279 အဆင့်မြင့်မှာ ကျွန်တော်တို့ မပြောင်းချင်ဘူး။ 443 00:15:47,279 --> 00:15:49,279 module မှာ ဘာမဆို ဘာမှမရှိပါဘူး။ 444 00:15:49,279 --> 00:15:52,320 လိုင်စင်ကိုလည်း အခုချက်ချင်းပြောင်းဖို့ 445 00:15:52,320 --> 00:15:54,399 စာသားနဲ့ အိုင်ကွန်ကို သင်ရောက်သွားတာနဲ့ သင်ပါပဲ။ 446 00:15:54,399 --> 00:15:56,480 တစ်လမ်းလုံးဆင်းချင်ရင် ကလစ်နှိပ်ပါ။ 447 00:15:56,480 --> 00:15:59,199 ဖိုင်မှ load sfx အိုင်ကွန် 448 00:15:59,199 --> 00:16:02,000 browse ကိုနှိပ်ပါ။ 449 00:16:03,040 --> 00:16:05,680 သင်ဖန်တီးထားသည့် သင့်အိုင်ကွန်ကို ရွေးပါ။ 450 00:16:05,680 --> 00:16:08,079 ကျွန်တော် အခုတင်ထားတဲ့ icon converter ကို အသုံးပြု 451 00:16:08,079 --> 00:16:11,199 လွန်ခဲ့သည့် နှစ်စက္ကန့်က အသုံးပြုခဲ့သော သင့်အိုင်ကွန်ကို တစ်ခါရွေးပါ။ 452 00:16:11,199 --> 00:16:13,440 သင် update ကိုသွားချင်ကြောင်းလုပ်ပါ။ 453 00:16:13,440 --> 00:16:15,759 နှင့် သင်သွားလိုသော အပ်ဒိတ်တက်ဘ်တွင် 454 00:16:15,759 --> 00:16:18,160 ဖိုင်များကို ထုတ်ယူပြီး အပ်ဒိတ်လုပ်ပါ။ 455 00:16:18,160 --> 00:16:19,759 သင်သွားလိုသောမုဒ်ကို overwrite လုပ်ပါ။ 456 00:16:19,759 --> 00:16:22,079 အဲဒါကိုလုပ်ပြီးတာနဲ့ ဖိုင်တွေအားလုံးကို overwrite လုပ်ပါ။ 457 00:16:22,079 --> 00:16:23,680 ok ကိုနှိပ်ပါ။ 458 00:16:23,680 --> 00:16:26,720 ok ကို နောက်တစ်ကြိမ်ထပ်နှိပ်ပါ။ 459 00:16:26,720 --> 00:16:28,800 စက္ကန့်အနည်းငယ်အတွင်းမှာပဲ ငါတို့ရသင့်တယ်။ 460 00:16:28,800 --> 00:16:31,440 ကျွန်ုပ်တို့၏ဖိုင်သည် ဤနေရာတွင် ကျွန်ုပ်တို့မြင်နိုင်သကဲ့သို့ အဆင်သင့်ဖြစ်နေပါပြီ။ 461 00:16:31,440 --> 00:16:33,519 ပုံတစ်ပုံကို တစ်ကြိမ်ဖွင့်ပေးမည့် malware 462 00:16:33,519 --> 00:16:35,279 ကွပ်မျက်သည်။ 463 00:16:35,279 --> 00:16:37,360 image.jpg ပါရှိသည်ကို သင်တွေ့မြင်နိုင်ပါသည်။ 464 00:16:37,360 --> 00:16:40,000 Extension က သွင်းထားလို့သာ ဖြစ်တာ။ 465 00:16:40,000 --> 00:16:42,720 ဤ windows စနစ်သည် extension ဖြစ်သည်။ 466 00:16:42,720 --> 00:16:45,360 hidden ဆိုတော့ ဥပမာ extension ရှိရင်ပေါ့။ 467 00:16:45,360 --> 00:16:46,480 ဖွင့်ထားသည်။ 468 00:16:46,480 --> 00:16:48,240 အများစုတွင် ထိုသို့မဟုတ်ပေ။ 469 00:16:48,240 --> 00:16:50,959 windows စနစ်များဆိုလျှင် ဤဖိုင်ဖြစ်လိမ့်မည်။ 470 00:16:50,959 --> 00:16:53,440 image.jpeg.txe ဟု အမည်ပေးထားသည်။ 471 00:16:53,440 --> 00:16:54,959 အဘယ်ကြောင့်ဆိုသော် သင်သည် properties ကိုသွားလျှင် ၊ 472 00:16:54,959 --> 00:16:57,759 ဤဖိုင်ကို ကျွန်ုပ်တို့ အမှန်တကယ် သတိပြုမိပါလိမ့်မည်။ 473 00:16:57,759 --> 00:17:00,639 ဤဖိုင်သည် exe အမျိုးအစားဖြစ်သည်။ 474 00:17:00,639 --> 00:17:03,519 ၎င်း၏အမည်မှာ image.jpg ဖြစ်သည်။ 475 00:17:03,519 --> 00:17:05,280 ဒါကြောင့် ဖွင့်ပြီးတာနဲ့ ဘာဖြစ်မလဲဆိုတာ ကြည့်လိုက်ရအောင် 476 00:17:05,280 --> 00:17:07,839 ဒီဖိုင် 477 00:17:08,160 --> 00:17:11,039 ငါ double click လုပ်မယ်။ 478 00:17:11,760 --> 00:17:14,160 ပြီးတော့ စက္ကန့်အနည်းငယ်အတွင်းမှာပဲ ကျွန်တော်တို့ တစ်ခုမြင်နိုင်ပါတယ်။ 479 00:17:14,160 --> 00:17:15,919 ပုံကိုဖွင့်ပြီး ၎င်းသည် 480 00:17:15,919 --> 00:17:18,160 ဒီနဂါးပုံနဲ့ အတူတူပါပဲ။ 481 00:17:18,160 --> 00:17:19,679 ကျွန်ုပ်၏ desktop ပေါ်ရှိပုံ 482 00:17:19,679 --> 00:17:22,079 တခြားဘာမှ မပြဖူးပေမယ့် ငါလုပ်တယ်။ 483 00:17:22,079 --> 00:17:24,400 ကျွန်ုပ်တို့၏ malware ကို လုပ်ဆောင်နေပြီဖြစ်ကြောင်း အာမခံပါ။ 484 00:17:24,400 --> 00:17:26,400 အခု နောက်ခံမှာ 485 00:17:26,400 --> 00:17:28,559 ဒါမှ အဆုံးမှာ သင်ခန်းစာဖြစ်မှာပါ။ 486 00:17:28,559 --> 00:17:30,160 သင်တန်းတစ်ခုလုံးကို ကုဒ်လုပ်ပြီးတာနဲ့ 487 00:17:30,160 --> 00:17:31,919 malware နှင့်ကျွန်ုပ်တို့ပြုလုပ်သောပရိုဂရမ်အားလုံး 488 00:17:31,919 --> 00:17:33,919 မင်းလုပ်နိုင်တာကို ငါပြမယ်။ 489 00:17:33,919 --> 00:17:36,400 ဒီတာဝန်ကို ကျေပွန်အောင် ထမ်းဆောင်ပါ။ 490 00:17:36,400 --> 00:17:38,640 သင်၏ malware သည် မည်သည့်ဖိုင်အမျိုးအစားနှင့်တူသနည်း။ 491 00:17:38,640 --> 00:17:39,919 လိုချင်တယ်။ 492 00:17:39,919 --> 00:17:42,799 pdf ဖိုင်ပဲဖြစ်ဖြစ် mp3 ပဲဖြစ်ဖြစ်၊ 493 00:17:42,799 --> 00:17:44,960 ဤနေရာတွင်ရှိသော browser တစ်ခုမျှသာဖြစ်သည်။ 494 00:17:44,960 --> 00:17:47,360 Task Bar မှာဆိုရင်လည်း အဲဒါကို လုပ်နိုင်ပါတယ်။ 495 00:17:47,360 --> 00:17:48,799 ငါတို့လိုချင်တယ်။ 496 00:17:48,799 --> 00:17:50,640 အဲဒါကို အဆုံးမှာ တွေ့မယ်။ 497 00:17:50,640 --> 00:17:52,799 ဒီသင်တန်းလေးကို သင်နှစ်သက်မယ်လို့ မျှော်လင့်ပါတယ်။ 498 00:17:52,799 --> 00:17:54,880 Tutorial မှာတွေ့မယ်။ 499 00:17:54,880 --> 00:17:56,400 coding ဟောပြောပွဲ 500 00:17:56,400 --> 00:17:58,240 ပထမဆုံး ဟောပြောပွဲကို ကြိုဆိုပါတယ်။ 501 00:17:58,240 --> 00:18:00,559 ကျွန်ုပ်တို့၏ malware ဖန်တီးခြင်းနှင့် ဤအရာတို့တွင် 502 00:18:00,559 --> 00:18:02,240 ဗီဒီယိုကို ကြည့်ပါမယ်။ 503 00:18:02,240 --> 00:18:04,080 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ malware ကိုမည်သို့ရွေးချယ်ခွင့်ရှိသနည်း။ 504 00:18:04,080 --> 00:18:06,160 အဲဒါကို စာရင်းလုပ်မှာလား။ 505 00:18:06,160 --> 00:18:07,679 ဒီတစ်လျှောက်လုံး လိုက်သွားမယ်။ 506 00:18:07,679 --> 00:18:09,919 အပိုင်းလည်း ပါဝင်ပါမယ်။ 507 00:18:09,919 --> 00:18:11,919 လိုအပ်သော စာကြည့်တိုက်များအားလုံး 508 00:18:11,919 --> 00:18:14,799 ကျွန်ုပ်တို့၏ အစီအစဉ်အတွက် လိုအပ်ပါသည်။ 509 00:18:14,799 --> 00:18:17,440 အခု ဒီဗီဒီယိုထဲမှာ ငါပါတယ်ဆိုတာ သတိထားပါ။ 510 00:18:17,440 --> 00:18:19,200 တတ်နိုင်သလောက် ရှင်းပြပေးရုံပါပဲ။ 511 00:18:19,200 --> 00:18:21,520 c programming နဲ့ ပတ်သက်ပြီးတော့ ဒါက မဟုတ်ဘူး။ 512 00:18:21,520 --> 00:18:24,080 ဒီ C programming သင်တန်းတက်မယ်။ 513 00:18:24,080 --> 00:18:26,400 ငါတို့က coding အစစ်အမှန်ဖြစ်မယ်။ 514 00:18:26,400 --> 00:18:28,160 malware နဲ့ ကျွန်တော် အားလုံးကို ရှင်းပြပါတယ်။ 515 00:18:28,160 --> 00:18:29,600 ကျွန်ုပ်တို့အသုံးပြုမည့်လုပ်ဆောင်ချက်များ 516 00:18:29,600 --> 00:18:32,559 ကျွန်တော်တို့ရဲ့ ကုဒ်တစ်လျှောက်လုံး ကောင်းပြီ ဒါကြောင့် ပထမဆုံးအနေနဲ့ 517 00:18:32,559 --> 00:18:34,160 စာရင်းတစ်ခုဖန်တီးရအောင်၊ ငါတို့ဘာလုပ်မလဲ။ 518 00:18:34,160 --> 00:18:36,160 လုပ်ရမှာက ကျွန်တော်တို့က အဲဒီကို သွားမယ်။ 519 00:18:36,160 --> 00:18:38,960 desktop directory က ငါတို့စက်ထဲရောက်နေပြီဆိုလို့ 520 00:18:38,960 --> 00:18:40,559 သင် windows directory ကိုအသုံးပြုနေသည်မှာ Don't 521 00:18:40,559 --> 00:18:41,520 စိတ်မပူနဲ့ 522 00:18:41,520 --> 00:18:43,520 အကယ်၍ သင်သည်ဤပရိုဂရမ်ကို windows တွင်ကုဒ်လုပ်နိုင်သည်။ 523 00:18:43,520 --> 00:18:45,520 ကြိုက်တဲ့နေရာမှာ ကုတ်လို့ရပါတယ်။ 524 00:18:45,520 --> 00:18:48,080 တကယ်ကြိုက်ပေမယ့် ကုဒ်ရေးရတာ ပိုကြိုက်တယ်။ 525 00:18:48,080 --> 00:18:50,160 linux ပတ်​ဝန်းကျင်​မို့ ကျွန်​​တော့်​ kelly ကို သုံး​နေပါတယ်​ 526 00:18:50,160 --> 00:18:53,600 ဒါကိုလုပ်ဆောင်ဖို့ linux စက် 527 00:18:53,600 --> 00:18:55,280 windows အတွက် compilation method နှင့် 528 00:18:55,280 --> 00:18:57,520 linux က မတူပေမယ့် ငါလုပ်မယ်။ 529 00:18:57,520 --> 00:18:59,679 c ကို ဘယ်လို compile လုပ်နိုင်လဲ သင်ပြပေးပါ။ 530 00:18:59,679 --> 00:19:01,840 linux တွင် program နှင့် run ပါ။ 531 00:19:01,840 --> 00:19:05,120 windows ဆိုတော့ ကျွန်တော်တို့ရဲ့ ပန်းတိုင်က exe တစ်ခုရဖို့ပါ။ 532 00:19:05,120 --> 00:19:07,039 executable ဖြစ်လာမယ့် ဖိုင် 533 00:19:07,039 --> 00:19:09,039 windows မှာ အဆင်ပြေပါတယ်။ 534 00:19:09,039 --> 00:19:10,880 ဒါကြောင့် ပထမဆုံးအနေနဲ့ ကျွန်တော်တို့ လမ်းကြောင်းကို သွားမယ်။ 535 00:19:10,880 --> 00:19:13,919 desktop directory သို့သွားပါ။ 536 00:19:13,919 --> 00:19:15,760 ယခုကျွန်ုပ်တို့သည်ဖိုင်တစ်ခုဖန်တီးရန်ရှိသည်။ 537 00:19:15,760 --> 00:19:17,600 ခေါ်တော့မယ်။ 538 00:19:17,600 --> 00:19:18,799 အခေါ်ခံရလိမ့်မည်။ 539 00:19:18,799 --> 00:19:21,799 malwareplan.txt 540 00:19:22,320 --> 00:19:24,640 ဒါကြောင့် အခု ကျနော်တို့ လိုချင်တာ အမှန်ပဲ။ 541 00:19:24,640 --> 00:19:26,720 တကယ်ရှိချင်တာက ကျွန်တော်တို့ လိုချင်တဲ့ အစီအစဉ်ပါ။ 542 00:19:26,720 --> 00:19:28,000 လုပ်ပါ။ 543 00:19:28,000 --> 00:19:30,160 ကျွန်ုပ်တို့ ဖန်တီးလိုသော ပထမအဆင့် 544 00:19:30,160 --> 00:19:32,000 ချိတ်ဆက်မှု 545 00:19:32,000 --> 00:19:34,160 ကျွန်ုပ်တို့၏ဆာဗာနှင့်အတူ 546 00:19:34,160 --> 00:19:35,919 အဲဒါက ပထမအဆင့်နဲ့ ဖြစ်မယ်။ 547 00:19:35,919 --> 00:19:39,360 အဲဒါကို ကျွန်တော်တို့ရဲ့ ပင်မထဲမှာပဲ လုပ်မယ်။ 548 00:19:39,360 --> 00:19:40,559 လုပ်ဆောင်ချက် 549 00:19:40,559 --> 00:19:42,559 ဒီတော့ ကျွန်တော်တို့မှာ အဓိက function တစ်ခုရှိမယ်။ 550 00:19:42,559 --> 00:19:44,559 ချိတ်ဆက်မှုကို အမှန်တကယ် လုပ်ဆောင်သွားပါမည်။ 551 00:19:44,559 --> 00:19:46,320 ကျွန်ုပ်တို့၏ဆာဗာသို့ 552 00:19:46,320 --> 00:19:48,000 ငါတို့သွားမယ့် ဒုတိယအချက် 553 00:19:48,000 --> 00:19:50,799 ဖန်တီးတယ်ဆိုတာ ငါတို့ဖန်တီးမယ်။ 554 00:19:50,799 --> 00:19:53,200 shell function တစ်ခု 555 00:19:53,200 --> 00:19:54,799 ဘယ်ဟာက အမှန်တကယ် နားထောင်မလဲ။ 556 00:19:54,799 --> 00:19:57,039 ကျွန်ုပ်တို့၏ဆာဗာမှဝင်လာသောအမိန့်များ 557 00:19:57,039 --> 00:19:59,679 နှင့် အချို့သော ရွေးချယ်မှုများအပေါ် ထပ်လောင်းပါ။ 558 00:19:59,679 --> 00:20:00,400 ဒါကြောင့် 559 00:20:00,400 --> 00:20:03,919 အဝင် command ကိုစောင့်ပါ။ 560 00:20:03,919 --> 00:20:05,679 ထပ်ပြောပါ။ 561 00:20:05,679 --> 00:20:07,280 သေချာသည်ထက် 562 00:20:07,280 --> 00:20:09,200 ရွေးချယ်စရာများ 563 00:20:09,200 --> 00:20:11,280 နောက်တစ်ခုက ကျွန်တော်တို့ ဖန်တီးချင်တာပါ။ 564 00:20:11,280 --> 00:20:13,440 တတ်စွမ်းနိုင်စေရန် ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို ဖန်တီးလိုပါသည်။ 565 00:20:13,440 --> 00:20:15,760 နှစ်ခုစလုံးကို အမှန်တကယ် လည်ပတ်နိုင်အောင်လို့ ကျွန်တော်တို့ လိုချင်ပါတယ်။ 566 00:20:15,760 --> 00:20:17,679 ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို အလိုအလျောက် စတင်ရန် 567 00:20:17,679 --> 00:20:20,400 ပစ်မှတ်သည် ၎င်းတို့၏စက်ကို ပြန်လည်စတင်ချိန်ဖြစ်သည်။ 568 00:20:20,400 --> 00:20:23,679 ဒါကြောင့် အလိုအလျောက် 569 00:20:24,559 --> 00:20:25,760 စတင်ပါ။ 570 00:20:25,760 --> 00:20:27,039 အစီအစဉ် 571 00:20:27,039 --> 00:20:27,840 ဘယ်တော့လဲ 572 00:20:27,840 --> 00:20:29,120 စက် 573 00:20:29,120 --> 00:20:30,159 သည် 574 00:20:30,159 --> 00:20:31,600 ပြန်လည်စတင်ခဲ့သည်။ 575 00:20:31,600 --> 00:20:32,640 အဆင်ပြေပါတယ်။ 576 00:20:32,640 --> 00:20:34,799 စတုတ္ထအချက်က ဒီလိုဖြစ်မယ်။ 577 00:20:34,799 --> 00:20:36,480 ကျွန်တော်တို့ရဲ့ အစီအစဉ်က လုပ်နိုင်မှာပါ။ 578 00:20:36,480 --> 00:20:39,200 အခြား exe ပရိုဂရမ်ကို အမှန်တကယ် စတင်ပါ။ 579 00:20:39,200 --> 00:20:43,679 command တွင်ကျွန်ုပ်တို့သတ်မှတ်ထားသည်ကိုစတင်ပါ။ 580 00:20:43,679 --> 00:20:45,200 မျဉ်းစောင်း 581 00:20:45,200 --> 00:20:46,480 ပေါက်သည်။ 582 00:20:46,480 --> 00:20:48,799 အခြားအစီအစဉ်များ 583 00:20:48,799 --> 00:20:50,799 ပဉ္စမအချက်ကတော့ ကျွန်တော်တို့ တတ်နိုင်သလောက် လုပ်ချင်တာပါ။ 584 00:20:50,799 --> 00:20:53,120 မတူညီသော လမ်းညွှန်များမှတဆင့် သွားလာပါ။ 585 00:20:53,120 --> 00:20:55,120 ဒီတော့ ငါတို့ဒီမှာ စာရိုက်မယ်။ 586 00:20:55,120 --> 00:20:56,799 လမ်းပြခြင်း။ 587 00:20:56,799 --> 00:20:58,799 ကွဲပြားခြားနားသောအားဖြင့် 588 00:20:58,799 --> 00:21:01,799 လမ်းညွှန်များ 589 00:21:02,240 --> 00:21:04,480 ဆဋ္ဌမအချက်သည် ဖြစ်လိမ့်မည်။ 590 00:21:04,480 --> 00:21:06,640 အကောင်အထည်ဖော်ခြင်း။ 591 00:21:06,640 --> 00:21:08,000 ကီးလော့ဂ်ဂါ 592 00:21:08,000 --> 00:21:10,159 ကျွန်ုပ်တို့၏အနောက်ဘက်သို့ 593 00:21:10,159 --> 00:21:12,159 ယခုမဖြစ်နိုင်သည်ကို သတိပြုပါ။ 594 00:21:12,159 --> 00:21:14,000 ဤအလုပ်များအားလုံးကို အမှန်တကယ်လုပ်ဆောင်ပါ။ 595 00:21:14,000 --> 00:21:16,480 ဒီအမိန့်ကို ငါတို့ ပြီးအောင်လုပ်မယ်။ 596 00:21:16,480 --> 00:21:18,799 ဤသင်တန်းတစ်လျှောက်လုံးနှင့် ၎င်းတို့အားလုံး 597 00:21:18,799 --> 00:21:20,960 ကျွန်ုပ်တို့သည် အခြားအရာများကို အမှန်တကယ်ထည့်နိုင်သည်။ 598 00:21:20,960 --> 00:21:23,039 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ ကုဒ်နံပါတ်ကို လျှောက်လှမ်းနေပါသည်။ 599 00:21:23,039 --> 00:21:24,000 အပိုင်း 600 00:21:24,000 --> 00:21:25,760 ဒါကြောင့် ဒီပရိုဂရမ်ကို သိမ်းထားလိုက်ရအောင် 601 00:21:25,760 --> 00:21:26,799 တစ်နေရာရာမှာ 602 00:21:26,799 --> 00:21:29,520 သို့မဟုတ် ဤဖိုင်သည် ကျွန်ုပ်တို့ကိစ္စနှင့် ယခုပင် 603 00:21:29,520 --> 00:21:31,440 နောက်ကြောင်းကို coding နဲ့စလိုက်ရအောင် 604 00:21:31,440 --> 00:21:33,919 တံခါးကို nano လို့ခေါ်မယ်။ 605 00:21:33,919 --> 00:21:35,200 အနောက်တံခါး 606 00:21:35,200 --> 00:21:37,120 အစက် c 607 00:21:37,120 --> 00:21:38,799 အဲဒါကို ငါတို့ သိမ်းထားမယ်။ 608 00:21:38,799 --> 00:21:40,960 desktop နဲ့ ဒီဗီဒီယိုထဲမှာ ကျွန်တော်ပြောခဲ့သလိုပါပဲ။ 609 00:21:40,960 --> 00:21:43,200 လိုချင်တာကိုပဲ တင်သွင်းမယ်။ 610 00:21:43,200 --> 00:21:45,280 ကျွန်ုပ်တို့လိုအပ်သော စာကြည့်တိုက်များ 611 00:21:45,280 --> 00:21:47,120 ဒီတော့ ဒီမှာ ငါတို့ စာရိုက်မယ်။ 612 00:21:47,120 --> 00:21:48,240 ပါဝင်ပါတယ်။ 613 00:21:48,240 --> 00:21:50,480 ပြီးရင် tag ကိုဖွင့်ပါ။ 614 00:21:50,480 --> 00:21:52,000 stdo 615 00:21:52,000 --> 00:21:55,120 dot h နဲ့ ဒါက standard input ဖြစ်တာကြောင့်ပါ။ 616 00:21:55,120 --> 00:21:57,200 ကျွန်ုပ်တို့ပါဝင်မည့် နောက်စာကြည့်တိုက် 617 00:21:57,200 --> 00:21:59,840 std တိုက်ရိုက်ထုတ်လွှင့်သည်။ 618 00:21:59,840 --> 00:22:03,039 c programming တွင် dot h နှင့် စာကြည့်တိုက်များ 619 00:22:03,039 --> 00:22:05,760 dot h extension ပါ၀င်သည် 620 00:22:05,760 --> 00:22:08,880 dot h အစစ်အမှန်ကို တင်သွင်းဖို့ များပါတယ်။ 621 00:22:08,880 --> 00:22:11,600 c programming မှ ဖိုင်များကို ယခု သတိရပါ။ 622 00:22:11,600 --> 00:22:13,760 ကျွန်ုပ်တို့သည် c ပရိုဂရမ်းမင်းနှင့်လည်း လုပ်ဆောင်နေပါသည်။ 623 00:22:13,760 --> 00:22:15,440 c အပေါင်း အပေါင်း မဟုတ်ပါ။ 624 00:22:15,440 --> 00:22:16,880 ဒါဆို ငါတို့သွားမယ့် စာကြည့်တိုက် 625 00:22:16,880 --> 00:22:19,840 uni ကို ထည့်ဖို့ လိုတယ်။ 626 00:22:19,840 --> 00:22:21,039 std 627 00:22:21,039 --> 00:22:23,440 အစက်ဇ 628 00:22:23,440 --> 00:22:25,280 နောက်တစ်ခုနဲ့ သွားကြရအောင် 629 00:22:25,280 --> 00:22:27,360 winsock လိုပါတယ်။ 630 00:22:27,360 --> 00:22:30,559 socket programming အတွက် 2 dot h 631 00:22:30,559 --> 00:22:32,400 တည်ထောင်ရန်အတွက် ကျွန်ုပ်တို့လိုအပ်သောအရာ 632 00:22:32,400 --> 00:22:34,880 ပဉ္စမအချက်မှာ ကျွန်ုပ်တို့၏ဆာဗာနှင့်ချိတ်ဆက်မှု 633 00:22:34,880 --> 00:22:36,960 စာကြည့်တိုက်ဖြစ်မယ်။ 634 00:22:36,960 --> 00:22:39,919 ကျွန်ုပ်တို့ ဖန်တီးထားသောကြောင့် windows dot h 635 00:22:39,919 --> 00:22:41,600 Window အတွက် ပရိုဂရမ်ကို လုပ်ပြီးသွားပါမယ်။ 636 00:22:41,600 --> 00:22:43,520 အချို့သော လုပ်ဆောင်ချက်များသည် အမှန်တကယ် လိုအပ်ပါသည်။ 637 00:22:43,520 --> 00:22:46,960 စာကြည့်တိုက်တွေလည်း လိုအပ်တယ်။ 638 00:22:46,960 --> 00:22:50,320 user.h ကိုအနိုင်ရ 639 00:22:50,720 --> 00:22:53,280 အမွှာလိုမယ်။ 640 00:22:53,280 --> 00:22:55,600 inet dot h 641 00:22:55,600 --> 00:22:56,720 အဆင်ပြေပါတယ်။ 642 00:22:56,720 --> 00:22:58,880 ဒါတွေအားလုံးဟာ windows တကယ့်စာကြည့်တိုက်တွေပါ။ 643 00:22:58,880 --> 00:23:00,640 ငါတို့တွင် နောက်ထပ်တစ်ခုရှိသေးသည်။ 644 00:23:00,640 --> 00:23:02,480 ပြတင်းပေါက်ဖြစ်ပါစေ။ 645 00:23:02,480 --> 00:23:03,760 x အစက်ဇ 646 00:23:03,760 --> 00:23:06,159 တခြားသူတွေက တရားမျှတတယ်။ 647 00:23:06,159 --> 00:23:07,600 ကျွန်ုပ်တို့လိုအပ်မည့် အချို့သော စာကြည့်တိုက်များ 648 00:23:07,600 --> 00:23:09,120 အချို့သော လုပ်ဆောင်ချက်များအတွက်၊ 649 00:23:09,120 --> 00:23:11,360 ဥပမာ string dot h ငါတို့လိုမယ်။ 650 00:23:11,360 --> 00:23:13,840 ထိုစာကြည့်တိုက်ကို ခြယ်လှယ်ရန် 651 00:23:13,840 --> 00:23:16,320 ငါတို့သွားမယ့် ပရိုဂရမ်ထဲက စာကြောင်းတွေ 652 00:23:16,320 --> 00:23:19,600 နောက်ထပ် နှစ်ခု ထပ်လိုပါသေးတယ်။ 653 00:23:19,600 --> 00:23:20,559 cis 654 00:23:20,559 --> 00:23:23,440 slash stat dot h နှင့် နောက်ထပ်တစ်ခုဖြစ်သည်။ 655 00:23:23,440 --> 00:23:24,480 ဖြစ်မယ်။ 656 00:23:24,480 --> 00:23:27,760 cis မျဉ်းစောင်းများသည် dot h အမျိုးအစားများဖြစ်သည်။ 657 00:23:27,760 --> 00:23:29,120 အခုဆို ငါတို့တကယ်မလုပ်ချင်ဘူး။ 658 00:23:29,120 --> 00:23:31,679 ဒီလုပ်ဆောင်ချက်တွေအားလုံးကို ရှင်းပြပါ။ 659 00:23:31,679 --> 00:23:34,000 ဒါပေမယ့် သူတို့က ဖျော်ဖြေရုံနဲ့ သွားလို့ရပါတယ်။ 660 00:23:34,000 --> 00:23:36,080 မသိသေးတဲ့သူတွေအတွက်ပါ။ 661 00:23:36,080 --> 00:23:38,000 c programming နဲ့ ဒီလောက်ပဲ လုပ်နိုင်ပါတယ်။ 662 00:23:38,000 --> 00:23:40,000 ဒီအမှန်တကယ်အချို့ကို ကူးယူရုံပါပဲ။ 663 00:23:40,000 --> 00:23:42,960 နာမည်တွေကို google chrome နဲ့ သွားလိုက်ပါ။ 664 00:23:42,960 --> 00:23:45,360 သင်ပြုလုပ်သော စာကြည့်တိုက်အမည်ကို ရိုက်ထည့်ပါ။ 665 00:23:45,360 --> 00:23:48,240 သူ့မှာ ဘာ function တွေရှိလို့လဲမသိဘူး။ 666 00:23:48,240 --> 00:23:50,000 ဥပမာ ဘာမှန်းမသိဘူး ဆိုကြပါစို့ 667 00:23:50,000 --> 00:23:52,480 win user library ဆိုတာကတော့ 668 00:23:52,480 --> 00:23:56,080 win user.h လို့ရိုက်ထည့်လိုက်ပါ။ 669 00:23:56,080 --> 00:23:58,080 သင်ရိုးရှင်းစွာသင်ရိုးရှင်းစွာကလစ်နှိပ်နိုင်ပါတယ်။ 670 00:23:58,080 --> 00:24:00,400 ပထမဆုံး link မှာ ဒီနေရာကနေ ပြီးနိုင်ပါတယ်။ 671 00:24:00,400 --> 00:24:02,240 ဒီအကြောင်းသင်လိုချင်သမျှကိုဖတ်ပါ။ 672 00:24:02,240 --> 00:24:04,880 စာကြည့်တိုက်ကို အသုံးပြုသူ h 673 00:24:04,880 --> 00:24:06,559 အောက်ပါ programming ပါရှိသည်။ 674 00:24:06,559 --> 00:24:08,720 interfaces တွေအားလုံးကို သင်မြင်နိုင်ပါတယ်။ 675 00:24:08,720 --> 00:24:10,720 ကွဲပြားသောလုပ်ဆောင်ချက်များသည် ဤအရာအမှန်ပင်ဖြစ်သည်။ 676 00:24:10,720 --> 00:24:12,880 စာကြည့်တိုက်တွေ ပါ၀င်ပြီး ကျွန်တော်တို့ သုံးတော့မယ်။ 677 00:24:12,880 --> 00:24:15,520 ၎င်းတို့ထဲမှ အချို့သည် ကျွန်ုပ်တို့၏ အစီအစဉ်တစ်လျှောက် 678 00:24:15,520 --> 00:24:17,120 ဒါကြောင့် ဒါက သင်လုပ်နိုင်တဲ့ အကောင်းဆုံးနည်းလမ်းပါ။ 679 00:24:17,120 --> 00:24:19,360 နားမလည်တာမှန်သမျှ လေ့လာပါ။ 680 00:24:19,360 --> 00:24:21,279 ပရိုဂရမ်ထဲမှာ ရိုးရိုးရှင်းရှင်းနဲ့ လုပ်လို့ရတယ်။ 681 00:24:21,279 --> 00:24:23,039 google က google မှာ သေချာတဲ့ function တစ်ခုပါ။ 682 00:24:23,039 --> 00:24:25,200 အချို့သော ကိန်းရှင်တစ်ခုကို စာကြည့်တိုက်ကို ဖြေဆိုပါ။ 683 00:24:25,200 --> 00:24:27,760 စာရိုက်ပြီး အဲဒါနဲ့ပတ်သက်တဲ့ အရာအားလုံးကို ဖတ်ပါ။ 684 00:24:27,760 --> 00:24:29,600 အရာအားလုံးကို သင်နားလည်လာပါလိမ့်မယ်။ 685 00:24:29,600 --> 00:24:31,760 အများကြီး ပိုကောင်းတယ်။ 686 00:24:31,760 --> 00:24:33,760 ဒီတော့ ဒါက ဒီအတွက်ပဲ ဖြစ်လိမ့်မယ်။ 687 00:24:33,760 --> 00:24:35,840 လက်တွေ့ကျူတိုရီရယ်ကို ကျွန်တော်တို့ အခုမှစလုပ်တာပါ။ 688 00:24:35,840 --> 00:24:37,760 ဤအချို့သော စာကြည့်တိုက်များနှင့် နောက်တစ်ခု 689 00:24:37,760 --> 00:24:39,600 ဗီဒီယိုကို စတော့မယ်။ 690 00:24:39,600 --> 00:24:41,360 ကျွန်ုပ်တို့လုပ်ဆောင်မည့်လုပ်ဆောင်ချက်ကို သတ်မှတ်ခြင်း။ 691 00:24:41,360 --> 00:24:44,720 ကျွန်ုပ်တို့၏ပင်မကို စတင်ခြင်းဖြင့် လိုအပ်ပါသည်။ 692 00:24:44,720 --> 00:24:46,720 function ကောင်းပြီ ဒါဆို ငါတို့ စတင်တော့မယ်။ 693 00:24:46,720 --> 00:24:48,720 ကျွန်တော်တို့ရဲ့အဓိကလုပ်ဆောင်ချက်ကိုနောက်ထပ်ဗီဒီယိုအတွက်မျှော်လင့်ပါတယ်။ 694 00:24:48,720 --> 00:24:50,720 ဒီကျူတိုရီရယ်တိုတိုလေးကို သဘောကျတယ်။ 695 00:24:50,720 --> 00:24:52,960 နောက်လာမည့်ဟောပြောပွဲမှာ တွေ့ကြမယ်လို့ မျှော်လင့်ပါတယ်။ 696 00:24:52,960 --> 00:24:56,159 အားလုံးပဲ မင်္ဂလာပါဗျာ အားလုံးကို ကြိုဆိုပါတယ်။ 697 00:24:56,159 --> 00:24:58,240 ဒါကြောင့် အရင် video မှာ အားလုံးပါဝင်ပါတယ်။ 698 00:24:58,240 --> 00:24:59,520 ငါတို့သွားမယ့် ဒီစာကြည့်တိုက်တွေ 699 00:24:59,520 --> 00:25:01,760 လိုအပ်တယ်ဆိုတာ သေချာပါတယ်။ 700 00:25:01,760 --> 00:25:04,559 ကျွန်ုပ်တို့၏ ပရိုဂရမ်အတွင်းမှ လုပ်ဆောင်ချက်များကို မှန်ကန်စွာ လုပ်ဆောင်နိုင်သည်။ 701 00:25:04,559 --> 00:25:07,279 ယခု ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ windows ကို စတင်ရန် အဆင်သင့်ဖြစ်နေပါပြီ။ 702 00:25:07,279 --> 00:25:10,159 အရင်ပြောခဲ့သလိုပဲ အဓိကလုပ်ဆောင်ချက်ပါ။ 703 00:25:10,159 --> 00:25:13,600 ကျွန်ုပ်တို့၏ အဓိကလုပ်ဆောင်ချက်သည် လက်ခံရန် သို့မဟုတ် လက်ခံသွားမည်ဖြစ်သည်။ 704 00:25:13,600 --> 00:25:15,840 ငါတို့ကိစ္စက နောက်ကွယ်မှာ ကိစ္စရှိတယ်။ 705 00:25:15,840 --> 00:25:18,080 ကျွန်ုပ်တို့၏ဆာဗာသို့ ချိတ်ဆက်သွားပါမည်။ 706 00:25:18,080 --> 00:25:19,600 ကျွန်ုပ်တို့၏ cal linux ပေါ်တွင်လည်ပတ်နေလိမ့်မည်။ 707 00:25:19,600 --> 00:25:20,960 စက် 708 00:25:20,960 --> 00:25:22,320 ဒါကြောင့် ချိတ်ဆက်မှုကို ဖန်တီးရမယ်။ 709 00:25:22,320 --> 00:25:24,480 ကျွန်ုပ်တို့၏ windows ၏ အဓိကလုပ်ဆောင်ချက် 710 00:25:24,480 --> 00:25:26,240 ပြီးတော့ တခြားဟာတွေ အကုန်လုပ်လို့ရတယ်။ 711 00:25:26,240 --> 00:25:27,440 လုပ်ငန်းတာဝန်များ 712 00:25:27,440 --> 00:25:29,840 ဒါကြောင့် အခုပဲ စလိုက်ကြရအောင် 713 00:25:29,840 --> 00:25:32,320 ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ကိုသတ်မှတ်ခြင်း။ 714 00:25:32,320 --> 00:25:35,520 ဒါကြောင့် ပထမဆုံး c function ပါ။ 715 00:25:35,520 --> 00:25:38,320 ရိုးရိုးအမည်ဖြင့် သတ်မှတ်သည်။ 716 00:25:38,320 --> 00:25:40,480 ပြီးတော့ ကွင်းစကွင်းပိတ် နှစ်ခုဆိုတော့ ငါတို့ 717 00:25:40,480 --> 00:25:43,440 function name က win and ဖြစ်မယ်။ 718 00:25:43,440 --> 00:25:45,360 ပြီးရင် main 719 00:25:45,360 --> 00:25:46,240 အဆင်ပြေပါတယ်။ 720 00:25:46,240 --> 00:25:48,559 ဒါကြောင့် အခု ဒီဟာကို ချဲ့ကြည့်တော့မယ်။ 721 00:25:48,559 --> 00:25:51,360 ဒါမှ နည်းနည်း ပိုကောင်းတာ တွေ့ရတယ်။ 722 00:25:51,360 --> 00:25:52,960 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အမည်ပေးမည်ဖြစ်သည်။ 723 00:25:52,960 --> 00:25:54,400 windows main ကပြောပါတယ်။ 724 00:25:54,400 --> 00:25:56,960 ပြီးတော့ ဘယ်အမျိုးအစားကိုလည်း သတ်မှတ်ဖို့လိုတယ်။ 725 00:25:56,960 --> 00:25:59,760 လုပ်ဆောင်ချက်သည် ကျွန်ုပ်တို့၏ အဓိကလုပ်ဆောင်ချက်ဖြစ်သည်။ 726 00:25:59,760 --> 00:26:01,919 ဒီကိစ္စမှာ ငါတို့လုပ်မယ်။ 727 00:26:01,919 --> 00:26:04,880 ကိန်းပြည့်ကို ပြန်ပေးသည့် လုပ်ဆောင်ချက် 728 00:26:04,880 --> 00:26:07,919 ၎င်းသည် api လည်းဖြစ်လိမ့်မည်။ 729 00:26:07,919 --> 00:26:11,039 entry function ကို 730 00:26:11,039 --> 00:26:14,080 ကောင်းပြီ ဒါဆို ဘာကြောင့် ငါတို့ သတ်မှတ်တာလဲ။ 731 00:26:14,080 --> 00:26:15,919 ကျွန်ုပ်တို့၏ windows ပင်မအတွက် ဤရွေးချယ်စရာများ 732 00:26:15,919 --> 00:26:18,480 function က coding လုပ်တဲ့အတွက်ကြောင့်ပါ။ 733 00:26:18,480 --> 00:26:20,480 windows ပရိုဂရမ်တစ်ခု windows ပရိုဂရမ်တိုင်း 734 00:26:20,480 --> 00:26:22,720 entry point function ပါဝင်ပါတယ်။ 735 00:26:22,720 --> 00:26:25,120 windows main လို့ နာမည်ပေးထားတယ်။ 736 00:26:25,120 --> 00:26:27,840 api entry ကိုဖန်တီးရန်လည်း လိုအပ်ပါသည်။ 737 00:26:27,840 --> 00:26:29,760 ကျွန်ုပ်တို့သည် မတူညီသော ဝင်ရောက်ခွင့်ရှိသည်။ 738 00:26:29,760 --> 00:26:31,120 ကျွန်ုပ်တို့အသုံးပြုမည့်လုပ်ဆောင်ချက်များ 739 00:26:31,120 --> 00:26:33,200 ကျွန်ုပ်တို့၏အစီအစဉ်မှတဆင့် 740 00:26:33,200 --> 00:26:35,760 အခု ဒီ function က နှစ်ခုယူတယ်။ 741 00:26:35,760 --> 00:26:37,760 ကျွန်ုပ်တို့သတ်မှတ်ရန်လိုအပ်သောဘောင်များ 742 00:26:37,760 --> 00:26:39,760 ဤကွင်းပိတ်နှစ်ခုကြား 743 00:26:39,760 --> 00:26:44,960 ၎င်းသတ်မှတ်ချက်များသည် h ဥပမာများဖြစ်သည်။ 744 00:26:45,279 --> 00:26:48,159 ထို့နောက် h အသေးနှင့် မြို့တော် i 745 00:26:48,159 --> 00:26:50,400 ဥပမာ 746 00:26:50,400 --> 00:26:51,679 ကော်မာ 747 00:26:51,679 --> 00:26:54,400 h instance ကို စာလုံးအကြီးနဲ့ ထပ်ပြီး ရေးပါ။ 748 00:26:54,400 --> 00:26:56,240 ထို့နောက် h prev 749 00:26:56,240 --> 00:26:58,720 ကော်မာ lpstr 750 00:26:58,720 --> 00:27:00,480 ပြီးတော့ lp 751 00:27:00,480 --> 00:27:02,640 cmd လိုင်း 752 00:27:02,640 --> 00:27:04,640 ပြီးရင် နောက်ဆုံး parameter က သွားမယ်။ 753 00:27:04,640 --> 00:27:10,400 ကိန်းပြည့်တန်ဖိုးဖြစ်ပြီးနောက် ncmd ကိုပြသပါ။ 754 00:27:10,400 --> 00:27:13,760 ယခုအခါ အခြေခံအားဖြင့် ဥပမာတစ်ခုစီကို ကိုယ်စားပြုသည်။ 755 00:27:13,760 --> 00:27:16,720 သို့မဟုတ် ဥပမာတစ်ခု သို့မဟုတ် တစ်ခုအတွက် လက်ကိုင်တစ်ခုဖြစ်သည်။ 756 00:27:16,720 --> 00:27:18,480 module တစ်ခုသို့ကိုင်တွယ်ပါ။ 757 00:27:18,480 --> 00:27:20,960 ယခု လည်ပတ်မှုစနစ်သည် ဤတန်ဖိုးကို အသုံးပြုသည်။ 758 00:27:20,960 --> 00:27:23,360 မည်သည့်အချိန်တွင် လုပ်ဆောင်နိုင်သည်ကို ဖော်ထုတ်ရန် 759 00:27:23,360 --> 00:27:26,000 Memory နှင့် instance တွင်လည်း တင်ထားသည်။ 760 00:27:26,000 --> 00:27:28,240 အချို့သော windows အတွက် လက်ကိုင်သည် လိုအပ်သည်။ 761 00:27:28,240 --> 00:27:29,279 လုပ်ဆောင်ချက်များ 762 00:27:29,279 --> 00:27:32,080 အခု ကျွန်တော်တို့ ရိုက်ထားတဲ့ ဒီမှာ hprev ပါ။ 763 00:27:32,080 --> 00:27:35,279 ဒုတိယ parameter အဖြစ် 764 00:27:35,279 --> 00:27:37,360 အဲဒါက တကယ်ကို အဓိပ္ပါယ်မရှိဘူးဗျ။ 765 00:27:37,360 --> 00:27:39,919 16-bit windows မှာ သုံးထားပေမယ့် အခုက ဖြစ်နေပါပြီ။ 766 00:27:39,919 --> 00:27:41,440 အမြဲတမ်း သုည 767 00:27:41,440 --> 00:27:44,320 cmd စာကြောင်းတွင် ပါရှိသည်။ 768 00:27:44,320 --> 00:27:47,039 unicode ကဲ့သို့သော command line arguments များ 769 00:27:47,039 --> 00:27:49,279 string နဲ့ နောက်ဆုံး parameter တွေကို ကျွန်တော်တို 770 00:27:49,279 --> 00:27:51,679 ဤနေရာတွင် ncmd ဖြစ်သည် 771 00:27:51,679 --> 00:27:53,600 အဲဒါက အလံတစ်ခုပဲဆိုတာ ပြတယ်။ 772 00:27:53,600 --> 00:27:55,440 main application window မှာလားလို့ပြောတယ်။ 773 00:27:55,440 --> 00:27:58,000 အနိမ့်ဆုံး ချဲ့မည် သို့မဟုတ် ပြသမည်ဖြစ်သည်။ 774 00:27:58,000 --> 00:28:00,080 သာမာန်အားဖြင့်၊ အခြေခံအားဖြင့် ပထမဖြစ်သည်။ 775 00:28:00,080 --> 00:28:02,000 ကျွန်ုပ်တို့၏လုပ်ငန်းဆောင်တာတွင် ကျွန်ုပ်တို့လုပ်ဆောင်ရမည့်အရာ 776 00:28:02,000 --> 00:28:04,159 ဒါပေမယ့် အမှန်တကယ် coding မစခင်မှာ 777 00:28:04,159 --> 00:28:06,320 အဲဒါတွေကိုဖွင့်ဖို့ function code တွေလိုတယ်။ 778 00:28:06,320 --> 00:28:08,640 curly brackets တွေ ဒီမှာ နဲ့ အရာအားလုံး 779 00:28:08,640 --> 00:28:11,200 အဲဒီ curly brackets အတွင်းမှာပဲ ပါပါလိမ့်မယ်။ 780 00:28:11,200 --> 00:28:14,840 ကျွန်တော်တို့ရဲ့ main function နဲ့ သက်ဆိုင်ပါတယ်။ 781 00:28:14,840 --> 00:28:17,760 ထို့ကြောင့် ကျွန်ုပ်တို့သည် အမှန်တကယ် ပရိုဂရမ်တစ်ခုကို ကုဒ်ရေးနေပါသည်။ 782 00:28:17,760 --> 00:28:19,279 ၎င်းသည် ဤလုပ်ဆောင်ချက်နှင့် သက်ဆိုင်ပါသည်။ 783 00:28:19,279 --> 00:28:22,559 အဲဒါကို တခါတည်း ဖြုတ်လိုက်မယ် ဆိုတော့ သိတာပေါ့။ 784 00:28:22,559 --> 00:28:24,480 ၎င်းသည် windows main function နှင့်သက်ဆိုင်သည်။ 785 00:28:24,480 --> 00:28:26,799 ဒီတော့ ပိုကောင်းပုံရတယ်။ 786 00:28:26,799 --> 00:28:28,559 ပထမဆုံးလုပ်ချင်တာက ငါတို့ပဲ။ 787 00:28:28,559 --> 00:28:31,200 အမှန်တကယ်တော့ ကျွန်ုပ်တို့ရဲ့ ပရိုဂရမ်ကို minimize လုပ်ချင်တာပဲဖြစ်ဖြစ်၊ 788 00:28:31,200 --> 00:28:33,440 ငါတို့ကိစ္စမှာ အဲဒါကို မမြင်ရအောင် လုပ်ချင်တယ်။ 789 00:28:33,440 --> 00:28:35,679 ပြေးသကဲ့သို့ 790 00:28:35,679 --> 00:28:38,640 ဒါကြောင့် ဒီ ncmd show ကို သုံးပါမယ်။ 791 00:28:38,640 --> 00:28:41,679 အမှန်တကယ်ပြောင်းလဲနိုင်သည်။ 792 00:28:41,679 --> 00:28:44,320 ကျွန်ုပ်တို့၏ပရိုဂရမ်ကို minimize လုပ်ရန်နှင့်လည်းလုပ်ရန် 793 00:28:44,320 --> 00:28:46,399 အဆိုပါကာလအတွင်း console ပေါ်မလာပါ။ 794 00:28:46,399 --> 00:28:48,159 ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို လုပ်ဆောင်နေပါသည်။ 795 00:28:48,159 --> 00:28:50,240 ဗိုင်းရပ်တစ်ခုဖန်တီးတဲ့အခါ မရှိမဖြစ်လိုအပ်ပါတယ်။ 796 00:28:50,240 --> 00:28:52,399 ကျင့်ဝတ်ဆိုင်ရာ ဟက်ကာများအတွက် backdoor malware 797 00:28:52,399 --> 00:28:54,240 မင်းရဲ့ တကယ့်ပစ်မှတ်ကို မင်းမလိုချင်ဘူး။ 798 00:28:54,240 --> 00:28:55,840 မင်းသူတို့ဆီ တစ်ခုခုပြေးသွားတာကို သတိထားမိတယ်။ 799 00:28:55,840 --> 00:28:56,799 ပီစီ 800 00:28:56,799 --> 00:28:58,720 သင့်အား အမှန်တကယ် အကောင်အထည်ဖော်စေလိုပါသည်။ 801 00:28:58,720 --> 00:29:00,880 ပရိုဂရမ်နဲ့ ပြစရာ ဘာမှမရှိဘူးဆိုတော့ သူတို့က 802 00:29:00,880 --> 00:29:02,640 ပရိုဂရမ်မပါဘူးလို့ ရိုးရိုးလေးပဲ တွေးလိုက်ပါ။ 803 00:29:02,640 --> 00:29:04,960 အလုပ်က ပန်းတိုင်ဆိုတော့ ဘယ်လိုသွားမလဲ။ 804 00:29:04,960 --> 00:29:06,640 အဲဒါကို ကောင်းကောင်းပြီးမြောက်ဖို့ ရိုးရိုးရှင်းရှင်းပဲ ငါတို့လုပ်တယ်။ 805 00:29:06,640 --> 00:29:10,399 ကိုယ်ပျောက်လက်ကိုင်ကို ဖန်တီးတော့မယ်။ 806 00:29:10,399 --> 00:29:12,080 အဲဒါကိုလုပ်ဖို့ ကျနော်တို့ သတ်မှတ်ဖို့ လိုတယ်။ 807 00:29:12,080 --> 00:29:15,039 ဒီ hwnd ကို ကြိုက်ပြီးတော့ ငါတို့ သွားမယ်။ 808 00:29:15,039 --> 00:29:17,039 အဲဒါကို stealth လို့ ခေါ်ပြီးတော့ ဒီမှာ ငါတို့ရှိတယ်။ 809 00:29:17,039 --> 00:29:19,360 ပြတင်းပေါက်တစ်ခုဆီသို့ လက်ကိုင်တစ်ခုကို ဖန်တီးခြင်း။ 810 00:29:19,360 --> 00:29:21,200 ဒါကို ငါတို့ ကူညီမယ်။ 811 00:29:21,200 --> 00:29:23,520 ပြတင်းပေါက်ကို ပစ်မှတ်ကို မမြင်နိုင်ပါ။ 812 00:29:23,520 --> 00:29:25,520 အဲဒါပြီးရင် allocate ကိုခေါ်ရမယ်။ 813 00:29:25,520 --> 00:29:27,760 console function ကို ကြိုက်သလို ခေါ်ပါတယ်။ 814 00:29:27,760 --> 00:29:30,000 အဲဒါက ကျနော်တို့ နာမည်ကို ရိုးရိုးလေး သတ်မှတ်ပြီးတော့မှ ကျနော်တို့ 815 00:29:30,000 --> 00:29:32,159 သာမာန်ကွင်းကိုဖွင့်ပြီး အဆုံးမှာ ကျွန်တော်တို 816 00:29:32,159 --> 00:29:34,640 အမှတ်အသားပြုလုပ်ရန် အစက်နှင့် ကော်မာ သတ်မှတ်ရန် လိုအပ်သည်။ 817 00:29:34,640 --> 00:29:36,399 လိုင်း၏အဆုံး 818 00:29:36,399 --> 00:29:38,320 ယခု ၎င်းသည် console အသစ်တစ်ခုကို ခွဲဝေပေးမည်ဖြစ်သည်။ 819 00:29:38,320 --> 00:29:40,320 ခေါ်ဆိုမှုလုပ်ငန်းစဉ်နှင့် ဤလုပ်ဆောင်ချက် 820 00:29:40,320 --> 00:29:42,559 parameters တွေ မပါတာကြောင့် ရိုးရှင်းပါတယ်။ 821 00:29:42,559 --> 00:29:45,600 အဖွင့်အပိတ် ကွင်းများသာရှိသည်။ 822 00:29:45,600 --> 00:29:47,520 ယခု ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ stealth variable ကို သတ်မှတ်လိုက်ပါသည်။ 823 00:29:47,520 --> 00:29:50,080 ဒီမှာ ငါတို့ခေါ်မယ်။ 824 00:29:50,080 --> 00:29:51,919 သူ့အတွက် လုပ်ဆောင်ချက်တစ်ခု နှင့် ထိုလုပ်ဆောင်ချက်သည် ဖြစ်၏။ 825 00:29:51,919 --> 00:29:54,559 window ရှာရတော့မယ်။ 826 00:29:54,559 --> 00:29:55,520 a 827 00:29:55,520 --> 00:29:57,679 ဤ function သည် parameter နှစ်ခုယူသည်။ 828 00:29:57,679 --> 00:30:00,240 ပထမတစ်ခုက console window ပါ။ 829 00:30:00,240 --> 00:30:02,720 အတန်းနဲ့ ဒုတိယတန်းဖြစ်မယ်။ 830 00:30:02,720 --> 00:30:03,919 null 831 00:30:03,919 --> 00:30:06,399 ယခု ကျွန်ုပ်တို့၏ ကိုယ်ပျောက်မှုတွင် ဤအရာကို လုပ်ဆောင်ပါမည်။ 832 00:30:06,399 --> 00:30:09,360 function သည် တကယ့် function တစ်ခုဖြစ်သည်။ 833 00:30:09,360 --> 00:30:10,960 အဆိုပါ 834 00:30:10,960 --> 00:30:13,360 queenuser.h ရဲ့ ခေါင်းစီးကို ကျွန်တော်ယုံပြီး ဒါကိုပါ။ 835 00:30:13,360 --> 00:30:15,600 လုပ်ဆောင်ချက်သည် ထိပ်သို့ လက်ကိုင်တစ်ခုကို ထုတ်ယူသည်။ 836 00:30:15,600 --> 00:30:16,960 အဆင့်ဒိုး 837 00:30:16,960 --> 00:30:19,279 ပထမတစ်ခုက ဒါကို ငြင်းချက်နှစ်ခုယူတယ်။ 838 00:30:19,279 --> 00:30:21,679 အတန်းအမည်နှင့် ဒုတိယတစ်မျိုးမှာ 839 00:30:21,679 --> 00:30:24,720 window name နဲ့ တကယ့် window name ပါ။ 840 00:30:24,720 --> 00:30:27,520 null လို့ သတ်မှတ်ခဲ့တာကို မမေ့ပါနဲ့။ 841 00:30:27,520 --> 00:30:29,360 အဆုံးတွင် အစက်နှင့် ကော်မာထည့်ရန် 842 00:30:29,360 --> 00:30:32,000 စာကြောင်း၏အဆုံးကိုသတ်မှတ်ပါ။ 843 00:30:32,000 --> 00:30:33,919 ငါတို့က ငါတို့ကို ခေါ်မယ်။ 844 00:30:33,919 --> 00:30:36,399 window function ကိုပြသပါ။ 845 00:30:36,399 --> 00:30:38,399 ဒါကို ငါတို့က ဘာလို့ခေါ်တာလဲ။ 846 00:30:38,399 --> 00:30:40,720 ဘာကြောင့်လဲဆိုတော့ ဒီစာကြောင်းမှာ ကျွန်တော်တို့ သတ်မှတ်ပေးမယ်။ 847 00:30:40,720 --> 00:30:42,720 ဒို့ကို ပြချင်တာလား။ 848 00:30:42,720 --> 00:30:44,559 ပရိုဂရမ်ဖြစ်ပါသလား။ 849 00:30:44,559 --> 00:30:46,159 အခု ကျွန်တော် အရင်က ပြောခဲ့သလိုပါပဲ။ 850 00:30:46,159 --> 00:30:48,000 ကျွန်ုပ်တို့ အမှန်တကယ် မလိုလားအပ်သော malware တစ်ခုဖြစ်သည်။ 851 00:30:48,000 --> 00:30:49,919 ကျွန်တော်တို့ လိုချင်တာမှန်သမျှ ဖွင့်ဖို့ အစီအစဉ် 852 00:30:49,919 --> 00:30:52,399 နောက်ကွယ်မှာ အလုပ်လုပ်ဖို့၊ 853 00:30:52,399 --> 00:30:54,399 ဤအတွက် ငြင်းချက်နှစ်ခုကို သတ်မှတ်ပါမည်။ 854 00:30:54,399 --> 00:30:57,039 function ပထမတစ်ခုက လက်ကိုင်ပါ။ 855 00:30:57,039 --> 00:31:00,240 ဒို့ကိစ္စက ကိုယ်ပျောက်နေတယ်ဆိုတော့ 856 00:31:00,240 --> 00:31:02,159 ရိုးရှင်းစွာပထမအငြင်းအခုံအဖြစ်သတ်မှတ်ပါ။ 857 00:31:02,159 --> 00:31:04,559 ဆဲလ်တွေ နဲ့ ကော်မာ တွေ ပါသွားမယ်။ 858 00:31:04,559 --> 00:31:06,559 ဒုတိယအငြင်းအခုံကို ပိုင်းခြားပါ။ 859 00:31:06,559 --> 00:31:08,240 တကယ့်အစစ်ဖြစ်မယ်။ 860 00:31:08,240 --> 00:31:11,919 နှင့် cmd သည် ဤအရာဖြစ်သည် 861 00:31:11,919 --> 00:31:14,480 ဤနေရာတွင် ပြောင်းလဲနိုင်သည်။ 862 00:31:14,480 --> 00:31:16,559 နှင့် ncmd ရှိုး 863 00:31:16,559 --> 00:31:18,720 ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်မှ ကန့်သတ်ချက် 864 00:31:18,720 --> 00:31:20,799 ဤနေရာတွင် ကျွန်ုပ်တို့မြင်နိုင်သကဲ့သို့ ကိန်းပြည့်ဖြစ်သည်။ 865 00:31:20,799 --> 00:31:23,519 ပြီးတော့ အခု သုညလို့ သတ်မှတ်မယ်။ 866 00:31:23,519 --> 00:31:25,679 သုညအဖြစ် သတ်မှတ်ရခြင်း အကြောင်းရင်း 867 00:31:25,679 --> 00:31:28,720 အဘယ်ကြောင့်ဆိုသော် ဤလုပ်ဆောင်ချက်သည် သုညဟု အဓိပ္ပါယ်ရသည်။ 868 00:31:28,720 --> 00:31:31,200 ပြတင်းပေါက်ကို ဝှက်ထားပြီး အခြားတစ်ခုကို အသက်သွင်းပါ။ 869 00:31:31,200 --> 00:31:33,279 Window နဲ့ အဲဒါက ငါတို့လိုချင်တာ အတိအကျပဲ။ 870 00:31:33,279 --> 00:31:35,519 ဤနေရာတွင် လုပ်ဆောင်ရန် 871 00:31:35,519 --> 00:31:38,480 ဒါကြောင့် ဒီစာကြောင်းအမှန်နဲ့ ကျွန်တော်တို့ ပြီးသွားတယ်။ 872 00:31:38,480 --> 00:31:40,559 ကျွန်ုပ်တို့၏ပရိုဂရမ်၏တစ်စိတ်တစ်ပိုင်းနှင့်အတူကျွန်ုပ်တို့ရှိရာ 873 00:31:40,559 --> 00:31:43,360 အမှန်တော့ console ကို ဖျောက်ထားလို့ အဆင်ပြေပါတယ်။ 874 00:31:43,360 --> 00:31:45,440 အခုပဲ ကျွန်တော်တို့ ဖန်တီးဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။ 875 00:31:45,440 --> 00:31:48,159 socket object နဲ့ ငါတို့ backdoor ဖြစ်အောင် လုပ်ပါ။ 876 00:31:48,159 --> 00:31:50,159 ကျွန်ုပ်တို့၏ဆာဗာသို့ချိတ်ဆက်ပါ။ 877 00:31:50,159 --> 00:31:51,840 ဒါကြောင့် ကျနော်တို့က အဲဒါကို ကွင်းထဲမှာ လုပ်မယ်။ 878 00:31:51,840 --> 00:31:54,080 နောက်ဗီဒီယိုလေးကတော့ ခြေလှမ်းလေးတစ်ခုပါပဲ။ 879 00:31:54,080 --> 00:31:55,760 ဤနေရာတွင် ကျွန်ုပ်တို့လုပ်ဆောင်ခဲ့သည်မှာ အရေးကြီးသော်လည်း အရေးကြီးပါသည်။ 880 00:31:55,760 --> 00:31:57,600 ငါတို့ရဲ့ ပန်းတိုင်ကို မရောက်ချင်ဘူး ဆိုတော့ ခြေလှမ်းစလိုက်ပြီ။ 881 00:31:57,600 --> 00:31:59,120 ဒါကို လုပ်ဆောင်တဲ့အခါ ဘာကိုမဆို သတိပြုပါ။ 882 00:31:59,120 --> 00:32:01,519 အစီအစဉ်နဲ့ နောက် video မှာ ကျွန်တော်ပြောခဲ့သလိုပါပဲ။ 883 00:32:01,519 --> 00:32:03,039 ငါတို့က ငါတို့ဆီကို ပြန်ဆက်သွယ်မယ်။ 884 00:32:03,039 --> 00:32:04,000 ဆာဗာ 885 00:32:04,000 --> 00:32:05,760 ဒါကြောင့် မင်း ဒါကို နှစ်သက်မယ်လို့ ငါမျှော်လင့်တယ်။ 886 00:32:05,760 --> 00:32:09,120 နောက်သင်ခန်းစာမှာတွေ့မယ် နှုတ်ဆက်ပါတယ်။ 887 00:32:09,120 --> 00:32:11,039 အားလုံးပဲ မင်္ဂလာပါ ဒီကနေ ပြန်လာပါလို့ ကြိုဆိုပါတယ်။ 888 00:32:11,039 --> 00:32:14,480 Tutorial နဲ့ အခုပဲ စလိုက်ကြရအောင် 889 00:32:14,480 --> 00:32:17,200 socket object ဖန်တီးမှုနှင့်အတူ 890 00:32:17,200 --> 00:32:19,200 လုပ်ဆောင်ရန် ကျွန်ုပ်တို့ အသုံးပြုပါမည်။ 891 00:32:19,200 --> 00:32:21,600 ကျွန်ုပ်တို့၏ဆာဗာနှင့်ချိတ်ဆက်မှု 892 00:32:21,600 --> 00:32:23,840 ဒါကြောင့်ချက်ချင်းနဲ့ ပထမဆုံးစလိုက်ကြရအောင် 893 00:32:23,840 --> 00:32:25,760 ငါတို့လုပ်ရမယ့်အရာ 894 00:32:25,760 --> 00:32:28,000 အတိအကျ သတ်မှတ်ဖို့ လိုပါမယ်။ 895 00:32:28,000 --> 00:32:30,320 variable သည် a ၏ အစိတ်အပိုင်းတစ်ခု ဖြစ်လိမ့်မည်။ 896 00:32:30,320 --> 00:32:33,519 sock address underscore ဟုခေါ်သော ဖွဲ့စည်းပုံ 897 00:32:33,519 --> 00:32:34,799 i n 898 00:32:34,799 --> 00:32:37,039 ကောင်းပြီ ဒါဆို ငါတို့ ဒီမှာ လုပ်ကြရအောင် 899 00:32:37,039 --> 00:32:39,120 struct ကိုခေါ်သွားမယ်။ 900 00:32:39,120 --> 00:32:41,440 ၎င်းသည် အတန်းထဲတွင် တစ်ခုနှင့်တစ်ခု ဆင်တူသည်။ 901 00:32:41,440 --> 00:32:43,440 အခြား programming language တစ်ခုခုကို c ထဲမှာပဲထည့်ပါ။ 902 00:32:43,440 --> 00:32:45,840 ငါတို့မှာ အခု အတန်းမရှိဘူး။ 903 00:32:45,840 --> 00:32:48,159 struct ကိုခေါ်ပြီးတော့ sock နဲ့သွားမယ်။ 904 00:32:48,159 --> 00:32:50,399 လိပ်စာမှာ i n ဟူသော အမှတ်အသားဖြစ်သည်။ 905 00:32:50,399 --> 00:32:52,880 ဖွဲ့စည်းတည်ဆောက်ပုံ၏အမှန်တကယ်အမည်နှင့်ထို့နောက် 906 00:32:52,880 --> 00:32:54,960 ကျွန်ုပ်တို့သတ်မှတ်နိုင်သော ဆာဗာလိပ်စာ 907 00:32:54,960 --> 00:32:57,679 serv addr အနေဖြင့် ရိုးရိုးရှင်းရှင်း 908 00:32:57,679 --> 00:32:59,840 ပြီးရင် အစက်၊ ကော်မာ၊ ညာဘက် 909 00:32:59,840 --> 00:33:02,000 ဤနေရာတွင် ကျွန်ုပ်တို့သည် အမှန်တကယ် ဆာဗာကို သတ်မှတ်ခဲ့သည်။ 910 00:33:02,000 --> 00:33:04,159 လိပ်စာကို နောက်မှ ပေးရမှာပါ။ 911 00:33:04,159 --> 00:33:06,080 တကယ်တော့ မတူညီတဲ့ parameter တွေကို သတ်မှတ်ပေးလိုက်ပါ။ 912 00:33:06,080 --> 00:33:06,960 ဒီ 913 00:33:06,960 --> 00:33:08,799 ဤနေရာတွင် အပြောင်းအလဲရှိနိုင်သော်လည်း ယခုအချိန်တွင် ကျွန်ုပ်တို့ရှိနေပါသည်။ 914 00:33:08,799 --> 00:33:10,000 ရိုးရိုးရှင်းရှင်းပဲ ထားခဲ့တာ မှန်တယ်။ 915 00:33:10,000 --> 00:33:12,080 အဲဒီမှာ နဲ့ ဒီမှာ ဒုတိယ ကိန်းရှင် အဲဒါ 916 00:33:12,080 --> 00:33:13,840 ငါတို့လိုအပ်တာက တစ်ခုဖြစ်မယ်။ 917 00:33:13,840 --> 00:33:15,279 လက်မှတ်မထိုး 918 00:33:15,279 --> 00:33:17,679 တိုတိုနှင့် ထိုပြောင်းလဲမှုသည် ဖြစ်လိမ့်မည်။ 919 00:33:17,679 --> 00:33:19,360 server port ကို 920 00:33:19,360 --> 00:33:20,960 ဒါကြောင့်မို့လို့ ဒါတွေကို ကျနော်တို့ သတ်မှတ်တာပါ။ 921 00:33:20,960 --> 00:33:22,960 ကိန်းရှင်နှစ်ခုသည် ကျွန်ုပ်တို့သွားလိုသောကြောင့်ဖြစ်သည်။ 922 00:33:22,960 --> 00:33:25,679 ip address နဲ့ ပို့ရမယ့် port တစ်ခုလိုပါတယ်။ 923 00:33:25,679 --> 00:33:27,679 ငါတို့ကနေ ငါတို့ဆီကို ချိတ်ဆက်သွားမယ်။ 924 00:33:27,679 --> 00:33:29,360 အနောက်တံခါး 925 00:33:29,360 --> 00:33:30,399 အဆင်ပြေပါတယ်။ 926 00:33:30,399 --> 00:33:32,480 နှင့်ကျွန်ုပ်တို့ဖော်ပြခဲ့သောကြောင့်နောက်ထပ်ကိန်းရှင် 927 00:33:32,480 --> 00:33:34,480 ip address က ကုလားထိုင်ဖြစ်မယ်။ 928 00:33:34,480 --> 00:33:36,840 variable နဲ့ ဖြစ်နေတာ 929 00:33:36,840 --> 00:33:41,440 ဤကြယ်ဖြင့် ဆာဗာ ip သို့ညွှန်ပါ။ 930 00:33:41,440 --> 00:33:42,720 သင်တို့၌မရှိသောသူတို့အဘို့ 931 00:33:42,720 --> 00:33:43,840 ရင်းနှီးသည်။ 932 00:33:43,840 --> 00:33:46,399 c ဒီကြယ်ကို ဒီနေရာကနေ ပရိုဂရမ်ရေးတာပါ။ 933 00:33:46,399 --> 00:33:48,559 ညွှန်ပြပေးမယ့် pointer တစ်ခုသာဖြစ်ပါတယ်။ 934 00:33:48,559 --> 00:33:50,640 ဤကိန်းရှင်၏ မှတ်ဉာဏ်လိပ်စာ 935 00:33:50,640 --> 00:33:52,399 ဒီမှာ 936 00:33:52,399 --> 00:33:54,159 နှင့်ကျွန်ုပ်တို့၏နောက်ဆုံးအမှန်တကယ်ကိန်းရှင် 937 00:33:54,159 --> 00:33:58,720 လိုအပ်ချက်က wsa data ဖြစ်မယ်။ 938 00:33:58,720 --> 00:34:00,480 ပြီးတော့ အဲဒီ variable အမျိုးအစားကို ကျွန်တော်တို့ သွားမယ်။ 939 00:34:00,480 --> 00:34:03,600 wsa data ကိုခေါ်ပါ ဒါဆိုကျွန်ုပ်တို့အဲဒါကိုခေါ်မယ်။ 940 00:34:03,600 --> 00:34:05,279 ဤသည်မှာ စာလုံးကြီးနှင့် အတူတူပင် 941 00:34:05,279 --> 00:34:07,120 ပြီးတော့ ဒါက အဆင်မပြေဘူး။ 942 00:34:07,120 --> 00:34:10,480 ရိုးရိုးရှင်းရှင်း dwsa data သည်တည်ဆောက်ပုံဖြစ်သည်။ 943 00:34:10,480 --> 00:34:12,800 windows နဲ့ ပတ်သက်တဲ့ အချက်အလက်တွေ ပါဝင်ပါတယ်။ 944 00:34:12,800 --> 00:34:14,560 sockets ဒါကြောင့်ဒါကငါတို့တစ်ခုခုပါပဲ။ 945 00:34:14,560 --> 00:34:17,040 socket တစ်ခုထူထောင်ရန်အတွက်ရှိရမည်။ 946 00:34:17,040 --> 00:34:20,399 windows စက်နဲ့ ချိတ်ဆက်တာ အဆင်ပြေပါတယ်။ 947 00:34:20,399 --> 00:34:22,159 ယခု ကျွန်ုပ်တို့တွင် ကိန်းရှင်များအားလုံးရှိသည်။ 948 00:34:22,159 --> 00:34:24,480 သတ်သတ်မှတ်မှတ်ကို ရိုးရိုးလေးပဲ ရိုက်ပါရစေ 949 00:34:24,480 --> 00:34:26,560 ဒီမှာ server ip 950 00:34:26,560 --> 00:34:27,839 ညီမျှသည်။ 951 00:34:27,839 --> 00:34:29,679 ဒီမှာ ငါတို့ ရိုက်ထည့်လိုက်မယ်။ 952 00:34:29,679 --> 00:34:32,560 သွားနေတဲ့စက်ရဲ့ ip လိပ်စာ 953 00:34:32,560 --> 00:34:34,719 အဝင်ချိတ်ဆက်မှုအတွက် နားထောင်ရန် 954 00:34:34,719 --> 00:34:37,199 ငါတို့နောက်ကွယ်ကနေဒါကငါ့ကိစ္စ 955 00:34:37,199 --> 00:34:39,520 ငါ့ kali ရဲ့ ip address ဖြစ်မယ်။ 956 00:34:39,520 --> 00:34:41,119 linux စက် 957 00:34:41,119 --> 00:34:43,280 အဲဒါကို ဘယ်လိုစစ်ဆေးရမလဲဆိုတာ ရိုးရိုးရှင်းရှင်းပဲ သိနိုင်ပါတယ်။ 958 00:34:43,280 --> 00:34:44,879 ဒါကိုပဲ ကယ်ပါရစေ၊ မင်း ဒါကို ကယ်တင်ပါ။ 959 00:34:44,879 --> 00:34:48,079 ထိန်းချုပ်မှု o နှင့် သတ်မှတ်ပေးရုံဖြင့် ပရိုဂရမ် 960 00:34:48,079 --> 00:34:50,879 ပြီးလျှင် ထွက်ရန် ctrl x ကိုရိုက်ထည့်ပါ။ 961 00:34:50,879 --> 00:34:52,320 ငါသိချင်နေတဲ့ မင်းအတွက် 962 00:34:52,320 --> 00:34:54,079 ကျွန်ုပ်၏ရေးသားရန် nano editor ကိုအသုံးပြုပါ။ 963 00:34:54,079 --> 00:34:55,199 အစီအစဉ် 964 00:34:55,199 --> 00:34:57,359 ယခုသင်သည် leafpad ကိုသုံးနိုင်သည်၊ vim ကိုသုံးနိုင်သည်။ 965 00:34:57,359 --> 00:34:59,119 သင်အလိုမရှိသောအရာကိုသုံးနိုင်သည်။ 966 00:34:59,119 --> 00:35:01,760 ဘယ်မွေ့ယာက ငါတို့အတွက် အရေးကြီးတယ်။ 967 00:35:01,760 --> 00:35:04,079 ကျွန်ုပ်တို့ထံသို့ မှန်ကန်သော ip လိပ်စာကို သတ်မှတ်ပေးပါ။ 968 00:35:04,079 --> 00:35:06,320 kali linux စက် သို့မဟုတ် ကျွန်ုပ်တို့၏စက်ဆီသို့ 969 00:35:06,320 --> 00:35:08,560 ဟက်ကာနဲ့ ငါ့ကိစ္စ 970 00:35:08,560 --> 00:35:10,119 အဲဒါ 971 00:35:10,119 --> 00:35:12,400 192.168.1.8 ဆိုတော့ ရိုးရိုး ကော်ပီလုပ်မယ်။ 972 00:35:12,400 --> 00:35:14,560 ဒါက ငါ screen ကိုရှင်းပြီး ငါလုပ်မယ်။ 973 00:35:14,560 --> 00:35:17,200 ငါ့အနောက်ဘက်သို့ ပြန်သွားလော့ 974 00:35:17,200 --> 00:35:19,680 ငါ့မှာရှိတဲ့ နှစ်ထပ်ကိုးကားတွေကြားမှာ 975 00:35:19,680 --> 00:35:23,520 server ip ကို ရိုးရိုးရှင်းရှင်း သတ်မှတ်ပေးပါလိမ့်မယ်။ 976 00:35:23,520 --> 00:35:26,160 ip လိပ်စာ အဆင်ပြေပါတယ်။ 977 00:35:26,160 --> 00:35:28,160 ထို့အပြင် ကျွန်ုပ်တို့သည် ip ကို သတ်မှတ်နေသောကြောင့်ဖြစ်သည်။ 978 00:35:28,160 --> 00:35:30,720 လိပ်စာသည် ကျွန်ုပ်တို့အား ဆိပ်ကမ်းကို သတ်မှတ်ခွင့်ပြုပါ။ 979 00:35:30,720 --> 00:35:32,960 အဲဒါပြီးရင် ချိတ်ဆက်ချင်တာ 980 00:35:32,960 --> 00:35:35,920 server port နဲ့ တန်းတူဖြစ်မယ်။ 981 00:35:35,920 --> 00:35:37,599 ဒီနေရာမှာ ရိုးရှင်းစွာ သတ်မှတ်နိုင်ပါတယ်။ 982 00:35:37,599 --> 00:35:39,359 သင်လိုချင်သော မည်သည့်ဆိပ်ကမ်းကိုမဆို သေချာအောင်ပြုလုပ်ပါ။ 983 00:35:39,359 --> 00:35:41,680 ၎င်းသည် အခမဲ့ port တစ်ခုဖြစ်ပြီး မည်သူမှ အသုံးမပြုပါ။ 984 00:35:41,680 --> 00:35:44,000 တခြား application တွေ program တွေ နဲနဲပေးမယ်။ 985 00:35:44,000 --> 00:35:45,720 ဤနေရာတွင် ရိုးရိုးလေးရိုက်ပါ။ 986 00:35:45,720 --> 00:35:47,520 ၅၀၀၅ 987 00:35:47,520 --> 00:35:48,320 သင်လုပ်နိုင်သည် 988 00:35:48,320 --> 00:35:51,200 အကယ်၍ ၎င်းသည် သင်အလိုရှိသော မည်သည့်ဆိပ်ကမ်းကိုမဆို ရွေးချယ်ပါ။ 989 00:35:51,200 --> 00:35:52,880 ရှိပြီးသား port ဟုတ်ပါတယ်။ 990 00:35:52,880 --> 00:35:55,280 ဒီနှစ်ခုကို ငါတို့သတ်မှတ်ပြီးကတည်းက ငါ့ကိုခွင့်ပြုတယ်။ 991 00:35:55,280 --> 00:35:57,119 တောက်လျှောက်သွားလိုက် 992 00:35:57,119 --> 00:35:59,119 အခု ဒီနှစ်ခုကို ငါတို့ သတ်မှတ်ပြီးပြီ။ 993 00:35:59,119 --> 00:36:02,560 wsa startup function နဲ့ သုံးတော့မယ်။ 994 00:36:02,560 --> 00:36:04,880 အဲဒါကို if မှာလည်း သုံးမယ်။ 995 00:36:04,880 --> 00:36:06,880 ကြေငြာချက်က ဒီမှာပဲ ကုဒ်ရေးပါမယ်။ 996 00:36:06,880 --> 00:36:08,560 ပြီးမှ စပြီးရှင်းပြပါမယ်။ 997 00:36:08,560 --> 00:36:10,320 if နဲ့ 998 00:36:10,320 --> 00:36:12,400 ပြီးတော့ w wsa 999 00:36:12,400 --> 00:36:14,160 စတင်တည်ထောင်သည် 1000 00:36:14,160 --> 00:36:15,680 ငါတို့ခေါ်တော့မယ်။ 1001 00:36:15,680 --> 00:36:17,520 နောက်ထပ် ကွင်းနှစ်ခုကို ဖွင့်ပါမယ်။ 1002 00:36:17,520 --> 00:36:19,520 ဒါက function နဲ့ဆိုတော့ ဒီမှာ 1003 00:36:19,520 --> 00:36:21,119 ပထမ parameter သည် a ဖြစ်လိမ့်မည်။ 1004 00:36:21,119 --> 00:36:22,480 စကားလုံးလုပ်ပါ။ 1005 00:36:22,480 --> 00:36:26,240 ကော်မာ သုည နှစ်ခုထဲက 1006 00:36:26,240 --> 00:36:28,480 ထို့နောက် ၎င်းကို ကော်မာ သတ်မှတ်ပြီးနောက် 1007 00:36:28,480 --> 00:36:31,520 ပြီးတော့ ဒီဆိုင်းဘုတ်က ဒီမှာ 1008 00:36:31,520 --> 00:36:33,599 ဒီနိမိတ်လက္ခဏာကို မြင်နိုင်သလို၊ 1009 00:36:33,599 --> 00:36:35,599 ကျွန်ုပ်တို့ပြုလုပ်သော variable ၏ တကယ့်အမည် 1010 00:36:35,599 --> 00:36:40,960 ဒါကြောင့် wsa data လို့သတ်မှတ်ထားပါတယ်။ 1011 00:36:40,960 --> 00:36:45,920 ယခု သုညနှင့် မညီမျှလျှင် 1012 00:36:45,920 --> 00:36:47,280 ထို့နောက် 1013 00:36:47,280 --> 00:36:49,119 ငါတို့ဘာလုပ်မလဲ။ 1014 00:36:49,119 --> 00:36:51,359 နှင့် 1015 00:36:51,680 --> 00:36:53,359 ငါတို့သွားမယ်။ 1016 00:36:53,359 --> 00:36:54,560 ထွက်ပေါက် 1017 00:36:54,560 --> 00:36:55,839 အစီအစဉ် 1018 00:36:55,839 --> 00:36:57,040 ဒီမှာ 1019 00:36:57,040 --> 00:36:59,280 ကောင်းပြီ ဒါဆို မင်းအများစုက အခုဖြစ်ကောင်းဖြစ်နိုင်တယ်။ 1020 00:36:59,280 --> 00:37:01,520 ဒါကို မကြုံဖူးရင် ရှုပ်တယ်။ 1021 00:37:01,520 --> 00:37:03,839 ဒါကြောင့် အရင်ကလို ရိုးရိုးရှင်းရှင်းပဲ စစ်ဆေးကြည့်နိုင်ပါတယ်။ 1022 00:37:03,839 --> 00:37:07,280 ၎င်းကိုရှာဖွေခြင်းဖြင့် wsa startup သည်ဘာလုပ်သနည်း။ 1023 00:37:07,280 --> 00:37:09,839 google နဲ့ ကျွန်တော်လည်း အဲဒါကို ပြတယ်။ 1024 00:37:09,839 --> 00:37:11,280 သင်အမှန်တကယ်လုပ်နိုင်သည့် အကောင်းဆုံးနည်းလမ်းဖြစ်သည်။ 1025 00:37:11,280 --> 00:37:12,960 သေချာတဲ့အကြောင်းတစ်ခုခုကိုရှာပါ။ 1026 00:37:12,960 --> 00:37:15,200 သင်မလုပ်ပါက function သို့မဟုတ် variable 1027 00:37:15,200 --> 00:37:17,440 အတတ်နိုင်ဆုံး နားလည်ထားလို့ စောင့်မျှော်ကြည့်ရအောင် 1028 00:37:17,440 --> 00:37:18,880 google chrome ကိုဖွင့်ပြီးရင် ကျွန်တော်တို 1029 00:37:18,880 --> 00:37:22,079 wsa startup ကိုရှာပြီးတော့ သွားမယ်။ 1030 00:37:22,079 --> 00:37:23,760 နည်းနည်းပိုရှင်းသွားနိုင်တယ်။ 1031 00:37:23,760 --> 00:37:25,680 ဒီ function ကဘာလုပ်တာလဲ။ 1032 00:37:25,680 --> 00:37:27,119 အဆင်ပြေပါတယ်။ 1033 00:37:27,119 --> 00:37:29,680 ဒါဆို ဒီထုတ်ပြန်ချက်က တကယ်မှန်ရင် ဘာဖြစ်မလဲ။ 1034 00:37:29,680 --> 00:37:31,680 ဤရလဒ်ကို ရိုးရိုးရှင်းရှင်း စစ်ဆေးပါ။ 1035 00:37:31,680 --> 00:37:32,800 လုပ်ဆောင်ချက် 1036 00:37:32,800 --> 00:37:35,359 0 နှင့် ညီမျှသည် ဖြစ်စေ၊ 1037 00:37:35,359 --> 00:37:38,240 ဒီတော့ သုညနဲ့ ညီရင် ပြီးလိမ့်မယ်။ 1038 00:37:38,240 --> 00:37:40,720 ဖြစ်ပါက ကျန်ကုဒ်ကို ဆက်သွားပါ။ 1039 00:37:40,720 --> 00:37:43,760 သုညနှင့်မညီပါက ထွက်ပါမည်။ 1040 00:37:43,760 --> 00:37:46,720 ပရိုဂရမ်နှင့် ဤအာမေဋိတ်အမှတ်အသား 1041 00:37:46,720 --> 00:37:50,480 ညီမျှခြင်းဆိုသည်မှာ ညီမျှခြင်းမဟုတ်ပေ။ 1042 00:37:50,480 --> 00:37:52,480 ဤလုပ်ဆောင်ချက်၏ရလဒ် 1043 00:37:52,480 --> 00:37:54,960 သုညဆန္ဒနှင့်မညီမျှပါက 1044 00:37:54,960 --> 00:37:57,359 ပရိုဂရမ်ကနေ ထွက်လိုက်ပါ။ 1045 00:37:57,359 --> 00:38:00,720 ဒါဆို ဒီကိုသွားပြီး wsa လို့ ရိုက်ထည့်လိုက်ရအောင် 1046 00:38:00,720 --> 00:38:03,720 စတင်တည်ထောင်သည် 1047 00:38:04,079 --> 00:38:05,760 ဤနေရာတွင် ကျွန်ုပ်တို့၏ အခြားသော ဥပမာကို ကြည့်နိုင်ပါသည်။ 1048 00:38:05,760 --> 00:38:07,839 ကျွန်တော်တို့ရဲ့ function ကိုဒီမှာ 1049 00:38:07,839 --> 00:38:09,839 ဤနေရာတွင် ကျွန်ုပ်တို့မြင်နိုင်သကဲ့သို့၊ 1050 00:38:09,839 --> 00:38:12,480 အမှန်မှာ ပထမတစ်ခုသည် parameter နှစ်ခုဖြစ်သည်။ 1051 00:38:12,480 --> 00:38:15,040 နှုတ်ကပတ်တော်နှင့် ဒုတိယစကားသည် မကောင်း 1052 00:38:15,040 --> 00:38:18,240 ကျွန်တော်တို့ ဖန်တီးထားတဲ့ data တွေကို ဒီမှာ ကြည့်ရအောင် 1053 00:38:18,240 --> 00:38:20,000 ဒီကိုသွားပါ။ 1054 00:38:20,000 --> 00:38:24,640 wsa startup function winstock.h ဒါကြောင့် ကျွန်တော်တို 1055 00:38:24,640 --> 00:38:27,200 ဒါကြောင့် ဘယ်စာကြည့်တိုက်ကနေလည်း ကြည့်လို့ရပါတယ်။ 1056 00:38:27,200 --> 00:38:28,560 တွင်ရှိသည်။ 1057 00:38:28,560 --> 00:38:30,720 wsa ကို ဒီမှာ တွေ့နိုင်ပါတယ်။ 1058 00:38:30,720 --> 00:38:33,040 startup function ကိုစတင်အသုံးပြုခြင်း။ 1059 00:38:33,040 --> 00:38:36,160 လုပ်ငန်းစဉ်တစ်ခုအားဖြင့် winsock dll 1060 00:38:36,160 --> 00:38:38,079 ဤတွင် ကျွန်ုပ်တို့သည် ၎င်းကို ငြင်းခုံမှုနှစ်ခုရှိသည်။ 1061 00:38:38,079 --> 00:38:40,240 ငါတို့သတ်မှတ်ထားတဲ့အရာကိုယူပြီးတော့ငါတို့မြင်နိုင်ပါတယ်။ 1062 00:38:40,240 --> 00:38:41,520 ကန့်သတ်ချက်များ 1063 00:38:41,520 --> 00:38:45,359 ဗားရှင်းသည် nw နှင့် wsa data လိုအပ်သည်။ 1064 00:38:45,359 --> 00:38:48,000 return value သည် ကျွန်ုပ်တို့မြင်ရသည့်အတိုင်း ကိန်းပြည့်ဖြစ်သည်။ 1065 00:38:48,000 --> 00:38:51,680 wsa startup အောင်မြင်ရင် ဒီမှာ 1066 00:38:51,680 --> 00:38:54,960 လုပ်ဆောင်ချက်သည် သုညကို ပြန်ပေးသည့် အကြောင်းရင်းဖြစ်သည်။ 1067 00:38:54,960 --> 00:38:57,359 ငါတို့က ဘာလို့ ဒီမှာ သတ်မှတ်တာလဲ။ 1068 00:38:57,359 --> 00:38:59,520 အာမေဋိတ် အမှတ်အသား ညီမျှခြင်း ဆိုသည်မှာ မဟုတ်ပေ။ 1069 00:38:59,520 --> 00:39:01,760 သုညနှင့် ညီသောကြောင့် အောင်မြင်သည်။ 1070 00:39:01,760 --> 00:39:03,599 ဤလုပ်ဆောင်ချက်ကို လုပ်ဆောင်ခြင်း ပြန်လာပါမည်။ 1071 00:39:03,599 --> 00:39:05,839 အခြားမည်သည့်ကိစ္စတွင်မဆို သုညက အလုပ်မဖြစ်ပါ။ 1072 00:39:05,839 --> 00:39:07,920 မှန်တယ် အဲဒါကြောင့် ငါတို့ ထွက်ရတော့မယ်။ 1073 00:39:07,920 --> 00:39:09,760 အစီအစဉ်ကောင်းတယ်။ 1074 00:39:09,760 --> 00:39:12,320 ဒါဆို ငါတို့ ပရိုဂရမ်ကို ဆက်လုပ်ကြရအောင် 1075 00:39:12,320 --> 00:39:15,320 ဒီမှာ 1076 00:39:15,359 --> 00:39:18,480 ဒီမှာပဲ အားလုံးသွားပြီးတော့ 1077 00:39:18,480 --> 00:39:20,480 အဲဒါပြီးရင် ငါတို့ ဘာလုပ်မလဲ။ 1078 00:39:20,480 --> 00:39:23,200 ကျွန်တော်တို့ရဲ့ socket object ကို သတ်မှတ်ပါမယ်။ 1079 00:39:23,200 --> 00:39:24,720 အဲဒါကို ရိုးရိုးရှင်းရှင်းပဲ လုပ်နိုင်တယ်။ 1080 00:39:24,720 --> 00:39:26,400 ဒီခြေအိတ်ကို ခေါ်တယ်။ 1081 00:39:26,400 --> 00:39:27,760 ညီမျှသည်။ 1082 00:39:27,760 --> 00:39:29,599 ငါတို့မှာ ဒီခြေအိတ်အစစ်မရှိလို့ 1083 00:39:29,599 --> 00:39:31,839 ကျွန်ုပ်တို့သွားမည့်အရာကို ကိန်းရှင်သတ်မှတ်ထားသည်။ 1084 00:39:31,839 --> 00:39:35,040 အဲဒါကို အပြင်မှာ သတ်မှတ်ပေးမယ်။ 1085 00:39:35,040 --> 00:39:37,200 ပင်မလုပ်ဆောင်ချက် 1086 00:39:37,200 --> 00:39:39,119 အခုဘာကြောင့် ဒီလိုလုပ်တာလဲ။ 1087 00:39:39,119 --> 00:39:41,520 ဘာလို့လဲဆိုတော့ ဒီ socket က တကယ့် variable ပါ။ 1088 00:39:41,520 --> 00:39:43,520 တခြားနေရာမှာ သုံးဖို့ လိုမယ်။ 1089 00:39:43,520 --> 00:39:44,960 functions တွေပါဘဲ။ 1090 00:39:44,960 --> 00:39:46,880 အမှန်တကယ်ကိန်းရှင်တစ်ခုကို သင်သတ်မှတ်ပါက၊ 1091 00:39:46,880 --> 00:39:49,680 လုပ်ဆောင်ချက်တစ်ခုအတွင်း ၎င်းကို အသုံးပြု၍မရပါ။ 1092 00:39:49,680 --> 00:39:52,480 မဟုတ်သောအခြားလုပ်ဆောင်ချက်များ 1093 00:39:52,480 --> 00:39:54,320 သင့်တွင် variable ရှိသည့် လုပ်ဆောင်ချက် 1094 00:39:54,320 --> 00:39:56,720 ဒါကြောင့် ဒီနေရာ မှာ ကျနော်တို့ သတ်မှတ်ပါတယ်။ 1095 00:39:56,720 --> 00:39:59,200 ကျွန်တော်တို့ရဲ့ program ရဲ့အစမှာ define ပါ။ 1096 00:39:59,200 --> 00:40:01,280 ကိန်းပြည့်ခြေအိတ် 1097 00:40:01,280 --> 00:40:03,599 ကိန်းပြည့်ဖြစ်မည်။ 1098 00:40:03,599 --> 00:40:05,680 ပြီးတော့ ကျွန်တော်တို့လည်း ဒီဆာဗာကို လိုအပ်နိုင်ပါတယ်။ 1099 00:40:05,680 --> 00:40:07,200 လိပ်စာ 1100 00:40:07,200 --> 00:40:09,599 function ၏အပြင်ဘက်တွင်သတ်မှတ်ရန် 1101 00:40:09,599 --> 00:40:12,079 ကောင်းပြီ ဒါပေမယ့် ငါတို့ နောက်မှ လုပ်မယ်။ 1102 00:40:12,079 --> 00:40:14,000 လောလောဆယ်တော့ ဒီဟာကို လိုအပ်ရင်ပေါ့။ 1103 00:40:14,000 --> 00:40:16,640 socket လုံလောက်ပါလိမ့်မည်ဒါကြောင့် sock 1104 00:40:16,640 --> 00:40:19,359 ကိန်းပြည့်နှင့် ဤ socket ကို ပြန်ပေးသည်။ 1105 00:40:19,359 --> 00:40:22,079 တကယ့် function သည် parameter အနည်းငယ်ယူသည်။ 1106 00:40:22,079 --> 00:40:25,440 af underscore inet သည် ထိုအရာဖြစ်သည်။ 1107 00:40:25,440 --> 00:40:26,960 ပထမဘောင် 1108 00:40:26,960 --> 00:40:29,280 ပြီးတော့ ဒီ af underscore inet ကို ကိုယ်စားပြုတယ်။ 1109 00:40:29,280 --> 00:40:31,280 ချိတ်ဆက်မှုတစ်ခု ထူထောင်နေပါသည်။ 1110 00:40:31,280 --> 00:40:33,119 ipv4 ကျော် 1111 00:40:33,119 --> 00:40:35,200 ကောင်းပြီ ဒါဆို ဒုတိယ parameter က သွားမယ်။ 1112 00:40:35,200 --> 00:40:37,520 be sock underscore stream နဲ့ ဒီလိုပါ။ 1113 00:40:37,520 --> 00:40:39,280 ဒုတိယ parameter သည် ကျွန်ုပ်တို့ဖြစ်ကြောင်း သတ်မှတ်သည်။ 1114 00:40:39,280 --> 00:40:41,760 tcp ချိတ်ဆက်မှုကို အသုံးပြုပါမည်။ 1115 00:40:41,760 --> 00:40:44,000 ဒါမှမဟုတ် သုံးလမ်းသွား လက်ဆွဲနှုတ်ဆက်တာမျိုး 1116 00:40:44,000 --> 00:40:46,400 တည်ထောင်ရန်ချိတ်ဆက်မှု 1117 00:40:46,400 --> 00:40:48,880 ကျွန်ုပ်တို့၏ဆာဗာများကြားတွင် ဆက်သွယ်မှုများ 1118 00:40:48,880 --> 00:40:50,400 နှင့်ကျွန်ုပ်တို့၏ပစ်မှတ် 1119 00:40:50,400 --> 00:40:52,160 နောက်ဆုံးအမှန်တကယ် parameter သည်သွားနေသည်။ 1120 00:40:52,160 --> 00:40:54,079 သုညဖြစ်ရန် ကျွန်ုပ်တို့ မသတ်မှတ်ထားသောကြောင့်ဖြစ်သည်။ 1121 00:40:54,079 --> 00:40:56,800 အခြားမည်သည့်အရာမဆို ဤနေရာတွင် ကျွန်ုပ်တို့ ပိတ်နိုင်သည်။ 1122 00:40:56,800 --> 00:40:59,200 အမှန်တကယ် ကွင်းပိတ်၊ အစက်နှင့် ကော်မာ ရိုက်ပါ။ 1123 00:40:59,200 --> 00:41:01,440 အဆင်ပြေပါတယ်။ 1124 00:41:01,760 --> 00:41:03,040 အခု ငါတို့သွားမယ့်အရာ 1125 00:41:03,040 --> 00:41:04,800 လုပ်ရမှာက ငါတို့လုပ်ရမှာ 1126 00:41:04,800 --> 00:41:07,280 အမှန်တကယ်တော့ မတူတာကို ခွဲခြားသတ်မှတ်ပါ။ 1127 00:41:07,280 --> 00:41:10,319 ဤဆာဗာလိပ်စာပေးမည့် ကန့်သတ်ချက်များ 1128 00:41:10,319 --> 00:41:13,040 ဖွဲ့စည်းပုံ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်သောကြောင့် ယူပါ။ 1129 00:41:13,040 --> 00:41:14,880 စတော့လိပ်စာ အဆင်ပြေပါတယ်။ 1130 00:41:14,880 --> 00:41:16,720 ဒါကြောင့် ငါတို့မလုပ်ခင် အရင်လုပ်ချင်တာ။ 1131 00:41:16,720 --> 00:41:19,200 အဲဒါကို ဘယ် bytes နဲ့မဆို ရှင်းပြီး ငါတို့ လုပ်နိုင်တယ်။ 1132 00:41:19,200 --> 00:41:21,040 memset ကိုအသုံးပြုရုံဖြင့်၎င်းကိုပြုလုပ်ပါ။ 1133 00:41:21,040 --> 00:41:22,800 လုပ်ဆောင်ချက် 1134 00:41:22,800 --> 00:41:25,359 ပြီးတော့ ဒီ memset လုပ်ဆောင်ချက်က ဘာလဲ။ 1135 00:41:25,359 --> 00:41:27,200 ရိုးရိုးရှင်းရှင်းပဲလား။ 1136 00:41:27,200 --> 00:41:29,839 ကိန်းရှင်ကို သုညဖြင့် ရှင်းလင်းသည်။ 1137 00:41:29,839 --> 00:41:32,640 ဒီတော့ ဥပမာ ဆိုကြပါစို့ 1138 00:41:32,640 --> 00:41:34,400 နှစ်ထပ်ကိုးကားများကြားတွင်၊ 1139 00:41:34,400 --> 00:41:36,720 ကျွန်ုပ်တို့၏ဆာဗာလိပ်စာ၏ အကြောင်းအရာများ 1140 00:41:36,720 --> 00:41:38,640 variable နဲ့ random တွေရှိတယ်။ 1141 00:41:38,640 --> 00:41:40,640 memory set function ကဘာလဲ နံပါတ်တွေ 1142 00:41:40,640 --> 00:41:43,520 လုပ်မည်ဆိုပါက အားလုံးရှင်းသွားမည်ဖြစ်သည်။ 1143 00:41:43,520 --> 00:41:45,760 သုည အဆင်ပြေပါတယ်။ 1144 00:41:45,760 --> 00:41:49,599 ဒါမှ ငါတို့ဒီမှာ သုံးလို့ရတယ်။ 1145 00:41:49,599 --> 00:41:51,920 memory set ပထမ parameter သည် 1146 00:41:51,920 --> 00:41:54,240 အမှန်တကယ်ဖြစ်လိမ့်မည်။ 1147 00:41:54,240 --> 00:41:56,079 variable ၏ memory တည်နေရာ 1148 00:41:56,079 --> 00:41:57,920 ငါတို့ကိစ္စ မင်းကိုရှင်းမယ်။ 1149 00:41:57,920 --> 00:42:00,160 ဤနေရာတွင် ဤဆိုင်းဘုတ်ဖြင့် သတ်မှတ်ပါ။ 1150 00:42:00,160 --> 00:42:01,680 ပြီးမှ variable ၏အမည် 1151 00:42:01,680 --> 00:42:05,119 ငါ့ကိစ္စမှာ server က r ထည့်တယ်။ 1152 00:42:05,119 --> 00:42:07,119 ထို့နောက် တကယ့် parameter သည် သွားနေပါသည်။ 1153 00:42:07,119 --> 00:42:08,960 သုညဖြစ်တာကြောင့် အမှန်တကယ် သန့်ရှင်းစေချင်ပါတယ်။ 1154 00:42:08,960 --> 00:42:10,560 သုညနှင့်တက်သည်။ 1155 00:42:10,560 --> 00:42:12,079 တတိယ parameter သည် ဖြစ်လိမ့်မည်။ 1156 00:42:12,079 --> 00:42:14,640 variable ၏အရွယ်အစားနှင့်ကျွန်ုပ်တို့ရနိုင်သည်။ 1157 00:42:14,640 --> 00:42:17,119 ၎င်းကို function တစ်ခု၏အကူအညီဖြင့်ခေါ်သည်။ 1158 00:42:17,119 --> 00:42:18,640 အရွယ်အစား 1159 00:42:18,640 --> 00:42:20,319 ဒါကြောင့် ကွင်းပိတ်တွေကြားမှာ၊ 1160 00:42:20,319 --> 00:42:23,280 ပြောင်းလဲနိုင်သောအမည်ကိုသတ်မှတ်ပါ။ 1161 00:42:23,280 --> 00:42:25,200 variable name အဆင်ပြေပါတယ်။ 1162 00:42:25,200 --> 00:42:27,760 ပြီးရင် အဆုံးမှာ dot ကော်မာနဲ့ သုံးလို့ရတယ်။ 1163 00:42:27,760 --> 00:42:29,599 ဒီလုပ်ဆောင်ချက်ကို 1164 00:42:29,599 --> 00:42:30,400 သုည 1165 00:42:30,400 --> 00:42:33,760 ဒီ variable ရဲ့ content အားလုံးကို မှန်ပါတယ်။ 1166 00:42:33,760 --> 00:42:34,960 ဒီမှာ 1167 00:42:34,960 --> 00:42:37,200 အဆင်ပြေပါတယ်။ 1168 00:42:37,520 --> 00:42:39,280 ယခု ကျွန်ုပ်တို့သည် မတူညီသော အဓိပ္ပါယ်ဖွင့်ဆိုနိုင်ပါသည်။ 1169 00:42:39,280 --> 00:42:41,119 သက်ဆိုင်မည့် ဘောင်များ 1170 00:42:41,119 --> 00:42:43,200 ဒီ variable က ပထမ parameter ပါ။ 1171 00:42:43,200 --> 00:42:45,440 ဒါဖြင့် ကျွန်တော်တို့ ဝင်ကြည့်မယ်။ 1172 00:42:45,440 --> 00:42:48,480 ဆာဗာ addr နှင့် ပေါင်းစည်းထားသော အမှတ်အသားကို အစက်ချပါ။ 1173 00:42:48,480 --> 00:42:50,880 မိသားစုနဲ့ အဲဒါ af ဖြစ်မယ်။ 1174 00:42:50,880 --> 00:42:52,880 ကျွန်ုပ်တို့ရရှိပြီးသားအရာများကို အမှတ်အသားပြုပါ။ 1175 00:42:52,880 --> 00:42:55,520 ipv4 connection လို့ ရှင်းပြထားပါတယ်။ 1176 00:42:55,520 --> 00:42:56,839 ဒုတိယ 1177 00:42:56,839 --> 00:42:59,200 parameter ဟုခေါ်သည်။ 1178 00:42:59,200 --> 00:43:02,000 scene addr ကို ထောက်ပြီး အမှတ်အဖြစ် အစက်ချပါ။ 1179 00:43:02,000 --> 00:43:03,599 underscore ကြော်ငြာ 1180 00:43:03,599 --> 00:43:07,119 တကယ့် ip လိပ်စာဖြစ်မယ်။ 1181 00:43:07,119 --> 00:43:08,480 ကျွန်ုပ်တို့၏ဆာဗာ 1182 00:43:08,480 --> 00:43:10,400 ဒီကနေစပြီး ပြောင်းတော့မယ်။ 1183 00:43:10,400 --> 00:43:12,720 ကျွန်ုပ်တို့သည် a ကိုအသုံးပြု၍မရသောအမှန်တကယ် string တစ်ခုဖြစ်သည်။ 1184 00:43:12,720 --> 00:43:14,720 ၎င်းကိုချိတ်ဆက်ရန် string ကိုကျွန်ုပ်တို့လိုအပ်သည်။ 1185 00:43:14,720 --> 00:43:17,200 ဤစာကြောင်းကို ip လိပ်စာသို့ ပြောင်းပါ။ 1186 00:43:17,200 --> 00:43:18,240 ပုံစံ 1187 00:43:18,240 --> 00:43:19,920 ပြီးတော့ အဲဒါကို သုံးပြီး ရိုးရှင်းစွာ လုပ်နိုင်ပါတယ်။ 1188 00:43:19,920 --> 00:43:23,200 inet underscore adr function ကိုကျွန်ုပ်တို့ပေါ်ကို 1189 00:43:23,200 --> 00:43:24,720 server ip 1190 00:43:24,720 --> 00:43:26,960 အဆင်ပြေပါတယ်။ 1191 00:43:26,960 --> 00:43:28,960 နှင့်ကျွန်ုပ်တို့သွားမည့်နောက်ဆုံးဘောင် 1192 00:43:28,960 --> 00:43:31,280 to need က port ဖြစ်မယ်။ 1193 00:43:31,280 --> 00:43:35,119 server adr dot syn underscore port နှင့် 1194 00:43:35,119 --> 00:43:36,960 ဒီမှာ ငါတို့သုံးမယ်။ 1195 00:43:36,960 --> 00:43:38,960 နောက်ထပ်လုပ်ဆောင်ရမယ့် function တစ်ခုလည်းဖြစ်ပါတယ်။ 1196 00:43:38,960 --> 00:43:42,079 ဤကိန်းပြည့်ကို ပို့တ်ဖော်မတ်သို့ ပြောင်းပါ။ 1197 00:43:42,079 --> 00:43:45,200 ပြီးတော့ h tons function ကိုသုံးနိုင်တယ်။ 1198 00:43:45,200 --> 00:43:47,040 ဤဆာဗာဆိပ်ကမ်းတွင် 1199 00:43:47,040 --> 00:43:48,800 ငါအရင်ကပြောခဲ့သလိုပဲ ငါ့ကိုခွင့်ပြုပါ။ 1200 00:43:48,800 --> 00:43:50,800 အကယ်၍ သင်သည် အစက်နှင့် ကော်မာကို ပေါင်းထည့်ပါ။ 1201 00:43:50,800 --> 00:43:52,560 ဤလုပ်ဆောင်ချက်များထဲမှ တစ်ခုခုကို သိချင်သည် 1202 00:43:52,560 --> 00:43:54,720 သင်ရိုးရှင်းစွာသွားနိုင်ပါတယ်။ 1203 00:43:54,720 --> 00:43:56,560 သင်၏ google chrome တွင် function ကိုရိုက်ထည့်ပါ။ 1204 00:43:56,560 --> 00:43:58,480 နာမည်နဲ့ အဲဒီ function က ဘာလဲဆိုတာ သိနိုင်ပါတယ်။ 1205 00:43:58,480 --> 00:43:59,920 အဲဒါဆို ငါရှင်းပြစရာ မလိုဘူး။ 1206 00:43:59,920 --> 00:44:01,119 အရာအားလုံး 1207 00:44:01,119 --> 00:44:04,079 ငါတို့ကုဒ်အမှန်တကယ်ကောင်းတယ်။ 1208 00:44:04,079 --> 00:44:07,200 ပြီးတော့ သင်လည်း အများကြီး သင်ယူရလိမ့်မယ်။ 1209 00:44:07,200 --> 00:44:08,880 ဤအရာများကိုဖတ်ရုံဖြင့် 1210 00:44:08,880 --> 00:44:11,119 အဲဒီ့ function က ရိုးရိုးရှင်းရှင်းနဲ့ လုပ်ဆောင်နိုင်ပါတယ်။ 1211 00:44:11,119 --> 00:44:12,880 code ကိုကြည့် 1212 00:44:12,880 --> 00:44:14,720 အဆင်ပြေပါတယ်။ 1213 00:44:14,720 --> 00:44:16,960 ဒါကြောင့်မို့လို့ အခု ကျနော်တို့ သတ်မှတ်လိုက်တာပါ။ 1214 00:44:16,960 --> 00:44:19,359 ဤသင်ခန်းစာကို ဤနေရာတွင် ဖြတ်တောက်ပါ။ 1215 00:44:19,359 --> 00:44:21,359 နောက်တစ်ခုက ကျွန်တော်တို့ တကယ်ချိတ်ဆက်မယ်။ 1216 00:44:21,359 --> 00:44:23,760 ကျွန်​​တော်​တို့ရဲ့ ဆာဗာကို အခု​တော့ ကျွန်​​တော်​သိပါတယ်​ 1217 00:44:23,760 --> 00:44:25,920 တစ်စုံတစ်ယောက်အတွက် ခက်ခဲတဲ့အရာတွေ ရှိနိုင်ပါတယ်။ 1218 00:44:25,920 --> 00:44:28,480 c မှာ အတွေ့အကြုံ သိပ်မရှိဘူး။ 1219 00:44:28,480 --> 00:44:29,200 ဒါကြောင့် 1220 00:44:29,200 --> 00:44:31,280 ငါ့အကြံဉာဏ်ဖြစ်မယ်။ 1221 00:44:31,280 --> 00:44:32,640 သင်လုပ်ဆောင်သည့်လုပ်ဆောင်ချက်အားလုံးကို ရှာဖွေပါ။ 1222 00:44:32,640 --> 00:44:35,119 နားမလည်သလို ဖတ်လို့လည်း မရဘူး။ 1223 00:44:35,119 --> 00:44:37,280 ကုဒ်ကို အကြိမ်များစွာ ဖြတ်၍ ပြုလုပ်ပါ။ 1224 00:44:37,280 --> 00:44:38,640 တကယ်ကို အများကြီး အထောက်အကူဖြစ်မှာပါ။ 1225 00:44:38,640 --> 00:44:40,079 နားလည်ရင် ပိုကောင်းပါတယ်။ 1226 00:44:40,079 --> 00:44:41,359 ရိုးရှင်းစွာ chord မှတဆင့်သွားပါ။ 1227 00:44:41,359 --> 00:44:43,839 တစ်ခုတည်းထက် အဆများစွာ 1228 00:44:43,839 --> 00:44:47,520 ကောင်းပြီ ဒါဆို ငါတို့ ဒါကို သိမ်းကြရအောင် 1229 00:44:47,680 --> 00:44:49,760 ctrl x ကို ထွက်ပြီး ကျွန်တော်တို့ သွားမယ်။ 1230 00:44:49,760 --> 00:44:51,839 နောက်သင်ခန်းစာတွင် ဆက်လက်လုပ်ဆောင်ပါ။ 1231 00:44:51,839 --> 00:44:53,359 နှုတ်ဆက်ပါတယ်။ 1232 00:44:53,359 --> 00:44:55,440 အားလုံးပဲမင်္ဂလာပါ ၊ ဆက်ကြရအောင် 1233 00:44:55,440 --> 00:44:58,079 ငါတို့ရဲ့ ပရိုဂရမ်နဲ့ ဝေးကွာနေတော့ ငါတို့ nano ပဲရှိမယ်။ 1234 00:44:58,079 --> 00:45:01,280 ကျွန်ုပ်၏ backdoor.c သည် တလမ်းလုံးဆင်းသွားပါသည်။ 1235 00:45:01,280 --> 00:45:03,200 ဒီပင်မမှာ စွမ်းဆောင်ဖို့ ကျန်နေသေးလား။ 1236 00:45:03,200 --> 00:45:05,280 အဲဒါကို ပိတ်ပြီး မသွားခင် function ပေါ့။ 1237 00:45:05,280 --> 00:45:07,119 နောက်တစ်ခုကတော့ ကျွန်တော်တို့ လုပ်ဖို့လိုအပ်ပါတယ်။ 1238 00:45:07,119 --> 00:45:09,200 ချိတ်ဆက်မှုကိုလုပ်ဆောင်ပါ။ 1239 00:45:09,200 --> 00:45:10,880 ဒါကြောင့် ချိတ်ဆက်မှုကို အသုံးပြုပြီး လုပ်နိုင်ပါတယ်။ 1240 00:45:10,880 --> 00:45:13,440 function နှင့် connect function ကိုကြည့်ရှုသည်။ 1241 00:45:13,440 --> 00:45:15,280 ဒီလိုမျိုး သင်ရိုးရိုးလေးပါ။ 1242 00:45:15,280 --> 00:45:17,599 ချိတ်ဆက်သတ်မှတ်ပါ။ 1243 00:45:17,599 --> 00:45:19,680 ချိတ်ဆက်မှု၏ပထမအငြင်းအခုံ 1244 00:45:19,680 --> 00:45:22,240 function က အခု socket ဖြစ်မယ်။ 1245 00:45:22,240 --> 00:45:24,319 ကျွန်ုပ်တို့သည် socket ကို ကဲ့သို့ ခေါ်ဆိုရန် သတ်မှတ်သည်။ 1246 00:45:24,319 --> 00:45:25,760 ဒါ ငါတို့ ရိုးရိုးရှင်းရှင်းပဲ သွားမယ်။ 1247 00:45:25,760 --> 00:45:27,680 ၎င်းကို ဤနေရာတွင် ပြီးနောက် ၎င်းအတွက် သတ်မှတ်ပါ။ 1248 00:45:27,680 --> 00:45:30,480 ဒုတိယအငြင်းအခုံအဖွင့်နှင့်အပိတ်ကွင်းပိတ် 1249 00:45:30,480 --> 00:45:33,359 ထိုကွင်းပိတ်များတွင် ဖွဲ့စည်းပုံကို သတ်မှတ်ပါ။ 1250 00:45:33,359 --> 00:45:35,760 သို့မဟုတ် ဤကိစ္စတွင် struct 1251 00:45:35,760 --> 00:45:39,440 sock addr နှင့် pointer သို့မဟုတ် star တစ်ခု 1252 00:45:39,440 --> 00:45:40,400 လက္ခဏာ 1253 00:45:40,400 --> 00:45:42,720 ပြီးရင် function ရဲ့အပြင်ဘက်မှာ သတ်မှတ်ပေးလိုက်ပါ။ 1254 00:45:42,720 --> 00:45:44,880 ဆာဗာလိပ်စာ၏ မှတ်ဉာဏ်တည်နေရာ 1255 00:45:44,880 --> 00:45:47,359 ငါတို့လည်း သိပြီးသားအတိုင်း လုပ်တယ်။ 1256 00:45:47,359 --> 00:45:49,040 ဒီဆိုင်းဘုတ်နဲ့ 1257 00:45:49,040 --> 00:45:50,800 ဆာဗာ 1258 00:45:50,800 --> 00:45:54,560 လိပ်စာ သို့မဟုတ် ဝန်ဆောင်မှု addr 1259 00:45:54,560 --> 00:45:56,480 ကောင်းပြီ ဒါဆို ဒါက ဒုတိယ parameter ပါ။ 1260 00:45:56,480 --> 00:45:58,400 နောက်ဆုံး parameter သည် the ဖြစ်လိမ့်မည်။ 1261 00:45:58,400 --> 00:46:01,599 ဤဆာဗာ addr ၏ တကယ့်အရွယ်အစား 1262 00:46:01,599 --> 00:46:03,599 ဒါကြောင့် size ကွာပါတယ်။ 1263 00:46:03,599 --> 00:46:05,280 ပြီးရင် server 1264 00:46:05,280 --> 00:46:06,560 ကြော်ငြာ 1265 00:46:06,560 --> 00:46:08,800 ကောင်းပြီ ဒါပေမယ့် ဒါက ငါတို့အားလုံးမဟုတ်သေးဘူး။ 1266 00:46:08,800 --> 00:46:11,359 တကယ်ကုဒ်လိုချင်ရင် ငါတို့က ငါတို့လိုချင်တယ်။ 1267 00:46:11,359 --> 00:46:13,920 ကျွန်ုပ်တို့၏ backdoor သို့မဟုတ် malware သို့မဟုတ် ပရိုဂရမ် 1268 00:46:13,920 --> 00:46:15,920 ဒါပေမယ် မင်းက အဲဒါကို ငါတို့လိုချင်တယ် ခေါ်တာ။ 1269 00:46:15,920 --> 00:46:18,720 ပစ်မှတ်သို့ အမှန်တကယ်ချိတ်ဆက်ရန် သို့မဟုတ် ကြိုးစားပါ။ 1270 00:46:18,720 --> 00:46:20,560 10 တိုင်း ပစ်မှတ်သို့ ချိတ်ဆက်ရန် 1271 00:46:20,560 --> 00:46:21,599 စက္ကန့် 1272 00:46:21,599 --> 00:46:24,000 အခုဘာလို့အဲလိုလိုချင်တာလဲ။ 1273 00:46:24,000 --> 00:46:25,599 ဝန်ထုပ်ဝန်ပိုးကို ပို့ဆောင်ရန် စိတ်ကူးပါ။ 1274 00:46:25,599 --> 00:46:28,240 ပစ်မှတ်ထားပြီး ၎င်းတို့သည် အမှန်တကယ် payload ကို လုပ်ဆောင်သည်။ 1275 00:46:28,240 --> 00:46:30,480 သင်၏ဆာဗာကိုမစတင်မီ 1276 00:46:30,480 --> 00:46:32,160 သူတို့က မင်းကို ပြန်ဆက်သွယ်ဖို့ ကြိုးစားလိမ့်မယ်။ 1277 00:46:32,160 --> 00:46:34,319 သင်မစမီ နားထောင်ပါ။ 1278 00:46:34,319 --> 00:46:36,560 အဝင်ချိတ်ဆက်မှုများနှင့် ထို့ကြောင့် 1279 00:46:36,560 --> 00:46:38,480 သူတို့သည် ဤကုဒ်၏ အစိတ်အပိုင်းကို ဖြတ်သန်းကြလိမ့်မည်။ 1280 00:46:38,480 --> 00:46:40,160 မလုပ်နိုင်သောကြောင့် အလုပ်မဖြစ်ပါ။ 1281 00:46:40,160 --> 00:46:41,680 မင်းကြောင့် မင်းနဲ့ ချိတ်ဆက်နိုင်မယ်။ 1282 00:46:41,680 --> 00:46:43,599 သင်၏ဆာဗာကို အမှန်တကယ် မစတင်ရသေးပါ။ 1283 00:46:43,599 --> 00:46:46,000 အဆက်အစပ်တွေ နားထောင်နေရသေးတာ။ 1284 00:46:46,000 --> 00:46:48,480 ထို့ကြောင့် ဤပရိုဂရမ်သည် လည်ပတ်မှုရပ်တန့်သွားမည်ဖြစ်သည်။ 1285 00:46:48,480 --> 00:46:50,319 ငါတို့က အဲဒါကို တကယ်မဖြစ်စေချင်ဘူး။ 1286 00:46:50,319 --> 00:46:52,480 အချိန်တိုင်း ချိတ်ဆက်နိုင်စေချင်တယ်။ 1287 00:46:52,480 --> 00:46:54,880 ကျွန်ုပ်တို့သည်ကျွန်ုပ်တို့၏ဆာဗာကိုစတင်ပြီးကျွန်ုပ်တို့လုပ်နိုင်သည်။ 1288 00:46:54,880 --> 00:46:56,800 ဒီလိုလုပ်ဆောင်ခြင်းအားဖြင့် အဲဒါကို ပြီးမြောက်အောင်လုပ်ပါ။ 1289 00:46:56,800 --> 00:46:59,520 ချိတ်ဆက်သည့်လုပ်ဆောင်ချက်ကို 10 စက္ကန့်ကြာသည်အထိ လုပ်ဆောင်ပါ။ 1290 00:46:59,520 --> 00:47:01,359 အမှန်တကယ်ချိတ်ဆက်သည်။ 1291 00:47:01,359 --> 00:47:04,480 အဲဒါကို ရိုးရိုးရှင်းရှင်းပဲ လုပ်နိုင်တယ်။ 1292 00:47:04,480 --> 00:47:07,359 ဒီမှာ ခဏလောက် လှည့်ပတ်ပြေးနေတော့ a 1293 00:47:07,359 --> 00:47:09,280 while loop ဆိုတာ ရိုးရိုးရှင်းရှင်းပဲ ငါတို့သွားနေတာ 1294 00:47:09,280 --> 00:47:11,520 ဤအမှန်တကယ်ချိတ်ဆက်မှုလုပ်ဆောင်ချက်ကိုလုပ်ဆောင်ရန် 1295 00:47:11,520 --> 00:47:14,800 သုညနှင့်ညီမျှသည်အထိ 1296 00:47:14,800 --> 00:47:15,599 အဆင်ပြေပါတယ်။ 1297 00:47:15,599 --> 00:47:18,160 ဒါကြောင့် ဒီကာလပတ်လုံး ငါတို့ ဒီဟာကို လည်ပတ်မယ်။ 1298 00:47:18,160 --> 00:47:20,079 သုညနှင့် ညီမျှသည်မဟုတ်။ 1299 00:47:20,079 --> 00:47:22,240 သုညနှင့် ညီမျှသည်နှင့် တပြိုင်နက်၊ 1300 00:47:22,240 --> 00:47:23,760 ချိတ်ဆက်ပြီးပြီဟု ဆိုလိုသည်။ 1301 00:47:23,760 --> 00:47:25,920 ထူထောင်ပြီး ကျွန်တော်တို့ သွားရတော့မယ်။ 1302 00:47:25,920 --> 00:47:27,359 ကျန်တဲ့ code တွေ 1303 00:47:27,359 --> 00:47:30,400 ကောင်းပြီ သုညနှင့် မညီမျှလျှင် 1304 00:47:30,400 --> 00:47:33,520 ငါတို့ဖျော်ဖြေတော့မယ်။ 1305 00:47:33,920 --> 00:47:35,520 ငါ့ကိုခွင့်ပြုပါ။ 1306 00:47:35,520 --> 00:47:37,920 ဤကွင်းပိတ်ကို ဤနေရာ၌ ထုတ်ယူပါ။ 1307 00:47:37,920 --> 00:47:40,400 အကြောင်းတစ်ခုခုကြောင့် တောက်လျှောက်ကျသွားတယ်။ 1308 00:47:40,400 --> 00:47:42,319 ဒီတော့ ဒီကို ပြန်ကြည့်ရအောင် 1309 00:47:42,319 --> 00:47:44,880 0 နဲ့ မညီရင် 1310 00:47:44,880 --> 00:47:47,040 ငါတို့ 10 စက္ကန့်လောက် အိပ်တော့မယ်။ 1311 00:47:47,040 --> 00:47:49,280 Sleep Function ကို ရိုက်နှိပ်ခြင်းဖြင့် ၎င်းကို ပြုလုပ်နိုင်ပါသည်။ 1312 00:47:49,280 --> 00:47:50,800 ထို့နောက် အမှန်တကယ် စက္ကန့်ပမာဏ 1313 00:47:50,800 --> 00:47:52,880 ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို အိပ်ချင်သည်။ 1314 00:47:52,880 --> 00:47:55,520 ကွင်းပိတ်များနှင့် ဤလုပ်ဆောင်ချက်အကြား 1315 00:47:55,520 --> 00:47:57,200 ရိုးရိုးလေးပဲ။ 1316 00:47:57,200 --> 00:47:59,520 ကျွန်ုပ်တို့၏ ပရိုဂရမ်အတွက် ဘာမှမလုပ်ပေးပါ။ 1317 00:47:59,520 --> 00:48:01,839 ဤသတ်မှတ်ထားသောအချိန်ပမာဏ 1318 00:48:01,839 --> 00:48:04,400 အဲဒါပြီးရင် ငါတို့သွားမယ်။ 1319 00:48:04,400 --> 00:48:06,480 တစ်ခုခုလုပ်ပါ။ 1320 00:48:06,480 --> 00:48:08,079 တကယ်စိတ်ဝင်စားဖို့ကောင်းတယ်။ 1321 00:48:08,079 --> 00:48:10,720 c နဲ့သာလုပ်လို့ရတယ်ထင်ပါတယ်။ 1322 00:48:10,720 --> 00:48:12,800 စုဝေးရာဘာသာစကားသို့သွားပါ။ 1323 00:48:12,800 --> 00:48:16,000 ညွှန်ကြားချက်နှင့်စတင်ပါ။ 1324 00:48:16,000 --> 00:48:17,520 အခု မင်းဒါက ဘာလဲလို့ မေးနေနိုင်တယ်။ 1325 00:48:17,520 --> 00:48:19,440 ကောင်းစွာစတင်ရန် ကျွန်ုပ်တို့ အမှန်တကယ် အကောင်အထည်မပေါ်သေးပါ။ 1326 00:48:19,440 --> 00:48:21,839 အဲဒါကို ကျနော်တို့က အကောင်အထည် ဖော်တော့မယ်။ 1327 00:48:21,839 --> 00:48:24,720 while loop မတိုင်ခင်မှာ ကျွန်တော်တို့ လုပ်နိုင်ပါတယ်။ 1328 00:48:24,720 --> 00:48:26,800 အဲဒါကို ဒီပုံစံအတိုင်း အကောင်အထည်ဖော်ပါ ဒါဆို စတင်လိုက်ပါ။ 1329 00:48:26,800 --> 00:48:28,000 အစက်နှစ်စက် 1330 00:48:28,000 --> 00:48:30,000 ဒီတစ်ခုကို ဖြတ်သန်းကြရအောင် 1331 00:48:30,000 --> 00:48:31,440 အချိန်ပိုပေးတဲ့အတွက် အဲဒါကို နားလည်နိုင်ပါတယ်။ 1332 00:48:31,440 --> 00:48:33,359 နည်းနည်းကောင်းတာက ငါတို့မှာ တစ်ခုခုရှိတယ်။ 1333 00:48:33,359 --> 00:48:35,839 start လို့ ခေါ်တယ်ဆိုတော့ စိတ်ကူးကြည့်ရအောင် 1334 00:48:35,839 --> 00:48:38,240 ဤနေရာတွင် ဤနေရာတွင် အစပြုသည့်စာကြောင်းအချို့ကို အမျိုးအစားအဖြစ် သတ်မှတ်သည်။ 1335 00:48:38,240 --> 00:48:39,599 စစ်ဆေးရေးဂိတ်တစ်ခု၏ 1336 00:48:39,599 --> 00:48:41,520 ပြီးရင် အဲဒီဂိတ်ပြီးရင် ငါတို့သွားမယ်။ 1337 00:48:41,520 --> 00:48:42,880 နေစဉ် 1338 00:48:42,880 --> 00:48:45,520 အကယ်၍ ချိတ်ဆက်ရန်ကြိုးစားသော loop 1339 00:48:45,520 --> 00:48:47,440 ချိတ်ဆက်ရန် စီမံပါက ဒါတွေကို ကျော်သွားပါလိမ့်မယ်။ 1340 00:48:47,440 --> 00:48:49,200 ညွှန်ကြားချက်နှစ်ခုက အပြင်ထွက်လိမ့်မယ်။ 1341 00:48:49,200 --> 00:48:50,960 while loop နှင့် ဆက်လက်လုပ်ဆောင်ပါ။ 1342 00:48:50,960 --> 00:48:53,520 program execution လုပ်ပေမယ့် မရရင် 1343 00:48:53,520 --> 00:48:55,280 ချိတ်ဆက်ဖို့ စီမံပေးလိုက်ရင် အဲဒါတွေ ရောက်သွားလိမ့်မယ်။ 1344 00:48:55,280 --> 00:48:57,520 လမ်းညွှန်ချက်နှစ်ခုကို ဦးစွာပြုလုပ်ပါမည်။ 1345 00:48:57,520 --> 00:49:00,079 10 စက္ကန့်လောက်အိပ်ပြီးရင် သက်သာသွားပါလိမ့်မယ်။ 1346 00:49:00,079 --> 00:49:02,319 သွားပါလို့ ပြောထားတဲ့ ဒီညွှန်ကြားချက်ကို သွားပါ။ 1347 00:49:02,319 --> 00:49:04,960 start ဆိုတော့ စတင်ဖို့ ချက်ချင်းပြန်သွားပါလိမ့်မယ်။ 1348 00:49:04,960 --> 00:49:07,040 ပြီးလျှင် ဤအရာအားလုံးကို လုပ်ဆောင်လိမ့်မည်။ 1349 00:49:07,040 --> 00:49:08,400 စက်ဝိုင်းများ 1350 00:49:08,400 --> 00:49:10,800 အမှန်တကယ် ချိတ်ဆက်လုပ်ဆောင်မှု အလုပ်မလုပ်မချင်း 1351 00:49:10,800 --> 00:49:13,760 ပစ်မှတ်သည် ကျွန်ုပ်တို့နှင့် ချိတ်ဆက်သည်အထိ 1352 00:49:13,760 --> 00:49:15,760 server အဆင်ပြေပါတယ်။ 1353 00:49:15,760 --> 00:49:18,079 အဲဒါကို တခါ တခါလုပ်တယ်။ 1354 00:49:18,079 --> 00:49:20,240 ပစ်မှတ်သည် ကျွန်ုပ်တို့၏ဆာဗာသို့ ချိတ်ဆက်သည်။ 1355 00:49:20,240 --> 00:49:22,960 လို့ ခေါ်တဲ့ function တစ်ခုကို ထည့်ပါမယ်။ 1356 00:49:22,960 --> 00:49:24,160 အခွံ 1357 00:49:24,160 --> 00:49:25,920 နောက် video မှာ ပါပါမယ်။ 1358 00:49:25,920 --> 00:49:28,720 ဤလုပ်ဆောင်ချက်ကို ကုဒ်ဖြင့် စတင်ပါ။ 1359 00:49:28,720 --> 00:49:30,559 အမိန့်များကို အမှန်တကယ် လက်ခံရရှိမည်ဖြစ်သည်။ 1360 00:49:30,559 --> 00:49:33,520 ကျွန်ုပ်တို့၏ဆာဗာမှ ၎င်းတို့ကို execute လုပ်ပြီး ပေးပို့ပါ။ 1361 00:49:33,520 --> 00:49:36,800 အထွက် သို့မဟုတ် ရလဒ်ကို ပြန်ပေးသည်။ 1362 00:49:36,800 --> 00:49:38,400 ဘယ်လိုအကောင်အထည် ဖော်နိုင်မလဲ ဆိုတာ ကြည့်ကြမယ်။ 1363 00:49:38,400 --> 00:49:40,960 အဲဒါကို နောက်သင်ခန်းစာမှာ ရေးပါမယ်။ 1364 00:49:40,960 --> 00:49:42,960 အဲဒါနဲ့ ပတ်သက်ပြီးတော့ ကျွန်တော်တို့ လုပ်နိုင်ခဲ့တယ်။ 1365 00:49:42,960 --> 00:49:45,200 တကယ်တော့ while loop တစ်ခုကို ဖန်တီးပါ။ 1366 00:49:45,200 --> 00:49:47,359 10 စက္ကန့်တိုင်း ချိတ်ဆက်သွားပါမယ်။ 1367 00:49:47,359 --> 00:49:50,160 ချိတ်ဆက်ရန် စီမံထားပြီး ကျွန်ုပ်တို့လည်း သတ်မှတ်ပါသည်။ 1368 00:49:50,160 --> 00:49:52,559 socket အရာဝတ္ထုအပြင် ဆာဗာ 1369 00:49:52,559 --> 00:49:55,760 လိပ်စာဖြစ်သောကြောင့် ကျွန်ုပ်တို့၏ အဓိကလုပ်ဆောင်ချက်သည် နီးစပ်ပါသည်။ 1370 00:49:55,760 --> 00:49:57,280 ဒီမှာ ပြီးပြီ။ 1371 00:49:57,280 --> 00:50:00,640 ကျွန်ုပ်တို့ဝှက်ထားသော api entry ဝင်ပေါက်ကိုဖန်တီးခဲ့သည်။ 1372 00:50:00,640 --> 00:50:03,200 ပစ်မှတ်ကနေ ကျွန်တော်တို့ရဲ့ တကယ့် console က အဲဒါပါပဲ။ 1373 00:50:03,200 --> 00:50:05,599 ငါတို့အားလုံးသတ်မှတ်ထားသောအရာကိုဖွင့်မထားပါ။ 1374 00:50:05,599 --> 00:50:07,119 လိုအပ်သော အရာများ ၊ 1375 00:50:07,119 --> 00:50:10,000 ip နှင့် port အနေဖြင့်၊ ထို့နောက်ကျွန်ုပ်တို့ချိတ်ဆက်ပါ။ 1376 00:50:10,000 --> 00:50:12,319 ပစ်မှတ်က အခုငါပြောသလိုပဲ။ 1377 00:50:12,319 --> 00:50:14,800 ဒါမှ command တွေကို execute လုပ်ဖို့ အဆင်သင့်ပါပဲ။ 1378 00:50:14,800 --> 00:50:16,559 ဒီကျူတိုရီရယ်အတွက် ကျွန်တော်အကြောင်းဖြစ်မယ်။ 1379 00:50:16,559 --> 00:50:18,720 မင်းပျော်မယ်လို့မျှော်လင့်ပြီး ငါတို့သွားမယ်။ 1380 00:50:18,720 --> 00:50:20,720 ဒါကို ဘယ်လိုဆက်ပြီး ကုဒ်လုပ်မလဲဆိုတာ ကြည့်ပါ။ 1381 00:50:20,720 --> 00:50:22,640 နောက်လာမည့်ဟောပြောပွဲအစီအစဉ် 1382 00:50:22,640 --> 00:50:24,319 နှုတ်ဆက်ပါတယ်။ 1383 00:50:24,319 --> 00:50:26,720 ဒီ video လေးကနေ ကြိုဆိုပါတယ်။ 1384 00:50:26,720 --> 00:50:29,359 ကျွန်ုပ်တို့၏ shell function ကိုဖန်တီးရန် 1385 00:50:29,359 --> 00:50:32,000 ဒါကြောင့် ဒီလုပ်ဆောင်ချက်ရဲ့ ပန်းတိုင်က သူ့အတွက်ပါ။ 1386 00:50:32,000 --> 00:50:34,640 ထို command များကို လုပ်ဆောင်နိုင်စေရန် 1387 00:50:34,640 --> 00:50:37,520 ကျွန်ုပ်တို့၏ဆာဗာသည် ပစ်မှတ်သို့ ပေးပို့မည်ဖြစ်သည်။ 1388 00:50:37,520 --> 00:50:39,280 ဒါကြောင့် ကျွန်တော်တို့လည်း ဒါကို ဆောင်ရွက်ပေးမယ်။ 1389 00:50:39,280 --> 00:50:41,680 ကြိုးဝိုင်းက မှန်နေပေမယ့် ငါတို့ အဲဒါကို မလုပ်ခင်၊ 1390 00:50:41,680 --> 00:50:43,599 ကွဲပြားမှုအချို့ကို ခွဲဝေပေးရန် လိုအပ်သည်။ 1391 00:50:43,599 --> 00:50:46,480 function အတွင်းရှိ variable များ 1392 00:50:46,480 --> 00:50:48,079 ဒါဆို ငါတို့ဆီ သွားကြည့်ရအောင် 1393 00:50:48,079 --> 00:50:50,319 backdoor.c ဖြင့် ၎င်းကိုဖွင့်ပါမည်။ 1394 00:50:50,319 --> 00:50:51,839 nanoeditor 1395 00:50:51,839 --> 00:50:53,920 ဤတွင်ကျွန်ုပ်တို့ ကုဒ်ရေးပြီးသော အရာဖြစ်သည်။ 1396 00:50:53,920 --> 00:50:56,319 ၎င်းသည် windows api entry main ဖြစ်သည်။ 1397 00:50:56,319 --> 00:50:57,680 လုပ်ဆောင်ချက် 1398 00:50:57,680 --> 00:50:59,440 ယခု အောက်ဖော်ပြပါပုံတွင် မြင်ရသည့်အတိုင်းပင် 1399 00:50:59,440 --> 00:51:01,599 အရင်က ဗီဒီယိုကို shell လို့ခေါ်တယ်။ 1400 00:51:01,599 --> 00:51:03,760 function မရှိသေးပေမယ့် အဲဒါကို ကျွန်တော်တို့မှာ မရှိဘူး။ 1401 00:51:03,760 --> 00:51:05,680 အဲဒါကို ဒီမှာ ကုဒ်လုပ်ရမယ်။ 1402 00:51:05,680 --> 00:51:07,040 အဲဒါကို အစမှာ ကုဒ်လုပ်မယ်။ 1403 00:51:07,040 --> 00:51:10,079 api entry ၏အထက်ညာဘက်ပရိုဂရမ်၏ 1404 00:51:10,079 --> 00:51:11,680 windows ရဲ့ အဓိကလုပ်ဆောင်ချက် 1405 00:51:11,680 --> 00:51:15,119 ပြီးတော့ ဒီလုပ်ဆောင်ချက်ကို ရှောင်သွားမယ်။ 1406 00:51:15,119 --> 00:51:17,599 ရှောင်ဖို့ဆိုတာ ဘာကိုဆိုလိုတာလဲ။ 1407 00:51:17,599 --> 00:51:19,359 function ဆိုသည်မှာ တကယ်လုပ်မည်မဟုတ်ပါ။ 1408 00:51:19,359 --> 00:51:22,319 အကယ်၍ ဤလုပ်ဆောင်ချက်မှ မည်သည့်အရာကိုမဆို ပြန်ပေးပါ။ 1409 00:51:22,319 --> 00:51:25,440 function integer ကို ရိုးရိုးရှင်းရှင်းပဲ ခေါ်တယ်။ 1410 00:51:25,440 --> 00:51:27,359 ကြိုက်တယ်ဗျ။ 1411 00:51:27,359 --> 00:51:28,880 ဆိုလိုသည်မှာ ဤလုပ်ဆောင်ချက်သည် ရှိလာမည်ဖြစ်သည်။ 1412 00:51:28,880 --> 00:51:30,800 for ကဲ့သို့သော ကိန်းပြည့်ဂဏန်းကို ပြန်ပေးသည်။ 1413 00:51:30,800 --> 00:51:33,839 ဥပမာ တစ်ခု သို့မဟုတ် သုညကို ပြန်ပေးသည်။ 1414 00:51:33,839 --> 00:51:35,440 function void ကို ခေါ်ပြီးတာနဲ့ 1415 00:51:35,440 --> 00:51:37,520 shell က ပြန်မလာဘူးလို့ ဆိုလိုတာပါ။ 1416 00:51:37,520 --> 00:51:38,960 ဘာမဆို 1417 00:51:38,960 --> 00:51:41,119 ငါတို့က ဘာမှပြန်မလိုချင်ဘူး။ 1418 00:51:41,119 --> 00:51:43,200 တကယ်တော့ ဒါက ကျွန်တော်တို့ရဲ့ အဓိက အစိတ်အပိုင်းမို့ပါ။ 1419 00:51:43,200 --> 00:51:44,960 အစီအစဉ်ကောင်းတယ်။ 1420 00:51:44,960 --> 00:51:47,760 ဒါကြောင့် open big brackets ကို ခေါ်ဖို့ လိုပါတယ်။ 1421 00:51:47,760 --> 00:51:48,800 သို့ 1422 00:51:48,800 --> 00:51:50,640 ကုဒ်ကို အမှန်တကယ် ပိုင်ဆိုင်အောင်လုပ်ပါ။ 1423 00:51:50,640 --> 00:51:52,880 function နဲ့ အခုပဲ ကျွန်တော်တို့ လုပ်တော့မယ်။ 1424 00:51:52,880 --> 00:51:55,200 မတူညီသော variable သုံးခုကို ခွဲဝေသတ်မှတ်ပါ။ 1425 00:51:55,200 --> 00:51:57,440 ဒီ function ထဲမှာ ပထမတစ်ခုပါ။ 1426 00:51:57,440 --> 00:52:00,559 buffer variable ဖြစ်မယ်။ 1427 00:52:00,559 --> 00:52:01,839 ၎င်းသည် ဇယားအမျိုးအစားတစ်ခု ဖြစ်လာမည်ဖြစ်သည်။ 1428 00:52:01,839 --> 00:52:05,119 variable ဖြစ်ပြီး ၎င်းသည် 1024 ပါဝင်မည်ဖြစ်သည်။ 1429 00:52:05,119 --> 00:52:08,079 memory of bytes အဆင်ပြေပါတယ်။ 1430 00:52:08,079 --> 00:52:10,559 ဒါဆို ဒီ variable ကို ဘာသုံးမလဲ။ 1431 00:52:10,559 --> 00:52:12,960 လက်ခံရယူရန် ကျွန်ုပ်တို့ အသုံးပြုတော့မည်လား။ 1432 00:52:12,960 --> 00:52:15,359 server မှ တကယ့် command မို့ပါ။ 1433 00:52:15,359 --> 00:52:17,359 ဒီမြင်ကွင်းကို ငါတို့မြင်ယောင်ကြည့်ရအောင် 1434 00:52:17,359 --> 00:52:19,599 ကျွန်ုပ်တို့၏ဆာဗာကိုအသုံးပြုသည်။ 1435 00:52:19,599 --> 00:52:22,000 ကျွန်ုပ်တို့သည် ကုဒ်မရသေးကြောင်း သတိပြုပါ။ 1436 00:52:22,000 --> 00:52:24,240 ပြီးတော့ ပစ်မှတ်ဆီကို အမိန့်ပေးတယ်။ 1437 00:52:24,240 --> 00:52:26,400 ဥပမာ ဒါကို ဖျက်ပစ်မယ်။ 1438 00:52:26,400 --> 00:52:28,800 ဖိုင်ဆိုတော့ အဲဒီ command က ဖြစ်မယ်။ 1439 00:52:28,800 --> 00:52:31,040 ဒီ variable မှာ သိမ်းထားပြီး ငါတို့သွားမယ်။ 1440 00:52:31,040 --> 00:52:33,359 အဲဒါကို ဒီမှာ ခေါ်ဖို့ 1441 00:52:33,359 --> 00:52:34,160 အဆင်ပြေပါတယ်။ 1442 00:52:34,160 --> 00:52:35,760 ဒီတော့ ကျွန်တော်တို့ သွားမယ့် ကိန်းရှင် 1443 00:52:35,760 --> 00:52:36,880 လိုပါတယ်။ 1444 00:52:36,880 --> 00:52:39,359 container variable ဖြစ်မယ်။ 1445 00:52:39,359 --> 00:52:42,079 အဲဒါကို container လို့ပဲ ခေါ်မယ်။ 1446 00:52:42,079 --> 00:52:43,920 ဤနေရာတွင် ဤကိန်းရှင်လည်းရှိသည်။ 1447 00:52:43,920 --> 00:52:47,520 1020 bytes ကြီးပြီး ငါလုပ်မယ်။ 1448 00:52:47,520 --> 00:52:49,839 တကယ့်အဆုံးကိုရောက်ရင် ရှင်းပြပါ။ 1449 00:52:49,839 --> 00:52:51,920 ဒီ function က ဘာကိုသုံးတာလဲ။ 1450 00:52:51,920 --> 00:52:53,359 ပြောင်းလဲနိုင်သော 1451 00:52:53,359 --> 00:52:54,960 နှင့်ကျွန်ုပ်တို့၏တတိယအမှန်တကယ်ကိန်းရှင် 1452 00:52:54,960 --> 00:52:55,680 လိုပါတယ်။ 1453 00:52:55,680 --> 00:52:58,640 စုစုပေါင်း အမှတ်အသား တုံ့ပြန်မှု ဖြစ်ပါသည်။ 1454 00:52:58,640 --> 00:53:00,400 ဤအမှန်တကယ်ကိန်းရှင်သည် ဖြစ်လိမ့်မည်။ 1455 00:53:00,400 --> 00:53:01,359 ရှိသည် 1456 00:53:01,359 --> 00:53:03,079 ၁၈ 1457 00:53:03,079 --> 00:53:06,559 384 bytes ဆိုတော့ ဒါက အများကြီးဖြစ်မယ်။ 1458 00:53:06,559 --> 00:53:08,960 ယခင် နှစ်ခုထက် ပိုကြီးသလား 1459 00:53:08,960 --> 00:53:11,599 ငါတို့ဘာကြောင့်အဲလိုလိုအပ်တယ်ဆိုတာ သိလိမ့်မယ်။ 1460 00:53:11,599 --> 00:53:13,359 ဒီ variable အားလုံးကို ဖန်တီးပြီးတာနဲ့ 1461 00:53:13,359 --> 00:53:15,280 အမှန်အတိုင်း ခုန်ဆင်းဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။ 1462 00:53:15,280 --> 00:53:18,640 loop သို့မဟုတ် ကျွန်ုပ်တို့၏ကိစ္စတွင် ကျွန်ုပ်တို့ကဲ့သို့ loop တစ်ခုရှိနေစဉ် 1463 00:53:18,640 --> 00:53:19,760 အရင်က 1464 00:53:19,760 --> 00:53:22,079 loop တစ်ခုက အဲဒါကို ဆိုလိုရင်းနဲ့ ရှင်းပြတယ်။ 1465 00:53:22,079 --> 00:53:26,160 သေချာသည်တိုင်အောင် အမြဲတစေ ပြန်ပြောနေမည်။ 1466 00:53:26,160 --> 00:53:28,559 break point ဟုခေါ်သည် သို့မဟုတ် အချို့သောအချိန်အထိ 1467 00:53:28,559 --> 00:53:31,680 တကယ့်အလုပ်က ပြီးသွားပြီ 1468 00:53:31,680 --> 00:53:33,760 ဒါကြောင့် ကျွန်တော်တို့ရဲ့ wow အတွက် ကွင်းပိတ်တွေကို ဖွင့်ကြည့်ရအောင် 1469 00:53:33,760 --> 00:53:36,000 loop မှတဆင့် 1470 00:53:36,000 --> 00:53:38,480 ဒီမှာ ငါတို့ ဖန်တီးမယ်။ 1471 00:53:38,480 --> 00:53:40,319 ငါတို့ဖန်တီးထားတဲ့အရာက အတူတူပါပဲ။ 1472 00:53:40,319 --> 00:53:42,480 windows main api entry function 1473 00:53:42,480 --> 00:53:44,400 ဒါ ဒီနေရာပဲဆိုတော့ ငါတို့သွားမယ်။ 1474 00:53:44,400 --> 00:53:46,880 ခုန်အချက်ဖန်တီးရန် 1475 00:53:46,880 --> 00:53:49,119 အဘယ်ကြောင့်ကျွန်ုပ်တို့လိုအပ်သည်ကိုသင်တွေ့လိမ့်မည်။ 1476 00:53:49,119 --> 00:53:51,119 ဒါကြောင့် အခုပဲ ကျွန်တော်တို့ကုဒ်ရေးတော့မယ်။ 1477 00:53:51,119 --> 00:53:53,760 ကျွန်ုပ်တို့၏ while loop အတွင်း၌ မည်သည့်အရာမျှ မမှီပါ။ 1478 00:53:53,760 --> 00:53:55,599 ခုန်တယ်လို့ ခေါ်လိမ့်မယ်။ 1479 00:53:55,599 --> 00:53:57,680 ဘာလို့လဲဆိုတော့ ငါတို့က ဒီကို ခုန်နေတာ 1480 00:53:57,680 --> 00:54:00,960 အချို့သောကွပ်မျက်ပြီးနောက်အမှတ် 1481 00:54:00,960 --> 00:54:02,240 အခု ငါတို့သွားမယ့်အရာ 1482 00:54:02,240 --> 00:54:04,160 ဒီသုံးခုကို ယူမယ်။ 1483 00:54:04,160 --> 00:54:05,599 ဤနေရာတွင် ကျွန်ုပ်တို့သည် ကိန်းရှင်များသာဖြစ်သည်။ 1484 00:54:05,599 --> 00:54:08,400 ဖန်တီးပြီး ခွဲဝေပေးပါမယ်။ 1485 00:54:08,400 --> 00:54:10,880 ၎င်းတို့သည် မှတ်ဉာဏ်အားလုံးအတွင်းရှိ သုညဖြစ်သည်။ 1486 00:54:10,880 --> 00:54:11,680 ယူ 1487 00:54:11,680 --> 00:54:13,920 ဒီတော့ ဥပမာ random တွေရှိတယ်။ 1488 00:54:13,920 --> 00:54:16,079 ဤ memory အတွင်းရှိ အမှန်တကယ် bytes နှင့် ကျွန်ုပ်တို့ 1489 00:54:16,079 --> 00:54:19,599 ၎င်းတို့အားလုံးကို သုညခွဲဝေပေးစေလိုပါသည်။ 1490 00:54:19,599 --> 00:54:21,920 windows c မှာ တစ်ခုရှိတယ်ဆိုတာ အခုမှသိတယ်။ 1491 00:54:21,920 --> 00:54:24,480 တကယ်တော့ memsat လို့ ခေါ်တဲ့ function ပါ။ 1492 00:54:24,480 --> 00:54:27,280 ယခင်က အသုံးပြုခဲ့သော ဤလုပ်ဆောင်ချက်သည် အမှန်တကယ်ဖြစ်သည်။ 1493 00:54:27,280 --> 00:54:29,280 အငြင်းအခုံသုံးခုကို ယူသည်။ 1494 00:54:29,280 --> 00:54:31,760 variable သည် ကျွန်ုပ်တို့လိုချင်သော bytes ကို အမည်ပေးသည်။ 1495 00:54:31,760 --> 00:54:34,079 overwrite လုပ်ပြီး ဘယ်အရွယ်အစားကို လိုချင်တာလဲ။ 1496 00:54:34,079 --> 00:54:35,599 ထပ်ရေးပါ။ 1497 00:54:35,599 --> 00:54:38,000 ဒါပေမယ့် ဒီလုပ်ဆောင်ချက်ကို မသုံးရအောင်ပါ။ 1498 00:54:38,000 --> 00:54:39,200 ငါတို့သွားမယ်။ 1499 00:54:39,200 --> 00:54:41,119 ဒီအထဲမှာ အကြိမ်ပေါင်းများစွာ သုံးပါတယ်။ 1500 00:54:41,119 --> 00:54:43,760 ပရိုဂရမ်က သေးငယ်တဲ့ လုပ်ဆောင်ချက်ကို ဖန်တီးကြည့်ရအောင် 1501 00:54:43,760 --> 00:54:46,799 အဲဒါက တူညီတဲ့တာဝန်ကို ထမ်းဆောင်တော့မယ်။ 1502 00:54:46,799 --> 00:54:49,760 ဒါကြောင့် b0 function ကို ဖန်တီးပါမယ်။ 1503 00:54:49,760 --> 00:54:52,319 ပြီးတော့ b0 က a လို့ သိချင်နေသူတွေအတွက်ပါ။ 1504 00:54:52,319 --> 00:54:54,960 function နဲ့ အတူတူပါပဲ။ 1505 00:54:54,960 --> 00:54:58,000 memory set သို့မဟုတ် memsit function သည်၎င်းဖြစ်သည်။ 1506 00:54:58,000 --> 00:54:59,920 linux တွင်အသုံးပြုနိုင်သည်။ 1507 00:54:59,920 --> 00:55:01,680 ဒါပေမယ့် ဒီပရိုဂရမ်က ဖြစ်မယ်ဆိုတာ သတိပြုပါ။ 1508 00:55:01,680 --> 00:55:04,079 ထို့ကြောင့် windows ပတ်ဝန်းကျင်တွင် run ပါ။ 1509 00:55:04,079 --> 00:55:07,040 b0 ကို ရိုးရိုးရှင်းရှင်းနဲ့ သုံးလို့မရဘူး 1510 00:55:07,040 --> 00:55:08,880 အလုပ်လုပ်ဖို့ မျှော်လင့်တယ်။ 1511 00:55:08,880 --> 00:55:11,119 ဒီ function ကို ဘယ်လို သတ်မှတ်ရမယ် 1512 00:55:11,119 --> 00:55:12,480 အဲဒါကို ငါတို့ သတ်မှတ်နိုင်မလား။ 1513 00:55:12,480 --> 00:55:15,760 c ၏အတွင်းတွင်ကျွန်ုပ်တို့သည် hashtag နှင့်သုံးနိုင်သည်။ 1514 00:55:15,760 --> 00:55:17,520 ထို့နောက်သတ်မှတ်ပါ။ 1515 00:55:17,520 --> 00:55:19,119 ပြီးရင် ငါတို့ 1516 00:55:19,119 --> 00:55:21,040 Function ၏အမည်ကိုခေါ်ဆိုပါ။ 1517 00:55:21,040 --> 00:55:23,119 b0 ဖြစ်မယ် ငါတို့ခေါ်တော့မယ်။ 1518 00:55:23,119 --> 00:55:25,760 linux function နှင့်တူသည်။ 1519 00:55:25,760 --> 00:55:27,520 ပြီးတော့ ဒီ b0 function က နှစ်ခုယူမယ်။ 1520 00:55:27,520 --> 00:55:29,520 parameters သုံးခုအစား ပထမ 1521 00:55:29,520 --> 00:55:31,599 တစ်ခုသည် အမှန်တကယ် parameter သို့မဟုတ် the ဖြစ်လိမ့်မည်။ 1522 00:55:31,599 --> 00:55:33,920 ကျွန်ုပ်တို့၏ကိစ္စနှင့် ဒုတိယတစ်ခုတွင် ပြောင်းလဲနိုင်သည်။ 1523 00:55:33,920 --> 00:55:36,400 အရွယ်အစားဖြစ်လိမ့်မည်။ 1524 00:55:36,400 --> 00:55:39,119 ဒါကြောင့် ဥပမာအနေနဲ့ ဒီကြားခံကို b0 ပေးချင်ပါတယ်။ 1525 00:55:39,119 --> 00:55:41,280 ဤနေရာတွင် ကျွန်ုပ်တို့သည် ကြားခံအဖြစ် သတ်မှတ်ပေးပါမည်။ 1526 00:55:41,280 --> 00:55:43,760 first argument နှင့် ထောင် 24 as 1527 00:55:43,760 --> 00:55:45,839 ဒုတိယအငြင်းအခုံ 1528 00:55:45,839 --> 00:55:47,520 ဒါ​ပေမယ့်​ ဒါက ကျွန်​​တော်​တို့လိုအပ်​တဲ့အရာအားလုံးမဟုတ်​ဘူး။ 1529 00:55:47,520 --> 00:55:50,160 အဲဒါကို ဘယ်လိုလုပ်ရမလဲ ဆိုတာလည်း ပြောဖို့လိုတယ်။ 1530 00:55:50,160 --> 00:55:52,240 ဒါကို ငါတို့က ရိုးရိုးရှင်းရှင်း လုပ်လို့ရတယ်။ 1531 00:55:52,240 --> 00:55:54,000 memory set function ကို အသုံးပြု၍ လုပ်ဆောင်မှု 1532 00:55:54,000 --> 00:55:56,160 ဒီအထဲမှာ သတ်မှတ်ထားပြီးသားပါ။ 1533 00:55:56,160 --> 00:55:57,520 ဘာသာစကား 1534 00:55:57,520 --> 00:56:00,000 အဲဒါကို လိုင်းတစ်ခုတည်းနဲ့ပဲ လုပ်နိုင်တယ်။ 1535 00:56:00,000 --> 00:56:01,520 void လို့ခေါ်တယ်။ 1536 00:56:01,520 --> 00:56:04,640 memory set function 1537 00:56:04,960 --> 00:56:06,640 သင်ဆိုလျှင် ငြင်းခုံမှု သုံးခုယူသည်။ 1538 00:56:06,640 --> 00:56:08,720 ပထမတစ်ခု ဖြစ်တော့မယ်ဆိုတာ သတိရပါ။ 1539 00:56:08,720 --> 00:56:09,440 အဆိုပါ 1540 00:56:09,440 --> 00:56:10,960 အမှန်တကယ် ဘောင် 1541 00:56:10,960 --> 00:56:13,359 p လို့ ခေါ်ရင် သတိထားပါ။ 1542 00:56:13,359 --> 00:56:15,200 ဒီနေရာမှာ မင်းအဲဒါကို အထဲမှာ ခေါ်ရမယ်။ 1543 00:56:15,200 --> 00:56:17,040 ဒီလုပ်ဆောင်ချက်ကို p 1544 00:56:17,040 --> 00:56:19,839 အဘယ်ကြောင့်ဆိုသော် ဤအရာသည် တစ်ခုတည်းသော ကြေငြာချက်ဖြစ်သည်။ 1545 00:56:19,839 --> 00:56:22,240 တူညီသော parameters များရှိရန်လိုအပ်သည်။ 1546 00:56:22,240 --> 00:56:23,119 အဆင်ပြေပါတယ်။ 1547 00:56:23,119 --> 00:56:26,559 အဲဒါပြီးရင် ကျွန်တော်တို့က ကော်မာပြီးတော့ သုညကို လုပ်ဆောင်ပါတယ်။ 1548 00:56:26,559 --> 00:56:30,000 ဘာလို့လဲ ဆိုတော့၊ 1549 00:56:30,000 --> 00:56:32,880 သုညနှင့် variable ၏မှတ်ဉာဏ် 1550 00:56:32,880 --> 00:56:34,559 နှင့် memory အတွင်းရှိတတိယ parameter 1551 00:56:34,559 --> 00:56:38,799 set function ကို size လို့ခေါ်ပါတယ်။ 1552 00:56:39,440 --> 00:56:42,319 ကောင်းပြီ ဒါဆိုငါတို့အားလုံးရပြီလားကြည့်ရအောင် 1553 00:56:42,319 --> 00:56:43,920 အရာအားလုံး 1554 00:56:43,920 --> 00:56:47,280 ကွင်းစကွင်းပိတ်တွေ မှန်နေတော့ အဖွင့်အပိတ် နှစ်ခုပါပါတယ်။ 1555 00:56:47,280 --> 00:56:49,359 ငါတို့မှာ ဒီနှစ်ခုရှိတယ် အားလုံးအဆင်ပြေတယ်။ 1556 00:56:49,359 --> 00:56:51,680 ကောင်းပါတယ် အရွယ်နဲ့ အတူတူပါပဲ။ 1557 00:56:51,680 --> 00:56:53,760 ဤနေရာတွင် ပြောင်းလဲနိုင်သော ပြောင်းလဲနိုင်သည်ဟု သင်ခေါ်ဆိုရန်လိုအပ်သည်။ 1558 00:56:53,760 --> 00:56:56,720 ဒီ function ရဲ့ အတွင်းမှာလည်း အတူတူပါပဲ။ 1559 00:56:56,720 --> 00:56:59,359 အခု ငါတို့ ဒါကို ကုဒ်ရေးထားတာ ငါတို့မှာရှိတယ်။ 1560 00:56:59,359 --> 00:57:01,920 ကျွန်ုပ်တို့ပရိုဂရမ်တွင် v0 လုပ်ဆောင်ချက်ကိုအသုံးပြုကြပါစို့ 1561 00:57:01,920 --> 00:57:04,720 ဒီမှာ 1562 00:57:05,119 --> 00:57:08,240 ကိန်းရှင်တစ်ခုစီတိုင်းကို b0 ပါမယ်။ 1563 00:57:08,240 --> 00:57:10,240 သုံးခုစလုံးကို ဒီမှာ ဖန်တီးထားတာ 1564 00:57:10,240 --> 00:57:14,000 သူတို့ထဲက ပထမဆုံး b0 နဲ့ သွားကြည့်ရအောင် 1565 00:57:14,000 --> 00:57:17,599 ပြီးတော့ buffer နဲ့ 1024 1566 00:57:17,599 --> 00:57:19,040 ငါတို့မြင်နိုင်သကဲ့သို့၎င်းသည်အရွယ်အစားဖြစ်သည်။ 1567 00:57:19,040 --> 00:57:20,559 ပြောင်းလဲနိုင်သော 1568 00:57:20,559 --> 00:57:23,119 ပြီးရင် ဒုတိယတစ်ခုကို ဆက်သွားနိုင်တယ်။ 1569 00:57:23,119 --> 00:57:26,160 b0 ဖြစ်မယ်။ 1570 00:57:26,160 --> 00:57:28,240 ကွန်တိန်နာ 1571 00:57:28,240 --> 00:57:31,200 နှင့်အခြားနည်းလမ်းကိုသင်သတ်မှတ်နိုင်သည်။ 1572 00:57:31,200 --> 00:57:35,280 variable ၏အရွယ်အစားသည် sizeof ဖြစ်သည်။ 1573 00:57:35,280 --> 00:57:37,839 c တွင်ရှိပြီးသားလုပ်ဆောင်ချက် 1574 00:57:37,839 --> 00:57:39,520 ပြီးမှ variable name ပါ။ 1575 00:57:39,520 --> 00:57:40,880 ကွန်တိန်နာ 1576 00:57:40,880 --> 00:57:43,359 ဒီတော့ ဒါက ငါတို့လုပ်နိုင်တဲ့ တခြားနည်းပဲ။ 1577 00:57:43,359 --> 00:57:47,119 ဒီနည်းလမ်းထက် ပိုကောင်းတဲ့နည်းလမ်းဖြစ်နိုင်ပါတယ်။ 1578 00:57:47,119 --> 00:57:48,720 ဒါကြောင့် လက်တွေ့မှာ ပိုကောင်းတဲ့ အလေ့အကျင့်တစ်ခုပါ။ 1579 00:57:48,720 --> 00:57:51,680 ကိန်းရှင် သုညဖြစ်ရန် ဤနည်းလမ်းကို အသုံးပြုပါ။ 1580 00:57:51,680 --> 00:57:54,640 တတိယ ကိန်းရှင်သည် ဖြစ်လိမ့်မည်။ 1581 00:57:54,640 --> 00:57:58,240 စုစုပေါင်း အမှတ်အသား တုံ့ပြန်မှု 1582 00:57:58,240 --> 00:58:02,880 ထို့နောက် စုစုပေါင်းစာချုပ်များ၏ အရွယ်အစား 1583 00:58:03,440 --> 00:58:04,400 အဆင်ပြေပါတယ်။ 1584 00:58:04,400 --> 00:58:06,160 ဒါဆို ဘယ်လိုသုံးရမလဲဆိုတာ ကြည့်လိုက်ကြရအောင် 1585 00:58:06,160 --> 00:58:08,319 ဤပြောင်းလဲမှုအားလုံး 1586 00:58:08,319 --> 00:58:10,559 အဲဒါကို စဉ်းစားကြည့်ရအောင် ဒါပထမဆုံးပဲ။ 1587 00:58:10,559 --> 00:58:12,640 ကျွန်ုပ်တို့၏ ပရိုဂရမ်သည် လုပ်ဆောင်ရန် လိုအပ်သည်။ 1588 00:58:12,640 --> 00:58:15,359 ကျွန်ုပ်တို့၏ဆာဗာမှအမိန့်ကိုလက်ခံပါ။ 1589 00:58:15,359 --> 00:58:17,280 ဒီတော့ ငါတို့က ဒါကို ဘယ်လိုလုပ် ကောင်းကောင်းလုပ်နိုင်မလဲ။ 1590 00:58:17,280 --> 00:58:20,000 လက်ခံသည့်လုပ်ဆောင်ချက်ကို အသုံးပြုသည်။ 1591 00:58:20,000 --> 00:58:22,160 ဒီ receive function လေးခုယူပါမယ်။ 1592 00:58:22,160 --> 00:58:24,160 ပထမတစ်ခုက ဖြစ်လာမယ့် ဘောင်တွေ 1593 00:58:24,160 --> 00:58:26,160 ငါတို့ဖန်တီးထားတဲ့ socket ပါ။ 1594 00:58:26,160 --> 00:58:28,240 ရိုးရိုးလေးပဲ စုတ်တယ် ငါမဟုတ်ရင် ခေါ်တယ်။ 1595 00:58:28,240 --> 00:58:30,160 မှားရင် စစ်ဆေးကြည့်ရအောင် 1596 00:58:30,160 --> 00:58:32,000 ဟုတ်ပါတယ် အဲဒါကို sock လို့ခေါ်တယ်။ 1597 00:58:32,000 --> 00:58:33,359 ပထမဘောင် 1598 00:58:33,359 --> 00:58:35,040 ဒီ function ကို 1599 00:58:35,040 --> 00:58:38,079 ၎င်းသည် ဤ socket တွင် bytes ကိုလက်ခံရရှိလိမ့်မည်။ 1600 00:58:38,079 --> 00:58:40,240 အရာဝတ္ထုကို ဘယ်မှာ သိမ်းဆည်းမလဲ။ 1601 00:58:40,240 --> 00:58:42,640 ဒုတိယ parameter တွေကို သိမ်းထားချင်ပါတယ်။ 1602 00:58:42,640 --> 00:58:45,040 ဆာဗာ သို့မဟုတ် အမှန်တကယ် တုံ့ပြန်မှု 1603 00:58:45,040 --> 00:58:47,040 ဤ variable ၏အတွင်းပိုင်း command များဖြစ်သည်။ 1604 00:58:47,040 --> 00:58:49,440 buffer variable ကို ရိုးရှင်းစွာ သတ်မှတ်ပေးပါသည်။ 1605 00:58:49,440 --> 00:58:52,640 ဒုတိယ parameter အဖြစ် ကြားခံ 1606 00:58:52,640 --> 00:58:54,559 တတိယ parameter သည် ဖြစ်လိမ့်မည်။ 1607 00:58:54,559 --> 00:58:56,480 ကျွန်ုပ်တို့ရှိနေသည့် variable ၏အရွယ်အစား 1608 00:58:56,480 --> 00:58:58,640 ကျွန်ုပ်တို့၏တုံ့ပြန်မှုကို သိမ်းဆည်းခြင်း။ 1609 00:58:58,640 --> 00:59:00,280 ဒါဖြစ်မယ်။ 1610 00:59:00,280 --> 00:59:02,480 1024 bytes 1611 00:59:02,480 --> 00:59:04,640 စတုတ္ထ parameter သည် ဖြစ်လိမ့်မည်။ 1612 00:59:04,640 --> 00:59:06,720 သုညဟု ဆိုလိုသည်မှာ ကျွန်ုပ်တို့မဟုတ်ပါ။ 1613 00:59:06,720 --> 00:59:09,680 အဲဒါတွေအပြင် တခြားဘာကိုမှ သတ်မှတ်ပေးတယ်။ 1614 00:59:09,680 --> 00:59:11,119 ဆင်ခြေသုံးခု 1615 00:59:11,119 --> 00:59:12,480 အဆင်ပြေပါတယ်။ 1616 00:59:12,480 --> 00:59:15,040 အခုလည်း ဒီဟာကို လက်ခံပြီးတာနဲ့ လုပ်နိုင်မှာပါ။ 1617 00:59:15,040 --> 00:59:18,480 ကျွန်ုပ်တို့၏ if-else ကြေညာချက်များကို ထည့်သွင်းပါ။ 1618 00:59:18,480 --> 00:59:21,119 ဒါကြောင့် နောက်ဗီဒီယိုအတွက် ချန်ထားလိုက်ရအောင် 1619 00:59:21,119 --> 00:59:22,799 လောလောဆယ်တော့ ဒါကို ရိုးရိုးရှင်းရှင်းပဲ စလုပ်တယ်။ 1620 00:59:22,799 --> 00:59:25,280 function သုံးမျိုးခွဲဝေပေးတယ်။ 1621 00:59:25,280 --> 00:59:27,680 ကိန်းရှင် (variables) သုံးခုလုံးကို ကျွန်ုပ်တို့ သုညပေးပါသည်။ 1622 00:59:27,680 --> 00:59:30,000 variables တွေနဲ့ command ကိုရခဲ့ပါတယ်။ 1623 00:59:30,000 --> 00:59:31,599 server မှ 1624 00:59:31,599 --> 00:59:33,680 အခု နောက် video မှာ ကြည့်ရတော့မယ်။ 1625 00:59:33,680 --> 00:59:35,839 အဲဒါကို ဘယ်လို အကောင်အထည်ဖော်နိုင်မလဲ။ 1626 00:59:35,839 --> 00:59:39,040 ကြည့်ရှုပြီး ဂရုစိုက်ပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ 1627 00:59:39,040 --> 00:59:41,440 ကြိုဆိုပါတယ် ဒီဗီဒီယိုလေးထဲမှာပါ။ 1628 00:59:41,440 --> 00:59:43,680 အားလုံးသိရင် ငါတို့နဲ့ စတင်တော့မယ်။ 1629 00:59:43,680 --> 00:59:46,799 ကျွန်ုပ်တို့၏ shell function အတွင်းရှိထုတ်ပြန်ချက်များ 1630 00:59:46,799 --> 00:59:48,880 အဲဒီတော့ ပထမဆုံးလုပ်ရမှာက 1631 00:59:48,880 --> 00:59:51,440 ဤကြားခံအား မတူညီသော နှိုင်းယှဥ်ပါ။ 1632 00:59:51,440 --> 00:59:52,880 အမိန့်များ 1633 00:59:52,880 --> 00:59:55,440 ဥပမာ ဆိုကြပါစို့ 1634 00:59:55,440 --> 00:59:58,000 ဆာဗာသည် ချိတ်ဆက်မှုမှ နုတ်ထွက်လိုသည်။ 1635 00:59:58,000 --> 00:59:59,520 ပစ်မှတ် 1636 00:59:59,520 --> 01:00:01,599 တစ်စုံတစ်ခုကို သတ်မှတ်ခြင်းဖြင့် ကျွန်ုပ်တို့ ပြုလုပ်နိုင်သည်။ 1637 01:00:01,599 --> 01:00:02,720 အဲဒါ 1638 01:00:02,720 --> 01:00:04,160 တိုတိုနှင့် 1639 01:00:04,160 --> 01:00:06,720 ဒါမှ တကယ့်အမှန် 1640 01:00:06,720 --> 01:00:08,880 ဤပရိုဂရမ်ကိုအသုံးပြုသူများသည်၎င်းကိုနားလည်နိုင်သည်။ 1641 01:00:08,880 --> 01:00:11,359 အဲဒီတော့ အဲဒါကို ကျွန်တော်တို့ ဘယ်လိုဆောင်ရွက်မလဲ။ 1642 01:00:11,359 --> 01:00:13,680 ကျွန်ုပ်တို့သည် dq command ကိုရိုးရှင်းစွာပေးပို့နိုင်သည်။ 1643 01:00:13,680 --> 01:00:16,400 ကျွန်ုပ်တို့၏ဆာဗာသည် ကျွန်ုပ်တို့၏အနောက်တံခါးဆီသို့ 1644 01:00:16,400 --> 01:00:18,079 ဒီမှာပဲခေါ်တယ်။ 1645 01:00:18,079 --> 01:00:20,079 နောက်တံခါးက ဒါကိုသိရမယ်။ 1646 01:00:20,079 --> 01:00:22,160 string အဖြစ် တန်းစီပါ။ 1647 01:00:22,160 --> 01:00:24,000 ပိတ်ချင်တယ်လို့ ညွှန်ပြလိမ့်မယ်။ 1648 01:00:24,000 --> 01:00:26,400 connection နဲ့ ပရိုဂရမ်ကို ဘယ်လိုပိတ်ရမလဲ 1649 01:00:26,400 --> 01:00:28,960 အဲဒါကို ရိုးရိုးရှင်းရှင်းပဲ အကောင်အထည်ဖော်နိုင်တယ်။ 1650 01:00:28,960 --> 01:00:30,640 q ရှိရင် နှိုင်းယှဉ်ပါ။ 1651 01:00:30,640 --> 01:00:34,079 buffer နှင့် ညီမျှသည် နှင့် ညီမျှသည် 1652 01:00:34,079 --> 01:00:36,319 buffer က socket ကိုပိတ်လိုက်ရုံပါပဲ။ 1653 01:00:36,319 --> 01:00:39,440 object လုပ်ပြီး program မှ ထွက်ပါ။ 1654 01:00:39,440 --> 01:00:41,200 ဒါပေမယ့် ဘယ်လိုမှ ယှဉ်လို့ မရဘူး။ 1655 01:00:41,200 --> 01:00:43,599 ဤလုပ်ဆောင်ချက်ကို ဤနေရာတွင် လုပ်ဆောင်ပါ။ 1656 01:00:43,599 --> 01:00:46,000 ကျွန်တော်တို့ လုပ်နိုင်တာက function တစ်ခုကို သုံးလို့ရတယ်။ 1657 01:00:46,000 --> 01:00:48,640 c language နဲ့ ပါပြီးသားပါ။ 1658 01:00:48,640 --> 01:00:51,359 string comparison ဟုခေါ်သည်။ 1659 01:00:51,359 --> 01:00:54,839 ဒါကြောင့် ဒါကို strn လို့ခေါ်တယ်။ 1660 01:00:54,839 --> 01:00:57,599 cmp နဲ့ ဒီ function က သုံးခုယူတယ်။ 1661 01:00:57,599 --> 01:00:59,359 ငြင်းခုံသည်။ 1662 01:00:59,359 --> 01:01:01,680 ပထမအငြင်းအခုံသည် string ဖြစ်လိမ့်မည်။ 1663 01:01:01,680 --> 01:01:03,359 ငါတို့ နှိုင်းယှဥ်၍ 1664 01:01:03,359 --> 01:01:05,680 ဒုတိယအငြင်းအခုံဖြစ်ပါမည်။ 1665 01:01:05,680 --> 01:01:07,200 ကျွန်ုပ်တို့ နှိုင်းယှဉ်ထားသော ကိန်းရှင် 1666 01:01:07,200 --> 01:01:09,680 string with နှင့် တတိယ argument သည် 1667 01:01:09,680 --> 01:01:10,720 ဖြစ်မယ်။ 1668 01:01:10,720 --> 01:01:13,280 ဇာတ်ကောင်ဘယ်လောက်ရှိလဲ နှိုင်းယှဉ်ကြည့်ရအောင် 1669 01:01:13,280 --> 01:01:15,280 ဤကိစ္စတွင် ကျွန်ုပ်တို့သည် တစ်ခုသာ နှိုင်းယှဉ်ပါသည်။ 1670 01:01:15,280 --> 01:01:16,559 ဇာတ်ကောင် 1671 01:01:16,559 --> 01:01:18,559 အခု ငါတို့ ဒါကို if ထဲမှာ ထည့်ရမယ်။ 1672 01:01:18,559 --> 01:01:20,400 ထုတ်ပြန်ချက် အရဆိုလျှင် 1673 01:01:20,400 --> 01:01:22,240 ပြီးလျှင် အကယ်၍ ကျွန်ုပ်တို့သည် ကွင်းပိတ်တစ်ခုကို ဖွင့်ပါမည်။ 1674 01:01:22,240 --> 01:01:24,960 ဒီစာကြောင်း နှိုင်းယှဉ် 1675 01:01:24,960 --> 01:01:27,920 ညီမျှခြင်း 0 နှင့် ညီမျှသည် အဘယ်ကြောင့်ဆိုသော် ၎င်းသည် ဖြစ်၏။ 1676 01:01:27,920 --> 01:01:31,599 q က ကြားခံနဲ့ ညီရင် ငါတို့နဲ့ ညီတယ်။ 1677 01:01:31,599 --> 01:01:33,359 0 ပြန်လာလိမ့်မယ်။ 1678 01:01:33,359 --> 01:01:35,040 အဘယ်ကြောင့်ဆိုသော် ၎င်းသည် ကိန်းပြည့် function တစ်ခုဖြစ်သောကြောင့် ဖြစ်သည်။ 1679 01:01:35,040 --> 01:01:37,599 တကယ့်ကိန်းပြည့်ဂဏန်းကို ပြန်ပေးပါလိမ့်မယ်။ 1680 01:01:37,599 --> 01:01:41,440 ၎င်းသည် ကိုက်ညီပါက သုညသို့ ပြန်သွားပါမည်။ 1681 01:01:41,440 --> 01:01:43,359 ထို့ကြောင့် သုညနှင့် ညီလျှင် ဆိုလိုသည်။ 1682 01:01:43,359 --> 01:01:44,960 ဆာဗာမှ နုတ်ထွက်လိုကြောင်း 1683 01:01:44,960 --> 01:01:48,079 ချိတ်ဆက်ပြီးတော့ ရိုးရိုးရှင်းရှင်းပဲ လုပ်လို့ရတယ်။ 1684 01:01:48,079 --> 01:01:49,680 အစီအစဉ်ကိုပိတ်ပါ။ 1685 01:01:49,680 --> 01:01:51,119 အရင်ဆုံး socket ကိုပိတ်လိုက်ပါ။ 1686 01:01:51,119 --> 01:01:53,359 object လုပ်ပြီး program ကိုပိတ်လိုက်ပါ။ 1687 01:01:53,359 --> 01:01:55,119 ဒါကြောင့် ပထမအချက်က ပိတ်တာကို ခေါ်မယ်။ 1688 01:01:55,119 --> 01:01:57,440 ပလပ်ပေါက် 1689 01:01:57,440 --> 01:02:00,400 ငါတို့ဖန်တီးထားတဲ့ sock object ပေါ်ကို 1690 01:02:00,400 --> 01:02:02,559 အဓိက လုပ်ဆောင်ရမယ့် အရာကတော့ ကျွန်တော်တို့ လုပ်ဖို့ လိုပါတယ်။ 1691 01:02:02,559 --> 01:02:04,480 လုပ်ဆောင်မည်ဖြစ်သောကြောင့် ၎င်းကိုလုပ်ဆောင်မည်ဖြစ်သည်။ 1692 01:02:04,480 --> 01:02:06,160 ပြတင်းပေါက်ပတ်ဝန်းကျင်မှာ ကျွန်တော်တို့သွားမယ်။ 1693 01:02:06,160 --> 01:02:10,000 wsa cleanup ကိုလုပ်ဆောင်ပါ။ 1694 01:02:11,520 --> 01:02:13,359 ပိတ်ပြီးရင် လုပ်ဆောင်ဖို့ လိုပါတယ်။ 1695 01:02:13,359 --> 01:02:15,440 ချိတ်ဆက်ပြီးတော့ ရိုးရိုးရှင်းရှင်း လုပ်လို့ရတယ်။ 1696 01:02:15,440 --> 01:02:18,640 ပရိုဂရမ်မှထွက်လိုက်ပါ။ 1697 01:02:18,720 --> 01:02:20,720 ဒါ ဒါပဲ ဒါအကုန်ပဲ။ 1698 01:02:20,720 --> 01:02:23,760 ဒီကိစ္စမှာ ကျွန်တော်တို့ လုပ်ဆောင်ဖို့ လိုတယ်။ 1699 01:02:23,760 --> 01:02:25,680 အမှန်တကယ် ဆာဗာက ထွက်ခွာလိုသည့်နေရာ 1700 01:02:25,680 --> 01:02:27,200 ချိတ်ဆက်မှု 1701 01:02:27,200 --> 01:02:30,480 အခြားမည်သည့်ကိစ္စတွင်မဆို၊ 1702 01:02:30,640 --> 01:02:34,920 ထိုအမိန့်ကို ကျွန်ုပ်တို့ လုပ်ဆောင်ပါမည်။ 1703 01:02:36,079 --> 01:02:37,280 ငါ့ကိုခွင့်ပြုပါ။ 1704 01:02:37,280 --> 01:02:39,520 ဒါကို နည်းနည်း ပိုလှအောင် လုပ်ပါ။ 1705 01:02:39,520 --> 01:02:43,680 ကွင်းစကွင်းပိတ်အားလုံးကို တစ်ခုပြီးတစ်ခု လိုက်နာနိုင်ပါတယ်။ 1706 01:02:45,119 --> 01:02:47,520 ဒါဆို command ကို ဘယ်လို execute လုပ်ရမလဲ 1707 01:02:47,520 --> 01:02:49,039 ငါတို့လုပ်ရမှာက ငါတို့က ယူဖို့လိုတယ်။ 1708 01:02:49,039 --> 01:02:51,599 string တွင်ပါရှိသော command ကို 1709 01:02:51,599 --> 01:02:53,839 ၎င်းသည် ဇာတ်ကောင်များစွာနှင့်သာဖြစ်သည်။ 1710 01:02:53,839 --> 01:02:56,079 ပရိုဂရမ်ကို ပြောသင့်တာက ဒါပါပဲ။ 1711 01:02:56,079 --> 01:02:58,799 သင့်စနစ်တွင်လည်ပတ်ပါ။ 1712 01:02:58,799 --> 01:03:00,799 ဒါလုပ်ဖို့အတွက် ငါတို့လုပ်မယ်။ 1713 01:03:00,799 --> 01:03:02,000 ကျွန်ုပ်တို့မရှိသောအရာကိုလုပ်ဆောင်ပါ။ 1714 01:03:02,000 --> 01:03:03,760 ယခင်လုပ်ဆောင်ခဲ့သည့်အရာ 1715 01:03:03,760 --> 01:03:06,400 file descriptors များဖန်တီးမှုဖြစ်ပါစေ။ 1716 01:03:06,400 --> 01:03:07,520 ဖိုင် 1717 01:03:07,520 --> 01:03:10,000 ဖော်ပြချက်များကို ဤကဲ့သို့ ဖန်တီးထားသည်။ 1718 01:03:10,000 --> 01:03:13,039 ဖိုင်သော့ချက်စာလုံးကို အရင်းအနှီးဖြင့် ရိုက်ပါ။ 1719 01:03:13,039 --> 01:03:15,839 ထို့နောက် ကြယ်ဆိုင်းဘုတ်၊ ထို့နောက် အမှန်တကယ် 1720 01:03:15,839 --> 01:03:17,839 ဖိုင်ဖော်ပြချက်၏အမည် 1721 01:03:17,839 --> 01:03:19,520 ညွှန်ပြမည်ဟုသာ ဆိုလိုသည်။ 1722 01:03:19,520 --> 01:03:21,599 အဲဒီမှတ်ဉာဏ်က အတိအကျပဲ။ 1723 01:03:21,599 --> 01:03:23,599 ပြီးတာနဲ့ ဖျော်ဖြေမယ်။ 1724 01:03:23,599 --> 01:03:26,640 ဖိုင်တစ်ခုဖွင့်ခြင်းနှင့်တူသောအရာ 1725 01:03:26,640 --> 01:03:28,319 ဖိုင်တစ်ခုဖွင့်ဖို့အတွက် သင်လုပ်နိုင်တယ်။ 1726 01:03:28,319 --> 01:03:30,880 ရိုးရိုး f လို့ ရိုက်ထည့်ပေမယ့် ကျွန်တော်တို့ မဖွင့်ပါဘူး။ 1727 01:03:30,880 --> 01:03:32,960 ကျွန်တော်ဖွင့်ချင်တဲ့ ဖိုင်တစ်ခုကို ဖွင့်ချင်တယ် 1728 01:03:32,960 --> 01:03:35,200 လုပ်ငန်းစဉ်တစ်ခုအနေနဲ့ ဘယ်လိုပဲသိမ်းထား၊ 1729 01:03:35,200 --> 01:03:37,839 ဤအမိန့်ကို တိကျသေချာသည့်အတိုင်း လုပ်ဆောင်မည်ဖြစ်သည်။ 1730 01:03:37,839 --> 01:03:39,920 လုပ်ငန်းစဉ် သို့မဟုတ် အချို့သော လုပ်ငန်းတာဝန်တစ်ရပ်အနေဖြင့် 1731 01:03:39,920 --> 01:03:41,599 စနစ်ကို အကောင်အထည်ဖော်သင့်သည်။ 1732 01:03:41,599 --> 01:03:45,599 ပြီးတော့ underscore p open ကိုသုံးနိုင်တယ်။ 1733 01:03:45,599 --> 01:03:47,119 အဲဒါလုပ်ဖို့ 1734 01:03:47,119 --> 01:03:48,880 ဒီ p open function က နှစ်ခုယူမယ်။ 1735 01:03:48,880 --> 01:03:51,039 ပထမတစ်ခုက ဖြစ်လာမယ့် ဘောင်တွေ 1736 01:03:51,039 --> 01:03:53,200 buffer မှဖတ်မည် 1737 01:03:53,200 --> 01:03:55,839 အမိန့်ပေးပြီးတော့ တကယ်ဖြစ်လာအောင်လုပ်တယ်။ 1738 01:03:55,839 --> 01:03:57,760 ၎င်းကိုသတ်မှတ်ရန်လိုအပ်သော command ကိုဖတ်ပါ။ 1739 01:03:57,760 --> 01:03:59,440 ဒုတိယ parameter အဖြစ် 1740 01:03:59,440 --> 01:04:02,160 double quotes ထဲမှာ r ကို သတ်မှတ်ပေးတယ်။ 1741 01:04:02,160 --> 01:04:03,599 ဖတ်ရန် ဆိုသည်မှာ 1742 01:04:03,599 --> 01:04:06,000 ဒါကြောင့် ရိုးရိုးရှင်းရှင်းပဲ ကျွန်တော်ပြောနေတာက ပရိုဂရမ်ကို ဖတ်ရပါတယ်။ 1743 01:04:06,000 --> 01:04:10,400 ဒီကြားခံကို အကောင်အထည်ဖော်လိုက်ပါ။ 1744 01:04:11,200 --> 01:04:13,440 ဒါပေမယ့် ဒီလောက်မရိုးရှင်းပါဘူး။ 1745 01:04:13,440 --> 01:04:15,680 ကျွန်ုပ်တို့သည်လည်း အမှန်တကယ် တုံ့ပြန်မှုရရန် လိုအပ်ပါသည်။ 1746 01:04:15,680 --> 01:04:17,119 ကွန်ပျူတာကနေ 1747 01:04:17,119 --> 01:04:19,280 ဒါကြောင့် တုံ့ပြန်ချက်ကို ကျွန်တော်တို့ဆီ ပြန်ပို့ချင်ပါတယ်။ 1748 01:04:19,280 --> 01:04:20,640 ဆာဗာ 1749 01:04:20,640 --> 01:04:22,960 while loop ကို အသုံးပြု၍ ပြုလုပ်နိုင်ပါသည်။ 1750 01:04:22,960 --> 01:04:24,480 ဤအရာအားလုံးကို မှတ်ထားသင့်သည်။ 1751 01:04:24,480 --> 01:04:26,480 ဤအရာသည် အခြားဖော်ပြချက်နှင့် သက်ဆိုင်ပါသည်။ 1752 01:04:26,480 --> 01:04:28,880 အဘယ့်ကြောင့် ဆိုင်းဘုတ်တပ်ထားသနည်း။ 1753 01:04:28,880 --> 01:04:31,440 ဒါဆို ခဏလေး ဆက်လိုက်ကြရအောင် 1754 01:04:31,440 --> 01:04:33,599 ပြီးတော့ f gets ကိုသုံးမယ်။ 1755 01:04:33,599 --> 01:04:35,280 လုပ်ဆောင်ချက် 1756 01:04:35,280 --> 01:04:36,880 f gets function သည် ရိုးရှင်းပါသည်။ 1757 01:04:36,880 --> 01:04:40,640 နောက်တစ်ခုက ကြိုးတစ်ချောင်းကို ယူလိုက်ရုံနဲ့ ရှင်းပြတယ်။ 1758 01:04:40,640 --> 01:04:43,760 variable သည် မတူညီသော variable သို့ပြောင်းလဲနိုင်သည်။ 1759 01:04:43,760 --> 01:04:45,359 ဒီတော့ ကျွန်တော်တို့ ကွန်တိန်နာကို သုံးတော့မယ်။ 1760 01:04:45,359 --> 01:04:47,599 သြော် ငါဒီနေရာမှာပဲ ဖွင့်ခွင့်ပြုပါ 1761 01:04:47,599 --> 01:04:50,000 ကွင်းပိတ် 1762 01:04:50,000 --> 01:04:52,559 f ရပြီးရင် ကွန်တိန်နာ 1763 01:04:52,559 --> 01:04:54,799 ပြီးတော့ ဒီမှာပဲ ရေးလိုက်မယ်။ 1764 01:04:54,799 --> 01:04:58,480 အဲဒါကို 1024 bytes နဲ့ ရှင်းပြမယ်။ 1765 01:04:58,480 --> 01:05:01,520 ပြီးရင် fp 1766 01:05:02,880 --> 01:05:05,119 ညီမျှသည်မဟုတ်။ 1767 01:05:05,119 --> 01:05:08,119 null 1768 01:05:08,400 --> 01:05:10,480 ထို့နောက် 1769 01:05:10,480 --> 01:05:12,720 ငါတို့ဘာလုပ်မယ် ငါတို့လုပ်မယ်။ 1770 01:05:12,720 --> 01:05:13,799 အသုံးပြု 1771 01:05:13,799 --> 01:05:16,240 strcat လုပ်ဆောင်ချက် 1772 01:05:16,240 --> 01:05:20,559 စုစုပေါင်း အမှတ်အသား တုံ့ပြန်မှုနှင့် ထို့နောက် 1773 01:05:20,839 --> 01:05:23,280 container ဆိုတော့ ဒါက ဘာလဲဆိုတာ ရှင်းပြရအောင် 1774 01:05:23,280 --> 01:05:24,160 လုပ်တာ 1775 01:05:24,160 --> 01:05:26,240 ပထမ ကျွန်ုပ်တို့တွင် မတူညီသော ကိန်းရှင်နှစ်ခုရှိသည်။ 1776 01:05:26,240 --> 01:05:28,559 တစ်လုံးသည် ကွန်တိန်နာဖြစ်ပြီး ဒုတိယတစ်ခုဖြစ်သည်။ 1777 01:05:28,559 --> 01:05:31,520 စုစုပေါင်းတုံ့ပြန်မှုဖြစ်သည်။ 1778 01:05:31,520 --> 01:05:33,599 ငါတို့ဒီမှာဘာလုပ်နေတာလဲ။ 1779 01:05:33,599 --> 01:05:35,119 ငါတို့စစ်ဆေးနေတာလား။ 1780 01:05:35,119 --> 01:05:36,400 တုံ့ပြန်မှုရှိရင် 1781 01:05:36,400 --> 01:05:40,240 2024 bytes နဲ့ အဆင်ပြေနိုင်ပါတယ်။ 1782 01:05:40,240 --> 01:05:42,079 ဒါဆို ဒီအတိုင်းသွားရအောင် ရှင်းပြရအောင် 1783 01:05:42,079 --> 01:05:44,000 နည်းနည်းပိုကောင်းပါတယ်။ 1784 01:05:44,000 --> 01:05:46,880 ဤစာကြောင်းတွင် ကျွန်ုပ်တို့သည် ကြားခံ သို့မဟုတ် လုပ်ဆောင်သည်။ 1785 01:05:46,880 --> 01:05:49,440 buffer အတွင်းရှိ command ကို 1786 01:05:49,440 --> 01:05:53,760 ပြီးတော့ ဒီ fp ထဲမှာလည်း သိမ်းထားတယ်။ 1787 01:05:53,760 --> 01:05:56,079 တုံ့ပြန်မှုကို ဤအထဲမှာ သိမ်းဆည်းပြီးသည်နှင့် 1788 01:05:56,079 --> 01:05:58,160 fp ဖိုင်ဖော်ပြချက် 1789 01:05:58,160 --> 01:06:00,319 အဲဒါကို ဖတ်ဖို့လိုတယ်။ 1790 01:06:00,319 --> 01:06:02,559 အတွင်း၌ အမှန်တကယ် အချက်အလက်ကို သိမ်းဆည်းပါ။ 1791 01:06:02,559 --> 01:06:04,559 ကွန်တိန်နာ 1792 01:06:04,559 --> 01:06:08,799 နှင့် container သည် 1024 bytes အရွယ်အစားဖြစ်သည်။ 1793 01:06:08,799 --> 01:06:11,280 အဲဒါကြောင့် ကျနော်တို့က while နဲ့ f ကိုသုံးတယ်။ 1794 01:06:11,280 --> 01:06:14,960 ကျွန်ုပ်တို့သည် 1024 bytes မှရရှိသည် 1795 01:06:14,960 --> 01:06:17,359 ကွန်တိန်နာအတွင်း ဖိုင်ဖော်ပြချက် 1796 01:06:17,359 --> 01:06:18,799 ပြောင်းလဲနိုင်သော 1797 01:06:18,799 --> 01:06:20,480 ဒါပေမယ့် တုံ့ပြန်မှုကို တွေးကြည့်ရအောင် 1798 01:06:20,480 --> 01:06:23,280 တကယ်တော့ 1024 bytes ထက် ပိုကြီးတယ်။ 1799 01:06:23,280 --> 01:06:24,559 ထို့နောက်ဖြစ်ပျက် 1800 01:06:24,559 --> 01:06:26,880 ကျွန်ုပ်တို့သည် 1024 bytes ထက်ပို၍ မသိမ်းဆည်းနိုင်ပါ။ 1801 01:06:26,880 --> 01:06:29,039 ကွန်တိန်နာအတွင်းမှ တုံ့ပြန်မှု 1802 01:06:29,039 --> 01:06:31,520 ဒီ့ထက် ပိုကြီးနိုင်တယ်၊ အဲဒါကြောင့် 1803 01:06:31,520 --> 01:06:33,839 ခဏအကြာတွင် loop မှတဆင့် iterating 1804 01:06:33,839 --> 01:06:37,839 ပထမဆုံး 1024 ကို ကူးထည့်လိုက်ရုံပါပဲ။ 1805 01:06:37,839 --> 01:06:39,760 အတွင်းရှိ ဖိုင်ဖော်ပြချက်မှ ဘိုက်များ 1806 01:06:39,760 --> 01:06:41,200 ကွန်တိန်နာ 1807 01:06:41,200 --> 01:06:43,280 ပြီးတော့ အဲဒါကို တကယ်ထည့်တယ်။ 1808 01:06:43,280 --> 01:06:45,920 container ထဲသို့စုစုပေါင်းတုံ့ပြန်မှုနှင့်အတူ 1809 01:06:45,920 --> 01:06:48,400 ဒီ string cat နည်းလမ်း 1810 01:06:48,400 --> 01:06:51,200 ဆိုလိုတာက ဒီလိုမျိုးပြောရအောင် 1811 01:06:51,200 --> 01:06:53,039 ဒါက တုံ့ပြန်မှုရဲ့ ပထမပိုင်းပါ။ 1812 01:06:53,039 --> 01:06:55,200 ဒါက ပထမဆုံး 1024 bytes ဆိုကြပါစို့ 1813 01:06:55,200 --> 01:06:57,440 တုံ့ပြန်မှုတွင် ကျွန်ုပ်တို့သည် ၎င်းကို ထည့်သွင်းထားသည်။ 1814 01:06:57,440 --> 01:07:00,160 container နဲ့ container ထဲက ကျနော်တို့ 1815 01:07:00,160 --> 01:07:02,160 ၎င်းကို အသုံးပြု၍ စုစုပေါင်းတုံ့ပြန်မှုတွင် ထည့်ပါ။ 1816 01:07:02,160 --> 01:07:04,799 ဒီလုပ်ဆောင်ချက်က ဒီမှာ 1817 01:07:04,799 --> 01:07:07,680 ထို့နောက် while loop သို့ ပြန်သွားပါမည်။ 1818 01:07:07,680 --> 01:07:10,400 ထို့နောက် 1024 ကိုပြောင်းသည်။ 1819 01:07:10,400 --> 01:07:12,960 bytes to the container ကွန်တိန်နာ 1820 01:07:12,960 --> 01:07:14,960 တစ်ဖန်ဖြစ်လိမ့်မည်။ 1821 01:07:14,960 --> 01:07:17,119 အခု bbb ဆိုကြပါစို့ 1822 01:07:17,119 --> 01:07:19,839 ပြီးရင် အဲဒီ bbb နဲ့ လွှဲပေးတယ်။ 1823 01:07:19,839 --> 01:07:22,400 ၎င်းကို ယခင် container နှင့် ချိတ်ဆက်ပါ။ 1824 01:07:22,400 --> 01:07:24,079 ၎င်းကို စုစုပေါင်းတုံ့ပြန်မှုဖြင့် သိမ်းဆည်းပါ။ 1825 01:07:24,079 --> 01:07:26,480 ဒီလိုဖြစ်မယ်။ 1826 01:07:26,480 --> 01:07:28,240 အခုဆို ကျွန်တော်တို့ရဲ့ စုစုပေါင်း တုံ့ပြန်မှုက အများကြီးပါ။ 1827 01:07:28,240 --> 01:07:30,240 တကယ့် container ထက် ပိုကြီးတယ်။ 1828 01:07:30,240 --> 01:07:32,880 အချက်အလက်အားလုံးကို သိမ်းဆည်းပါ။ 1829 01:07:32,880 --> 01:07:34,640 ဤအရာသည် ကျွန်ုပ်တို့၏ စုစုပေါင်းတုံ့ပြန်မှုဖြစ်လိမ့်မည်။ 1830 01:07:34,640 --> 01:07:36,480 ဒီကိစ်စ 1831 01:07:36,480 --> 01:07:38,640 ငါတို့လုပ်စရာရှိသမျှ 1832 01:07:38,640 --> 01:07:41,039 တကယ်က အဲဒီ စုစုပေါင်း တုံ့ပြန်မှုကို ပို့တာပါ။ 1833 01:07:41,039 --> 01:07:42,400 ဆာဗာ 1834 01:07:42,400 --> 01:07:44,960 ပြီးတော့ အပြင်မှာ လုပ်နိုင်တယ်။ 1835 01:07:44,960 --> 01:07:46,960 ကွင်းဆက်ဖြစ်သော်လည်း အခြားတစ်ခု၏အတွင်း၌ ရှိနေသေးသည်။ 1836 01:07:46,960 --> 01:07:49,680 send function ကိုအသုံးပြုပီးတော့ statement ပေါ့။ 1837 01:07:49,680 --> 01:07:50,559 ပို့ပါ။ 1838 01:07:50,559 --> 01:07:52,480 descend function သည် စတော့ရှယ်ယာအဖြစ် ယူသွားမည်ဖြစ်သည်။ 1839 01:07:52,480 --> 01:07:54,480 ပထမအငြင်းအခုံပြီးရင် အဲဒါက ယူလိမ့်မယ်။ 1840 01:07:54,480 --> 01:07:56,480 တစ်စက္ကန့်အဖြစ် စုစုပေါင်း အမှတ်အသား တုံ့ပြန်မှု 1841 01:07:56,480 --> 01:07:57,599 ဆင်ခြေ 1842 01:07:57,599 --> 01:07:59,440 တတိယအငြင်းအခုံ၏အရွယ်အစားဖြစ်လိမ့်မည်။ 1843 01:07:59,440 --> 01:08:02,559 စုစုပေါင်းတုံ့ပြန်မှု 1844 01:08:04,000 --> 01:08:05,920 စတုတ္ထအငြင်းအခုံသည် သုညဖြစ်လိမ့်မည်။ 1845 01:08:05,920 --> 01:08:08,000 သတ်မှတ်ခြင်းမပြုကြောင်း ဖော်ပြသည်။ 1846 01:08:08,000 --> 01:08:11,520 ဒီကလွဲရင် c မှာ တခါတည်းသင်တယ်။ 1847 01:08:11,520 --> 01:08:13,920 file descriptor ဖြင့် အလုပ်ပြီးအောင်လုပ်ပါ။ 1848 01:08:13,920 --> 01:08:17,279 f close ကို အသုံးပြု၍ ပိတ်ရန် လိုအပ်ပါသည်။ 1849 01:08:17,279 --> 01:08:18,560 လုပ်ဆောင်ချက် 1850 01:08:18,560 --> 01:08:21,279 ကွင်းစကွင်းပိတ်များတွင် သင်သည် မည်သည့်အရာကို ရိုးရိုးရှင်းရှင်း သတ်မှတ်ပါ။ 1851 01:08:21,279 --> 01:08:22,960 ဖိုင်ဖော်ပြချက်သည် ကျွန်ုပ်တို့၌ သင်ပိတ်နေသည်။ 1852 01:08:22,960 --> 01:08:26,000 အဲဒါကို fp လို့ ခေါ်တာဆိုတော့ ဒီမှာဘဲ 1853 01:08:26,000 --> 01:08:28,000 fb လို့ သတ်မှတ်ပါလိမ့်မယ်။ 1854 01:08:28,000 --> 01:08:29,839 ပြီးလျှင် အစက်နှင့်ကော်မာ 1855 01:08:29,839 --> 01:08:31,198 ဒီတော့ ဒါက ဒီအတွက်ပဲ ဖြစ်လိမ့်မယ်။ 1856 01:08:31,198 --> 01:08:33,439 ကျူတိုရီရယ်နှင့် ကျွန်ုပ်တို့ ဆက်လက်လုပ်ဆောင်ပါမည်။ 1857 01:08:33,439 --> 01:08:34,560 နောက်တစ်ခု 1858 01:08:34,560 --> 01:08:35,839 နှုတ်ဆက်ပါတယ်။ 1859 01:08:35,839 --> 01:08:38,479 အားလုံးပဲမင်္ဂလာပါ ဒီဗီဒီယိုထဲမှာ 1860 01:08:38,479 --> 01:08:41,198 ငါတို့ တကယ်ပဲ ငါတို့ထဲကို ခုန်ဆင်းမယ်။ 1861 01:08:41,198 --> 01:08:42,799 ကွဲပြားတဲ့ အစီအစဉ်တွေ ရှိလာမယ်။ 1862 01:08:42,799 --> 01:08:44,399 ကျွန်ုပ်တို့၏ဆာဗာ 1863 01:08:44,399 --> 01:08:46,238 ငါတို့မှာ တကယ်မရှိဘူးဆိုတာကို အခုငါသိတယ်။ 1864 01:08:46,238 --> 01:08:48,238 ငါတို့ရဲ့နောက်ကွယ်မှာ ပြီးသွားပေမယ့် ငါတို့မှာရှိတယ်။ 1865 01:08:48,238 --> 01:08:50,000 အဓိကအပိုင်းကိုပြီးပါပြီ။ 1866 01:08:50,000 --> 01:08:53,120 ပြီးအောင်လုပ်နိုင်တဲ့ ဖိုင်လေးကိုပဲ ထည့်ပါရစေ 1867 01:08:53,120 --> 01:08:55,679 အကောင်အထည်ဖော်ဆောင်ရန် အဓိကအပိုင်းဖြစ်သည်။ 1868 01:08:55,679 --> 01:08:56,960 အမိန့်များ 1869 01:08:56,960 --> 01:08:59,520 ဒါကြောင့် အခု သီအိုရီအရ ဒီဟာနဲ့ 1870 01:08:59,520 --> 01:09:01,839 ပရိုဂရမ်နဲ့ ဆင်တူတဲ့ တစ်ခုခုကို လုပ်နိုင်တယ်။ 1871 01:09:01,839 --> 01:09:04,080 ဒီ 1872 01:09:04,399 --> 01:09:06,399 ၎င်းသည် command များကိုလုပ်ဆောင်သည်။ 1873 01:09:06,399 --> 01:09:08,560 command prompt မှာလည်း အလားတူပါပဲ။ 1874 01:09:08,560 --> 01:09:10,799 ဥပမာပေးရရင် ရိုက်ပါ။ 1875 01:09:10,799 --> 01:09:12,158 ငါဘယ်သူလဲ 1876 01:09:12,158 --> 01:09:14,560 စာရိုက်ရင် output ပေးပါလိမ့်မယ်။ 1877 01:09:14,560 --> 01:09:18,000 ဤတွင် ၎င်းသည် ကျွန်ုပ်တို့အား အမှန်တကယ် uh ပေးလိမ့်မည်။ 1878 01:09:18,000 --> 01:09:20,238 directory နှင့် အတွင်းရှိ ဖိုင်များအားလုံး 1879 01:09:20,238 --> 01:09:23,198 အဲဒီ directory ကိုရဖို့အတွက် cd လို့ရိုက်ထည့်လို့ရပါတယ်။ 1880 01:09:23,198 --> 01:09:25,759 ဖိုင်တွေအကုန်လုံးကို ဖတ်နိုင်တဲ့လမ်းကြောင်း 1881 01:09:25,759 --> 01:09:27,679 စာရိုက်ပြီးရင် ဥပမာဆိုကြပါစို့ 1882 01:09:27,679 --> 01:09:29,920 ပစ်မှတ်တွင် password.txt ရှိသည်ဆိုပါစို့ 1883 01:09:29,920 --> 01:09:32,080 ငါတို့လိုချင်ရင် ဒီ command ကိုသုံးပြီးဖတ်ပါ။ 1884 01:09:32,080 --> 01:09:33,679 သို့ 1885 01:09:33,679 --> 01:09:35,759 သိမ်းထားသောကြိုးမဲ့အားလုံးကိုလည်း ရယူနိုင်သည်။ 1886 01:09:35,759 --> 01:09:37,920 မတူညီသော command များဖြင့် စကားဝှက်များ 1887 01:09:37,920 --> 01:09:40,399 ဒီသင်တန်းရဲ့အဆုံးမှာ ပြပေးပါ့မယ် 1888 01:09:40,399 --> 01:09:42,880 ဒါပေမယ့် ဆက်မထည့်ခင်မှာ 1889 01:09:42,880 --> 01:09:44,719 ဒီပရိုဂရမ်အတွက် ရွေးချယ်စရာတွေ အမျိုးမျိုးရှိတယ်။ 1890 01:09:44,719 --> 01:09:47,198 ဥပမာ keylogger လိုမျိုးပေါ့။ 1891 01:09:47,198 --> 01:09:49,040 စတင်တော့မည့် ဇွဲရှိမှု 1892 01:09:49,040 --> 01:09:52,560 program ကိုအလိုအလျောက် reboot ပြီးနောက် 1893 01:09:52,560 --> 01:09:54,719 ဥပမာအားဖြင့် စတင်သည်။ 1894 01:09:54,719 --> 01:09:56,400 ပြောင်းလဲနေတဲ့ ပရိုဂရမ်တွေနဲ့ မတူပါဘူး။ 1895 01:09:56,400 --> 01:09:58,080 ဒါရိုက်တာတွေလည်း ပါပါတယ်။ 1896 01:09:58,080 --> 01:10:00,800 ထည့်ဖို့ လိုတယ်ဟုတ်မဟုတ် ကြည့်လိုက်ရအောင် 1897 01:10:00,800 --> 01:10:02,880 အားလုံးရဲ့ပထမဆုံးအလုပ် 1898 01:10:02,880 --> 01:10:04,560 ဒါကို သိနိုင်ဖို့ အရင်လုပ်ပါ။ 1899 01:10:04,560 --> 01:10:06,320 ကျွန်ုပ်တို့သည် ဆာဗာကို ခေါ်ရန် လိုအပ်သော အလုပ်အားလုံး၏ 1900 01:10:06,320 --> 01:10:07,199 အပိုင်း 1901 01:10:07,199 --> 01:10:08,640 ဘယ်ဟာကို နားထောင်မလဲ။ 1902 01:10:08,640 --> 01:10:10,159 ချိတ်ဆက်မှု 1903 01:10:10,159 --> 01:10:12,239 အဲဒါကြောင့် ဒါကို ကယ်တင်မယ်။ 1904 01:10:12,239 --> 01:10:14,719 control o လုပ်ပြီး enter 1905 01:10:14,719 --> 01:10:19,120 ငါတို့ nano server dot c ကိုသွားမယ်။ 1906 01:10:19,120 --> 01:10:21,360 အဆင်ပြေပါတယ်။ 1907 01:10:21,679 --> 01:10:23,520 ပထမဆုံးအနေနဲ့ အားလုံးကို တင်သွင်းပါမယ်။ 1908 01:10:23,520 --> 01:10:25,520 လိုအပ်သော စာကြည့်တိုက်များ ရှိပါမည်။ 1909 01:10:25,520 --> 01:10:26,960 ပထမဆုံး ပါဝင်ပါတယ်။ 1910 01:10:26,960 --> 01:10:30,560 stdo dot h နဲ့ follow up လုပ်လိုက်ပါ။ 1911 01:10:30,560 --> 01:10:31,840 ဒီမှာ 1912 01:10:31,840 --> 01:10:34,800 ငါတို့အရင်ဆုံးလုပ်ရမယ်။ 1913 01:10:35,760 --> 01:10:38,880 ကောင်းပြီ ဒုတိယတစ်ခုဖြစ်မယ်။ 1914 01:10:38,880 --> 01:10:42,400 cis မျဉ်းစောင်း type.h 1915 01:10:42,400 --> 01:10:46,159 တတိယတစ်ခုက 4d socket ဖြစ်မယ်။ 1916 01:10:46,159 --> 01:10:48,560 အဲဒါက cis slash socket ဖြစ်မယ်။ 1917 01:10:48,560 --> 01:10:49,920 အစက်ဇ 1918 01:10:49,920 --> 01:10:52,239 အူးဒေါ့ဇ 1919 01:10:52,239 --> 01:10:54,640 အခု ကျွန်တော်တို့မှာ စာကြည့်တိုက်တွေ သိသိသာသာ နည်းလာတယ်။ 1920 01:10:54,640 --> 01:10:56,320 ဒါမှ ငါတို့မှာ သုံးယောက်ပဲ ရှိတယ်။ 1921 01:10:56,320 --> 01:10:57,679 နောက်ထပ်လေး 1922 01:10:57,679 --> 01:11:01,600 ဒီမှာ net inet သွားရအောင် 1923 01:11:01,600 --> 01:11:05,199 အစက် h တွင် မျဉ်းစောင်း 1924 01:11:05,520 --> 01:11:08,560 ပဉ္စမ သည် ဖြစ်လိမ့်မည်။ 1925 01:11:08,560 --> 01:11:12,480 ပုံမှန် stdlib.h ဖြစ်သည် 1926 01:11:12,480 --> 01:11:14,640 ဆဋ္ဌမ သည် ဖြစ်လိမ့်မည်။ 1927 01:11:14,640 --> 01:11:18,159 string.h ကို string manipulation အတွက် 1928 01:11:18,159 --> 01:11:20,880 ပထမတစ်ခုက ငါတို့မှာ နောက်ထပ် နှစ်ယောက်ရှိတယ်။ 1929 01:11:20,880 --> 01:11:23,440 ထူးခြားသော std 1930 01:11:23,440 --> 01:11:24,840 အစက် 1931 01:11:24,840 --> 01:11:30,000 h နောက်ဆုံးတစ်ခုက arpa ဖြစ်မယ်။ 1932 01:11:30,000 --> 01:11:33,679 slash inet dot h ဟုတ်ပြီ ဒါဆို ငါတို့ရပြီ။ 1933 01:11:33,679 --> 01:11:35,679 ကျွန်တော်တို့မှာ ပါဝင်တဲ့ စာကြည့်တိုက်တွေ အားလုံးရှိတယ်။ 1934 01:11:35,679 --> 01:11:38,400 ဒီဆာဗာအတွက် လိုအပ်တာတွေနဲ့ ဆက်သွားကြရအောင် 1935 01:11:38,400 --> 01:11:40,400 ယခုကျွန်ုပ်တို့၏အစီအစဉ်ကိုသတိရပါ။ 1936 01:11:40,400 --> 01:11:42,320 ဆာဗာပရိုဂရမ်တစ်ခုသာရှိသည်။ 1937 01:11:42,320 --> 01:11:44,159 အဓိကဖြစ်မယ့် function ပါ။ 1938 01:11:44,159 --> 01:11:47,040 function က သိသိသာသာ ဖြစ်ပါလိမ့်မယ်။ 1939 01:11:47,040 --> 01:11:49,199 backdoor ပရိုဂရမ်ထက် သေးငယ်သည်။ 1940 01:11:49,199 --> 01:11:51,600 အဘယ်ကြောင့်ဆိုသော် ဤနေရာ၌သာ ရှိသောကြောင့်ဖြစ်သည်။ 1941 01:11:51,600 --> 01:11:53,840 ချိတ်ဆက်မှုတစ်ခုဖန်တီးရန် သို့မဟုတ် နားထောင်ရန် 1942 01:11:53,840 --> 01:11:55,840 incoming connection နှင့် ပေးပို့ရန် 1943 01:11:55,840 --> 01:11:58,800 commands များနှင့် တုံ့ပြန်မှုကိုလည်း ရရှိသည်။ 1944 01:11:58,800 --> 01:12:01,120 ဒါဆို စဖွင့်တော့မယ်။ 1945 01:12:01,120 --> 01:12:02,800 ဤနေရာတွင် ကွင်းကွင်းကြီးများနှင့် 1946 01:12:02,800 --> 01:12:05,120 ဒီပရိုဂရမ်အတွင်းကအရာအားလုံးပါလိမ့်မယ်။ 1947 01:12:05,120 --> 01:12:06,960 ဤလုပ်ဆောင်ချက်နှင့်သက်ဆိုင်သည်။ 1948 01:12:06,960 --> 01:12:08,560 ပထမဆုံးအနေနဲ့ အားလုံးကို ဖန်တီးပါမယ်။ 1949 01:12:08,560 --> 01:12:10,159 ကျွန်ုပ်တို့လိုအပ်သော ကိန်းရှင်များ 1950 01:12:10,159 --> 01:12:11,520 socket ဖြစ်ပါစေ။ 1951 01:12:11,520 --> 01:12:13,679 နှင့် client socket 1952 01:12:13,679 --> 01:12:15,360 ယခုကျွန်ုပ်တို့သည် client socket ကိုလိုအပ်သောအကြောင်းရင်းဖြစ်သည်။ 1953 01:12:15,360 --> 01:12:17,520 ဘာလို့လဲဆိုတော့ ငါတို့က ငါတို့လိုအပ်နေတဲ့ server မို့လို့ 1954 01:12:17,520 --> 01:12:20,000 ကိုယ်ပိုင် socket နှင့် client စတင်သည်နှင့်တပြိုင်နက် 1955 01:12:20,000 --> 01:12:22,000 ကျွန်ုပ်တို့နှင့် ချိတ်ဆက်ရန်လည်း လိုအပ်ပါသည်။ 1956 01:12:22,000 --> 01:12:24,400 ဖောက်သည် socket ကို သိမ်းဆည်းထားသောကြောင့် ကျွန်ုပ်တို့ 1957 01:12:24,400 --> 01:12:26,480 socket objects နှစ်ခု ဖန်တီးနေတယ်ဗျ။ 1958 01:12:26,480 --> 01:12:28,880 ဤနေရာ သို့မဟုတ် ဤကိစ္စတွင် ကိန်းပြည့် နှစ်ခု မဟုတ်လား။ 1959 01:12:28,880 --> 01:12:29,840 ယခု 1960 01:12:29,840 --> 01:12:31,120 ငါတို့သွားမယ့် ဒုတိယအချက် 1961 01:12:31,120 --> 01:12:33,840 လိုအပ်ချက်က နောက်တစ်ကြိမ် ကြားခံဖြစ်မယ်။ 1962 01:12:33,840 --> 01:12:35,360 ငါတို့လုပ်ခဲ့တဲ့အတိုင်းပဲ။ 1963 01:12:35,360 --> 01:12:37,360 ငါတို့သွားမယ့် ကြားခံတွေနဲ့ backdoor.c 1964 01:12:37,360 --> 01:12:39,120 ဤနေရာတွင်လည်း အသုံးပြုပါ။ 1965 01:12:39,120 --> 01:12:42,719 အမိန့်ပို့ဆောင်ရန် 1966 01:12:43,520 --> 01:12:46,719 တုံ့ပြန်မှုလည်း လိုအပ်တယ်။ 1967 01:12:46,719 --> 01:12:49,280 တုံ့ပြန်မှု အရွယ်အစား တူညီရမည်။ 1968 01:12:49,280 --> 01:12:51,120 ကျွန်ုပ်တို့ထံမှ စုစုပေါင်းတုံ့ပြန်မှုအဖြစ် 1969 01:12:51,120 --> 01:12:52,640 backdoor.c 1970 01:12:52,640 --> 01:12:57,280 ကျွန်ုပ်တို့၏ဖြစ်ရပ်မှာ 18384 ဖြစ်သည်။ 1971 01:12:57,280 --> 01:12:59,520 ပိုကြီးတဲ့အကိုက်မဖြစ်နိုင်လို့ပါ။ 1972 01:12:59,520 --> 01:13:01,520 သေးတာဆိုတော့ ဒါတကယ်ဖြစ်လိမ့်မယ်။ 1973 01:13:01,520 --> 01:13:03,600 ကျွန်ုပ်တို့၏အတွင်းပိုင်းပြဿနာအချို့ကိုဖြစ်ပေါ်စေသည်။ 1974 01:13:03,600 --> 01:13:05,520 ပရိုဂရမ်းမင်းသည် အတူတူပင်ဖြစ်ရမည်။ 1975 01:13:05,520 --> 01:13:07,920 ကျောဘက်မှ စုစုပေါင်းတုံ့ပြန်မှုအဖြစ် အရွယ်အစား 1976 01:13:07,920 --> 01:13:10,000 တံခါး အဆင်ပြေပါတယ်။ 1977 01:13:10,000 --> 01:13:12,239 အခု ဖွဲ့စည်းပုံကို တင်သွင်းရမယ်။ 1978 01:13:12,239 --> 01:13:14,320 socket က အရမ်း struct ပါတယ်။ 1979 01:13:14,320 --> 01:13:17,600 suck addr က underscore ဝင်ပြီး အဲဒါကို လိုအပ်တယ်။ 1980 01:13:17,600 --> 01:13:19,840 ဆာဗာလိပ်စာအတွက် 1981 01:13:19,840 --> 01:13:21,760 ဒါက ငါတို့ရဲ့ ကိုယ်ပိုင်လိပ်စာနဲ့ ဖြစ်မယ်။ 1982 01:13:21,760 --> 01:13:23,840 client လိပ်စာ 1983 01:13:23,840 --> 01:13:25,920 ဒါကြောင့် ငါတို့နှစ်ယောက်လုံးကို ဖန်တီးတယ်။ 1984 01:13:25,920 --> 01:13:28,159 ယခုကျွန်ုပ်တို့၏အနောက်တံခါး၌ကျွန်ုပ်တို့သည်တစ်ခုသာဖန်တီးခဲ့သည်။ 1985 01:13:28,159 --> 01:13:29,760 ပစ်မှတ်ဖြစ်ခဲ့သည့် socket အရာဝတ္ထု 1986 01:13:29,760 --> 01:13:31,679 circuit object ဒါပေမယ့် ဒီကိစ္စမှာ ကျွန်တော်တို့ လိုအပ်တယ်။ 1987 01:13:31,679 --> 01:13:34,080 ကျွန်ုပ်တို့သည် ဆာဗာနှင့်ဖြစ်သောကြောင့် နှစ်ခုဖန်တီးရန် 1988 01:13:34,080 --> 01:13:37,520 ပစ်မှတ်ချိတ်ဆက်မှုကို လက်ခံရန်လိုအပ်သည်။ 1989 01:13:37,520 --> 01:13:39,679 ကျွန်ုပ်တို့သည်လည်း ကွဲပြားခြားနားမှုအနည်းငယ် လိုအပ်ပါသည်။ 1990 01:13:39,679 --> 01:13:42,080 ဤနေရာတွင် ကျွန်ုပ်ရှင်းပြမည့် ကိန်းပြည့်များ 1991 01:13:42,080 --> 01:13:43,920 သူတို့ဆီရောက်တာနဲ့ 1992 01:13:43,920 --> 01:13:46,480 ဒါကြောင့် ဒါက ပထမတစ်ခုနဲ့ အထက်တန်ဖိုးပါ။ 1993 01:13:46,480 --> 01:13:48,320 တစ်ခုနှင့်ညီမျှသည်။ 1994 01:13:48,320 --> 01:13:49,920 ဒါက ဒုတိယတစ်ခုပါ။ 1995 01:13:49,920 --> 01:13:52,320 နောက်ဆုံးလိုအပ်တာက အရှည်ပါ။ 1996 01:13:52,320 --> 01:13:54,159 ကျွန်ုပ်တို့လုပ်နိုင်သော client socket ၏ 1997 01:13:54,159 --> 01:13:57,520 ဤ sock len ကဲ့သို့သတ်မှတ်ပါ။ 1998 01:13:57,520 --> 01:14:02,080 ထို့နောက် client သည် အရှည်ကို အမှတ်အသားပြုပါ။ 1999 01:14:02,159 --> 01:14:04,000 ဤသုံးပါးကို သင်တို့မြင်ရလိမ့်မည်။ 2000 01:14:04,000 --> 01:14:06,400 အဘယ်ကြောင့်ကျွန်ုပ်တို့လိုအပ်သည်များကိုပြောင်းလဲနိုင်သည်။ 2001 01:14:06,400 --> 01:14:08,880 တစ်စက္ကန့်အတွင်းမို့ စိတ်မပူပါနဲ့။ 2002 01:14:08,880 --> 01:14:10,159 ငါတို့သွားမယ့် ပထမဆုံးအရာ 2003 01:14:10,159 --> 01:14:12,560 create က socket ဖြစ်မယ်။ 2004 01:14:12,560 --> 01:14:14,239 ကျွန်ုပ်တို့၏လုပ်ဆောင်မှုအတိုင်း ကျွန်ုပ်တို့လုပ်ဆောင်ပါ။ 2005 01:14:14,239 --> 01:14:16,159 backdoor ဖြစ်မယ့် socket နဲ့ 2006 01:14:16,159 --> 01:14:18,960 ထို့နောက် ပထမ parameter af underscore inet 2007 01:14:18,960 --> 01:14:21,040 အဲဒါဘာလဲ၊ အဲဒါကို ငါတို့ရှင်းပြပြီးပြီ။ 2008 01:14:21,040 --> 01:14:22,800 ဒုတိယ parameter သည် stock underscore ဖြစ်သည်။ 2009 01:14:22,800 --> 01:14:25,040 tcp ချိတ်ဆက်မှုအတွက် တိုက်ရိုက်ကြည့်ရှုပါ။ 2010 01:14:25,040 --> 01:14:27,440 တတိယ ဘောင်သည် သုည ဖြစ်လိမ့်မည်။ 2011 01:14:27,440 --> 01:14:28,960 ငါတို့တကယ်မလိုချင်ဘူးလို့ သတ်မှတ်တယ်။ 2012 01:14:28,960 --> 01:14:31,280 အခြားမည်သည့်အရာမဆို ယခု ကျွန်ုပ်တို့ သတ်မှတ်လိုပါသည်။ 2013 01:14:31,280 --> 01:14:33,360 socket ရွေးချယ်မှုအချို့နှင့်ကျွန်ုပ်တို့ 2014 01:14:33,360 --> 01:14:36,480 အဲဒါအတွက် ဒီ variable ကို သုံးတော့မယ်။ 2015 01:14:36,480 --> 01:14:38,560 ဒါကြောင့် 2016 01:14:38,560 --> 01:14:40,400 ရှိမရှိ စစ်ဆေးရန်အတွက် ကျွန်ုပ်တို့၏ setting သို့မဟုတ် 2017 01:14:40,400 --> 01:14:42,560 socket object အလုပ်ဖြစ်ရင် ကျွန်တော်တို့ သုံးရတော့မယ်။ 2018 01:14:42,560 --> 01:14:45,120 if statement က so if 2019 01:14:45,120 --> 01:14:48,000 စုတ်တံကို ရွေးပါ။ 2020 01:14:48,000 --> 01:14:50,800 ဖြစ်လာမည့် ကျွန်ုပ်တို့၏ socket ပေါ်သို့ 2021 01:14:50,800 --> 01:14:52,560 ဆာဗာ ပေါက်ပေါက် 2022 01:14:52,560 --> 01:14:53,920 ပြီးမှ အချို့ကို သတ်မှတ်ပါမယ်။ 2023 01:14:53,920 --> 01:14:56,719 parameters တွေကို ဒီမှာ so socket နဲ့ လုပ်ပြီး 2024 01:14:56,719 --> 01:14:59,040 ကျွန်ုပ်တို့အသုံးပြုသော underscore ကိုဖြေရှင်းပါ။ 2025 01:14:59,040 --> 01:15:00,960 addr 2026 01:15:00,960 --> 01:15:03,679 အခုပဲ ကျွန်တော်တို့ သတ်မှတ်တော့မယ်။ 2027 01:15:03,679 --> 01:15:05,920 opt value နှင့် opt value ၏အရွယ်အစား 2028 01:15:05,920 --> 01:15:08,960 ဘာဖြစ်လို့လဲဆိုတော့ အဲဒါက ကျွန်တော်တို့ သိမ်းထားရမယ့်နေရာပါ။ 2029 01:15:08,960 --> 01:15:10,480 ရလဒ် 2030 01:15:10,480 --> 01:15:12,640 ဒါကြောင့် ဒီဆိုင်းဘုတ်ကို သတ်မှတ်မယ်။ 2031 01:15:12,640 --> 01:15:14,400 ဤနေရာ၌ ဤနိမိတ်လက္ခဏာကို မှတ်မိလျှင်၊ 2032 01:15:14,400 --> 01:15:16,400 a ၏ memory address ကိုညွှန်ပြသည်။ 2033 01:15:16,400 --> 01:15:18,159 မှန်ကန်စေမယ့် သီးခြား variable 2034 01:15:18,159 --> 01:15:20,080 ငါတို့ကိစ္စပြီးရင် အဲဒါဖြစ်မယ်။ 2035 01:15:20,080 --> 01:15:21,760 ခဏဖယ် 2036 01:15:21,760 --> 01:15:23,920 ဤနောက်ဆုံးဘောင်သည် ဖြစ်လိမ့်မည်။ 2037 01:15:23,920 --> 01:15:27,760 optwell ၏အရွယ်အစား 2038 01:15:28,400 --> 01:15:29,440 အဆင်ပြေပါတယ်။ 2039 01:15:29,440 --> 01:15:33,600 ယခု သုညထက် သေးလျှင် 2040 01:15:33,600 --> 01:15:35,360 တစ်ခုခုမှားနေပြီဟု ဆိုလိုသည်။ 2041 01:15:35,360 --> 01:15:37,280 socket object ကို သတ်မှတ်ခြင်း။ 2042 01:15:37,280 --> 01:15:40,159 ပြီးတော့ ကျွန်တော်တို့ အစီအစဉ်ကနေ ထွက်သွားမယ်။ 2043 01:15:40,159 --> 01:15:44,239 ဒါကြောင့် အရင်ဆုံး printf ကို printf လုပ်ပါမယ်။ 2044 01:15:44,239 --> 01:15:46,960 အမှားပြင်ဆင်ခြင်း။ 2045 01:15:46,960 --> 01:15:50,800 tcp socket ရွေးချယ်မှုများ 2046 01:15:50,800 --> 01:15:52,560 မျဉ်းအသစ်ကို သတ်မှတ်နိုင်ပါတယ်။ 2047 01:15:52,560 --> 01:15:54,800 ဒီမှာ ဇာတ်ကောင် 2048 01:15:54,800 --> 01:15:56,880 အစက်နှင့်ကော်မာထည့်ရန်သေချာပါစေ။ 2049 01:15:56,880 --> 01:15:59,440 အကုန်ပြီးရင် ပြန်လာမယ်။ 2050 01:15:59,440 --> 01:16:01,199 တစ်ခု 2051 01:16:01,199 --> 01:16:05,199 ကောင်းပြီ ဆိုတော့ ဒါက တစ်ခုပဲ မှတ်ထား 2052 01:16:05,199 --> 01:16:07,120 ကိန်းပြည့်လုပ်ဆောင်ချက်ကြောင့် ကျွန်ုပ်တို့သည် an ကို ပြန်ပေးသည်။ 2053 01:16:07,120 --> 01:16:08,960 ကိန်းပြည့် ထွက်လာတယ်။ 2054 01:16:08,960 --> 01:16:10,800 ဒါပေမယ့် အဲဒါက အလုပ်ဖြစ်ရင် ငါတို့ လုပ်မယ်။ 2055 01:16:10,800 --> 01:16:12,400 ကျွန်ုပ်တို့၏ ကွပ်မျက်ခြင်းနှင့်အတူ ဆက်လက်လုပ်ဆောင်ပါ။ 2056 01:16:12,400 --> 01:16:14,159 ပရိုဂရမ်ကို အတူတူလုပ်ဆောင်ဖို့ လိုပါတယ်။ 2057 01:16:14,159 --> 01:16:16,400 ငါတို့အရင်က လုပ်ခဲ့တဲ့အရာတွေ 2058 01:16:16,400 --> 01:16:17,840 ဒါကြောင့် အရင်ဆုံးလုပ်ရမှာက ငါတို့လိုတယ်။ 2059 01:16:17,840 --> 01:16:21,199 ကျွန်ုပ်တို့၏ဆာဗာလိပ်စာကို သတ်မှတ်ရန် 2060 01:16:21,199 --> 01:16:23,840 ၎င်း၏လိုအပ်သော parameters များအားလုံးနှင့်အတူ 2061 01:16:23,840 --> 01:16:27,440 မိသားစု ip address နှင့် port ကို 2062 01:16:27,440 --> 01:16:29,199 ချိတ်ဆက်မှုအရေအတွက် 2063 01:16:29,199 --> 01:16:31,199 အဲဒါကို backdoor မှာ လုပ်တယ်။ 2064 01:16:31,199 --> 01:16:33,199 ကောင်းပြီ ဒါဆို ဒီမှာလုပ်ကြရအောင် 2065 01:16:33,199 --> 01:16:36,159 syn underscore မိသားစု 2066 01:16:36,159 --> 01:16:39,440 af underscore inet နှင့် ညီမျှသည်။ 2067 01:16:39,440 --> 01:16:43,520 ထို့နောက် ဆာဗာလိပ်စာကို အမှတ်အသားပြုပါ။ 2068 01:16:43,520 --> 01:16:46,320 dot syn underscore r အစက် s ကိုထည့်ပါ။ 2069 01:16:46,320 --> 01:16:48,159 ကြော်ငြာထည့်ပါ။ 2070 01:16:48,159 --> 01:16:51,199 inet underscore ldr နှင့် ညီမျှသည်။ 2071 01:16:51,199 --> 01:16:54,000 ကျွန်ုပ်တို့၏ kali linux ၏ ip လိပ်စာ 2072 01:16:54,000 --> 01:16:58,840 ကျွန်တော်ယုံကြည်တဲ့စက်က 192.168.1.8 ပါ။ 2073 01:16:59,360 --> 01:17:01,920 သို့မဟုတ် ရိုးရှင်းစွာ ဤအရာသည် ip လိပ်စာဖြစ်လိမ့်မည်။ 2074 01:17:01,920 --> 01:17:04,400 သင်၏ဟက်ကာစက်သို့မဟုတ်အခြေခံအားဖြင့် 2075 01:17:04,400 --> 01:17:06,159 သင်တိုက်ခိုက်နေသောစက် 2076 01:17:06,159 --> 01:17:07,920 ပစ်မှတ် ဟုတ်ပါတယ်။ 2077 01:17:07,920 --> 01:17:10,239 ဒါကြောင့် delta ကော်မာနဲ့ နောက်ဆုံးကို ထည့်ကြည့်ရအောင် 2078 01:17:10,239 --> 01:17:12,159 parameter သည် server ဖြစ်လိမ့်မည်။ 2079 01:17:12,159 --> 01:17:13,760 အမှတ်အသား လိပ်စာ 2080 01:17:13,760 --> 01:17:14,840 အစက် 2081 01:17:14,840 --> 01:17:17,600 အပြစ် underscore ဆိပ်ကမ်း 2082 01:17:17,600 --> 01:17:19,760 h တန်နှင့် ညီမျှသည်။ 2083 01:17:19,760 --> 01:17:21,280 ပြောင်းပေးမယ့် function တစ်ခုပါ။ 2084 01:17:21,280 --> 01:17:23,280 port နံပါတ် 2085 01:17:23,280 --> 01:17:25,440 ငါတို့က ဒီ port နံပါတ်ကို သုံးတယ်ထင်တယ် ဒါပေမယ့် အဲဒါ 2086 01:17:25,440 --> 01:17:27,440 မည်သည့် port ကိုသုံးသည်ဖြစ်စေ အရေးမကြီးပါ။ 2087 01:17:27,440 --> 01:17:30,159 အလကားမရသရွေ့၊ 2088 01:17:30,159 --> 01:17:32,239 အခြားဆော့ဖ်ဝဲအချို့ 2089 01:17:32,239 --> 01:17:33,920 နောက်တစ်ခုက ကျွန်တော်တို့ လုပ်ရမယ့်အရာ 2090 01:17:33,920 --> 01:17:36,000 ကျွန်ုပ်တို့သည် အတွင်း၌ အမှန်တကယ် မစွမ်းဆောင်နိုင်သေးပါ။ 2091 01:17:36,000 --> 01:17:38,320 ဒါက function တစ်ခုဖြစ်လို့ backdoor ပါ။ 2092 01:17:38,320 --> 01:17:40,239 ဆာဗာသည် မည်သည့်အရာလုပ်ဆောင်ရမည်ကို 2093 01:17:40,239 --> 01:17:43,199 ဆာဗာ ip နှင့် ဆာဗာကို စည်းနှောင်ထားသည်။ 2094 01:17:43,199 --> 01:17:45,360 port နဲ့ byte ကိုသုံးပြီး အဲဒါကို လုပ်နိုင်ပါတယ်။ 2095 01:17:45,360 --> 01:17:47,360 function ပထမ parameter ကိုသွားပါ။ 2096 01:17:47,360 --> 01:17:49,760 ဒုတိယ parameter သည် စတော့ရှယ်ယာဖြစ်ရမည်။ 2097 01:17:49,760 --> 01:17:54,719 stock adr ရဲ့ ဖွဲ့စည်းပုံဖြစ်မယ်။ 2098 01:17:55,040 --> 01:17:58,480 ဆာဗာလိပ်စာကို ညွှန်ပြရခြင်း 2099 01:17:58,480 --> 01:18:00,480 ဆာဗာလိပ်စာ 2100 01:18:00,480 --> 01:18:02,880 တကယ်တော့ ဒီအချက်အလက်တွေ ကျွန်တော်တို့မှာ ရှိပါတယ်။ 2101 01:18:02,880 --> 01:18:05,360 အမှန်တကယ် ချည်နှောင်ရန် လိုအပ်သည်။ 2102 01:18:05,360 --> 01:18:07,520 connection ကောင်းတယ်။ 2103 01:18:07,520 --> 01:18:09,199 နောက်ဆုံး parameter က ဖြစ်မယ်။ 2104 01:18:09,199 --> 01:18:13,320 ဆာဗာလိပ်စာ၏အရွယ်အစား 2105 01:18:14,560 --> 01:18:15,440 အဆင်ပြေပါတယ်။ 2106 01:18:15,440 --> 01:18:17,199 ဒါကြောင့် ဒီလုပ်ဆောင်ချက်ကို သင်သတိထားမိပါလိမ့်မယ်။ 2107 01:18:17,199 --> 01:18:19,040 connect function နဲ့ ဆင်တူပါတယ်။ 2108 01:18:19,040 --> 01:18:20,880 နောက်တံခါး၏အတွင်းပိုင်း 2109 01:18:20,880 --> 01:18:22,960 လောလောဆယ်တော့ ကျနော်တို့ နားထောင်ဖို့ လိုတယ်။ 2110 01:18:22,960 --> 01:18:25,360 ကျွန်ုပ်တို့အသုံးပြုသည့် အဝင်ချိတ်ဆက်မှုများ 2111 01:18:25,360 --> 01:18:26,960 ဒီ function က Listen ပါ။ 2112 01:18:26,960 --> 01:18:29,120 function သည် argument နှစ်ခုကို ယူသည်။ 2113 01:18:29,120 --> 01:18:31,120 ကျွန်တော်တို့ နားထောင်နေတဲ့ socket နဲ့ 2114 01:18:31,120 --> 01:18:33,280 ကျွန်ုပ်တို့လက်ခံလိုသော ဆက်သွယ်မှုပမာဏ 2115 01:18:33,280 --> 01:18:34,719 ဒီတော့ ဒီကိစ္စမှာ 2116 01:18:34,719 --> 01:18:37,360 ငါးခုကို အဲလို သတ်မှတ်ကြည့်ရအောင် 2117 01:18:37,360 --> 01:18:39,280 နောက်တစ်ခုက Client ဖြစ်မယ်။ 2118 01:18:39,280 --> 01:18:41,840 အရှည် 2119 01:18:43,360 --> 01:18:45,040 ငါတို့တကယ် 2120 01:18:45,040 --> 01:18:47,120 ဒီမှာ ဖန်တီးယူရတော့မယ်။ 2121 01:18:47,120 --> 01:18:49,840 client address ရဲ့ အရှည်ဆိုတော့ ကျွန်တော်တို 2122 01:18:49,840 --> 01:18:52,080 ဤ client length ကဲ့သို့ သတ်မှတ်နိုင်သည်။ 2123 01:18:52,080 --> 01:18:54,880 အရွယ်အစားတူညီလိမ့်မည်။ 2124 01:18:54,880 --> 01:18:58,400 client လိပ်စာ 2125 01:18:58,400 --> 01:18:59,679 လွယ်ပါတယ်။ 2126 01:18:59,679 --> 01:19:01,199 ငါတို့မတည်ထောင်မီ နောက်ဆုံးအရာ 2127 01:19:01,199 --> 01:19:03,679 ချိတ်ဆက်မှု သည် ဖြစ်လိမ့်မည်။ 2128 01:19:03,679 --> 01:19:06,400 ချိတ်ဆက်မှုတောင်းဆိုမှုကိုလက်ခံခြင်းနှင့် 2129 01:19:06,400 --> 01:19:08,960 ရိုးရှင်းစွာခေါ်ဆိုခြင်းဖြင့် ကျွန်ုပ်တို့ပြုလုပ်နိုင်ပါသည်။ 2130 01:19:08,960 --> 01:19:11,040 function ကိုလက်ခံပြီးရလဒ်ကိုသိမ်းဆည်းပါ။ 2131 01:19:11,040 --> 01:19:13,280 client socket အတွင်းမှာ 2132 01:19:13,280 --> 01:19:15,199 အဘယ်ကြောင့်ဆိုသော် လက်ခံသည့်လုပ်ဆောင်ချက်သည် ပြန်လာမည်ဖြစ်သည်။ 2133 01:19:15,199 --> 01:19:17,440 client socket သို့မဟုတ် ပစ်မှတ် socket 2134 01:19:17,440 --> 01:19:19,920 ငါတို့ကိစ္စနဲ့ ငါတို့က အဲဒါကို သိမ်းထားချင်တယ်။ 2135 01:19:19,920 --> 01:19:22,080 ဒီ variable ကို ဒီနေရာက ပေးပါလိမ့်မယ်။ 2136 01:19:22,080 --> 01:19:25,840 ထို့နောက် ပစ်မှတ်နှင့် ဆက်သွယ်ရန် အသုံးပြုပါ။ 2137 01:19:25,840 --> 01:19:29,040 ကောင်းပြီ ဒါဆို လက်ခံလိုက်ပါ။ 2138 01:19:29,040 --> 01:19:31,199 ပြီးရင် ပထမ parameter က socket ပါ။ 2139 01:19:31,199 --> 01:19:33,199 ဒါမှမဟုတ် ငါတို့ကိစ္စမှာ ခြေအိတ်ပဲရှိတယ်။ 2140 01:19:33,199 --> 01:19:34,880 ဒုတိယ parameter သည် ဤတစ်ကြိမ်ဖြစ်သည်။ 2141 01:19:34,880 --> 01:19:38,640 စတော့လိပ်စာဖွဲ့စည်းပုံကို ညွှန်ပြသည်။ 2142 01:19:38,640 --> 01:19:41,360 client ၏မှတ်ဉာဏ်တည်နေရာသို့ 2143 01:19:41,360 --> 01:19:43,600 အမှတ်အသား လိပ်စာ 2144 01:19:43,600 --> 01:19:45,360 နှင့်အရွယ်အစား 2145 01:19:45,360 --> 01:19:47,360 အမှန်တကယ် client ၏ 2146 01:19:47,360 --> 01:19:49,360 ဤကဲ့သို့ သတ်မှတ်နိုင်သော လိပ်စာ 2147 01:19:49,360 --> 01:19:51,120 ဒီတော့ client 2148 01:19:51,120 --> 01:19:52,560 အရှည် 2149 01:19:52,560 --> 01:19:54,960 ဘာလို့လဲဆိုတော့ ဒီ variable ကို ဒီမှာ သိမ်းထားလို့ပါ။ 2150 01:19:54,960 --> 01:19:57,360 အဲဒါက client လိပ်စာရဲ့ အရွယ်အစား 2151 01:19:57,360 --> 01:19:59,600 ဘာကြောင့် ဒီလိုမျိုး သတ်မှတ်နိုင်တာလဲ။ 2152 01:19:59,600 --> 01:20:00,560 အဆင်ပြေပါတယ်။ 2153 01:20:00,560 --> 01:20:02,719 ဒါကြောင့် ဒါက ကျွန်တော်တို့ရဲ့ ပင်မအပိုင်းရဲ့ ပထမပိုင်းပါ။ 2154 01:20:02,719 --> 01:20:04,560 function ဒုတိယအပိုင်းဖြစ်သည့် a 2155 01:20:04,560 --> 01:20:05,920 အများကြီးပိုလွယ်တယ်။ 2156 01:20:05,920 --> 01:20:07,679 အဘယ်ကြောင့်ဆိုသော် ၎င်းသည် ခဏတာမျှသာ မှန်သောကြောင့်ဖြစ်သည်။ 2157 01:20:07,679 --> 01:20:10,080 loop တွေ ထပ်ပြီး ကွဲပြားပါတယ်။ 2158 01:20:10,080 --> 01:20:11,120 အမိန့်များ 2159 01:20:11,120 --> 01:20:12,480 အဲဒါကို နောက်တစ်ကြိမ်လုပ်မယ်။ 2160 01:20:12,480 --> 01:20:14,560 Tutorial ဆိုတော့ အရင်ဦးဆုံးပေါ့။ 2161 01:20:14,560 --> 01:20:16,320 ဒါကိုနားလည်အောင်ကြိုးစားပါ။ 2162 01:20:16,320 --> 01:20:18,400 မင်းလုပ်နေတာလား ငါသိလို့ ဖြစ်နိုင်တယ်။ 2163 01:20:18,400 --> 01:20:20,239 socket programming က တကယ်ဖြစ်နိုင်ပါတယ်။ 2164 01:20:20,239 --> 01:20:22,400 အထူးသဖြင့် c မှာ အစပိုင်းမှာ ခက်ခဲတယ်။ 2165 01:20:22,400 --> 01:20:23,440 ဘာသာစကား 2166 01:20:23,440 --> 01:20:25,840 ဒါပေမယ့် များများဖတ်လေလေ သတိထားပါ။ 2167 01:20:25,840 --> 01:20:27,440 အင်တာနက်မှာ သင်ရှာလေလေ၊ 2168 01:20:27,440 --> 01:20:28,880 သင်အပြည့်အဝမလုပ်ဆောင်နိုင်သောလုပ်ဆောင်ချက်တစ်ခု 2169 01:20:28,880 --> 01:20:31,520 နားလည်လေလေ ပိုသိလာလေပါပဲ။ 2170 01:20:31,520 --> 01:20:34,159 ဒီပရိုဂရမ်က ဘယ်လိုအလုပ်လုပ်လဲ။ 2171 01:20:34,159 --> 01:20:36,159 အိုကေ ဒါဆို ကြည့်ရှုပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ 2172 01:20:36,159 --> 01:20:39,120 နောက် video မှာတွေ့ကြမယ် နှုတ်ဆက်ပါတယ်။ 2173 01:20:39,120 --> 01:20:40,880 အားလုံးကို ကြိုဆိုပြီး ပြန်ကြရအောင် 2174 01:20:40,880 --> 01:20:43,520 ကျွန်ုပ်တို့၏ဆာဗာ၏ကုဒ်ဖြင့် ဆက်လက်လုပ်ဆောင်ပါ။ 2175 01:20:43,520 --> 01:20:45,280 ငါဘာလုပ်မလဲ ငါသွားမယ်။ 2176 01:20:45,280 --> 01:20:47,679 ပထမဆုံးအနေနဲ့ nano server ပါ။ 2177 01:20:47,679 --> 01:20:49,520 အိုး ငါ ဒက်စတော့ကို သွားရမယ်။ 2178 01:20:49,520 --> 01:20:52,560 ပထမဦးစွာ ပတ်၀န်းကျင်နှင့် nano server.c 2179 01:20:52,560 --> 01:20:55,120 ပြီးတော့ ဒီမှာ ပထမပိုင်းရှိတယ်။ 2180 01:20:55,120 --> 01:20:56,800 ကျွန်ုပ်တို့၏အဓိကလုပ်ဆောင်ချက် 2181 01:20:56,800 --> 01:20:59,280 ယခု ကျွန်ုပ်တို့သတ်မှတ်ထားသော ချိတ်ဆက်မှုကို လက်ခံပါသည်။ 2182 01:20:59,280 --> 01:21:01,679 sockets အားလုံးကို လိုအပ်သလို ကျွန်တော်တို့လည်း သတ်မှတ်ပေးထားတယ်။ 2183 01:21:01,679 --> 01:21:03,280 ဆာဗာလိပ်စာနှင့်၎င်း၏အရာအားလုံးကိုတက်ပါ။ 2184 01:21:03,280 --> 01:21:05,600 ကန့်သတ်ချက်များ၊ ယခုကျွန်ုပ်တို့ထည့်သွင်းရန်အဆင်သင့်ဖြစ်ပါပြီ။ 2185 01:21:05,600 --> 01:21:07,280 while true loop ပါ။ 2186 01:21:07,280 --> 01:21:09,040 တကယ်ပို့မယ့်နေရာ 2187 01:21:09,040 --> 01:21:11,600 commands နှင့် iterate ကွဲပြားသည်။ 2188 01:21:11,600 --> 01:21:14,560 အလုပ်တွေ များနေတော့ လုပ်လိုက်ကြရအောင် 2189 01:21:14,560 --> 01:21:16,320 ကျွန်ုပ်တို့၏ ပင်မလုပ်ငန်းဆောင်တာ၏ အစိတ်အပိုင်းတစ်ခုဖြစ်စေရန်၊ 2190 01:21:16,320 --> 01:21:18,000 ပင်မ၏အတွင်း၌ သေချာစွာ ကုဒ်ရေးထားသည်။ 2191 01:21:18,000 --> 01:21:20,639 function နှင့် client အောက်တွင်ညာဘက်ကိုရိုက်ထည့်ပါ။ 2192 01:21:20,639 --> 01:21:22,719 socket လက်ခံလုပ်ဆောင်ချက် 2193 01:21:22,719 --> 01:21:24,560 ရိုက်နေစဉ် 2194 01:21:24,560 --> 01:21:26,080 တစ်ခု 2195 01:21:26,080 --> 01:21:28,960 ပြီးရင် ကွင်းနှစ်ခုကို ဖွင့်ရပါမယ်။ 2196 01:21:28,960 --> 01:21:31,760 ငါဒီလိုလုပ်မယ်။ 2197 01:21:31,760 --> 01:21:34,880 အရာအားလုံးကိုမြင်နိုင်သည်။ 2198 01:21:35,600 --> 01:21:38,080 တကယ်ကောင်းတယ် 2199 01:21:38,639 --> 01:21:40,560 ဤနေရာတွင် ကျွန်ုပ်တို့ လိုအပ်သော ပထမဆုံးအရာ 2200 01:21:40,560 --> 01:21:42,320 လုပ်ရမှာက တစ်ခုခုကို code လုပ်ဖို့ လိုပါတယ်။ 2201 01:21:42,320 --> 01:21:44,639 ကျွန်တော်တို့ အရင်အစီအစဉ်မှာ လုပ်ထားပြီးသားပါ။ 2202 01:21:44,639 --> 01:21:46,800 ဒါက backdoor.c ဖြစ်ပြီး အဲဒါက 2203 01:21:46,800 --> 01:21:49,199 jump statement ၏အသုံးပြုမှု 2204 01:21:49,199 --> 01:21:50,480 အဲဒါကို ကျွန်တော်တို့ကုဒ်မှာ ရေးမယ်။ 2205 01:21:50,480 --> 01:21:52,000 while ရဲ့အစက true loop ဆိုတော့ ကျွန်တော်တို 2206 01:21:52,000 --> 01:21:54,880 ဒါကို လိုချင်တဲ့အခါတိုင်း ခုန်နိုင်တယ်။ 2207 01:21:54,880 --> 01:21:57,679 ဒီမှာ အမှတ်ကောင်းတယ်။ 2208 01:21:57,679 --> 01:22:01,280 အဲဒါကို လုပ်ပြီးမှ သုညဖြစ်ရမယ်။ 2209 01:22:01,280 --> 01:22:04,080 ကျွန်ုပ်တို့ဖန်တီးထားသော variable များအားလုံး 2210 01:22:04,080 --> 01:22:06,080 ကျွန်ုပ်တို့၏ ပင်မလုပ်ငန်းဆောင်တာများတွင် တက်လာပါသည်။ 2211 01:22:06,080 --> 01:22:08,320 ကိန်းရှင်များသည် ကျွန်ုပ်တို့သွားနေသည့်နေရာတွင် ကြားခံဖြစ်သည်။ 2212 01:22:08,320 --> 01:22:09,920 ငါတို့သွားမယ့် command ကို သိမ်းဖို့ 2213 01:22:09,920 --> 01:22:11,520 ကျွန်တော်တို့ရဲ့ backdoor ကိုပို့ပါ။ 2214 01:22:11,520 --> 01:22:14,000 တုံ့ပြန်မှုသည် ကျွန်ုပ်တို့၏အရာတစ်ခုဖြစ်သည်။ 2215 01:22:14,000 --> 01:22:16,239 သုညဖြစ်မယ်။ 2216 01:22:16,239 --> 01:22:18,080 အခြေခံအားဖြင့်တော့ အဲဒါအားလုံးနဲ့ ပတ်သက်လိမ့်မယ်။ 2217 01:22:18,080 --> 01:22:20,239 ကျွန်ုပ်တို့ အမှန်တကယ် မလိုအပ်သော အခြားကိန်းရှင်များ 2218 01:22:20,239 --> 01:22:23,199 အဲဒါဆို ဒီမှာ သွားသုံးကြည့်ရအောင် 2219 01:22:23,199 --> 01:22:25,679 b0 အဲဒါကို အခုပဲ ငါတို့ သတိထားမိလိမ့်မယ်။ 2220 01:22:25,679 --> 01:22:28,320 b0 uh in ကို အမှန်တကယ် သတ်မှတ်ရန် မလိုအပ်ပါ။ 2221 01:22:28,320 --> 01:22:32,239 ဤပရိုဂရမ်သည် b0 linux တွင်ရှိနေသောကြောင့်ဖြစ်သည်။ 2222 01:22:32,239 --> 01:22:34,639 c programming ဆိုတော့ ကျွန်တော်တို့ တကယ်မလုပ်ဖြစ်ဘူး။ 2223 01:22:34,639 --> 01:22:36,639 ကျွန်တော်တို့ ပြေးတော့မယ် လို့ သတ်မှတ်ရမယ်။ 2224 01:22:36,639 --> 01:22:38,480 ဤဆာဗာသည် ကျွန်ုပ်တို့၏ 2225 01:22:38,480 --> 01:22:41,280 linux ပတ်ဝန်းကျင် သို့မဟုတ် ဤကိစ္စရပ်အတွက် 2226 01:22:41,280 --> 01:22:43,440 kelly linux စက် 2227 01:22:43,440 --> 01:22:45,360 အကယ်၍ သင်သည် windows ပေါ်တွင် run ရန် server ကိုကုဒ်လုပ်ပါ။ 2228 01:22:45,360 --> 01:22:48,000 b0 ကို တစ်ကြိမ် သတ်မှတ်ရန် လိုအပ်သည်။ 2229 01:22:48,000 --> 01:22:49,120 တဖန် 2230 01:22:49,120 --> 01:22:52,400 ကောင်းပြီ ဒါဆို ဒီမှာ b0 ပြီးရင် သွားကြရအောင် 2231 01:22:52,400 --> 01:22:54,239 Memory တည်နေရာကို ရိုက်ထည့်ပါမယ်။ 2232 01:22:54,239 --> 01:22:56,560 ၎င်းကိုရှင်းလင်းရန်ကြားခံ၏နှင့် 2233 01:22:56,560 --> 01:22:58,239 ကြားခံအရွယ်အစား 2234 01:22:58,239 --> 01:23:00,719 ဒါက 1024 bytes ဆိုပေမယ့် ကျွန်တော်တို့ သွားမယ်။ 2235 01:23:00,719 --> 01:23:02,560 ဤကဲ့သို့သတ်မှတ်ပါ။ 2236 01:23:02,560 --> 01:23:05,199 ပြီးတော့ တုံ့ပြန်မှုကိုလည်း b0 ရမယ်။ 2237 01:23:05,199 --> 01:23:06,719 တစ်ခုလုံးကို သိမ်းထားမယ်။ 2238 01:23:06,719 --> 01:23:08,880 backdoor မှ ပြန်ပို့ပေးသော တုံ့ပြန်မှု 2239 01:23:08,880 --> 01:23:10,480 ငါတို့ 2240 01:23:10,480 --> 01:23:13,840 ဒါကြောင့် အချိန်တိုင်း ရှင်းချင်ပါတယ်။ 2241 01:23:13,840 --> 01:23:16,159 အရွယ်အစားကို ဤနေရာတွင် ရိုက်ထည့်ကြပါစို့ 2242 01:23:16,159 --> 01:23:17,280 တုံ့ပြန်မှု 2243 01:23:17,280 --> 01:23:19,520 နောက်တချက်ကတော့ ကျနော်တို့ တောင်းဆိုဖို့ လိုပါတယ်။ 2244 01:23:19,520 --> 01:23:22,239 ဤဆာဗာ၏အသုံးပြုသူအား ထည့်သွင်းရန် 2245 01:23:22,239 --> 01:23:24,400 ပစ်မှတ်သို့ ပေးပို့ရန် အမိန့်ပေးသည်။ 2246 01:23:24,400 --> 01:23:26,639 ဥပမာတစ်ခုကို ဖန်တီးနိုင်ခဲ့တယ်ဆိုပါစို့ 2247 01:23:26,639 --> 01:23:28,560 ပစ်မှတ်စနစ်နှင့် ကျွန်ုပ်တို့ ချိတ်ဆက်မှု 2248 01:23:28,560 --> 01:23:31,280 windows 10 စက်ကို hack ဖို့စီမံခန့်ခွဲ 2249 01:23:31,280 --> 01:23:33,040 အားလုံးကို မြင်ချင်တယ်လို့ ဆိုကြပါစို့ 2250 01:23:33,040 --> 01:23:35,199 ပေါ်ရှိ desktop directory အတွင်းရှိ ဖိုင်များ 2251 01:23:35,199 --> 01:23:37,040 ပစ်မှတ်စက် 2252 01:23:37,040 --> 01:23:39,199 တစ်နေရာရာမှာ ထည့်သွင်းဖို့ လိုပါတယ်။ 2253 01:23:39,199 --> 01:23:41,520 သူတို့ အမိန့် နဲ့ သူတို့ အမိန့် ပေး တယ်။ 2254 01:23:41,520 --> 01:23:43,440 backdoor နဲ့ ပို့ပေးမယ်။ 2255 01:23:43,440 --> 01:23:45,120 backdoor ကသူတို့ကို execute လုပ်မယ်။ 2256 01:23:45,120 --> 01:23:48,560 ၎င်း၏ terminal တွင်အမိန့်ပေးပြီးနောက်၎င်းသည်လိမ့်မည်။ 2257 01:23:48,560 --> 01:23:50,960 တုံ့ပြန်မှုအားလုံးကို စုဆောင်းပါ။ 2258 01:23:50,960 --> 01:23:52,320 ၏ output ဖြစ်လိမ့်မည်။ 2259 01:23:52,320 --> 01:23:55,199 desktop directory တွင် directory များ 2260 01:23:55,199 --> 01:23:57,840 ပြီးတော့ အဲဒါက တုံ့ပြန်မှုအဖြစ် ပို့ပေးလိမ့်မယ်။ 2261 01:23:57,840 --> 01:24:00,080 ကြိုးတစ်ချောင်းက ငါတို့ကို ပြန်ပြီးတော့ ငါတို့က ပေးမယ်။ 2262 01:24:00,080 --> 01:24:02,800 ကျွန်ုပ်တို့၏စခရင်ပေါ်တွင် ဤနေရာတွင် ပရင့်ထုတ်ပါ။ 2263 01:24:02,800 --> 01:24:04,239 အဲဒါက ကျွန်တော်တို့ လုပ်ရမယ့် တာဝန်ပဲ။ 2264 01:24:04,239 --> 01:24:06,080 ပြီးမြောက်အောင် ဘယ်လိုလုပ်ရမလဲဆိုတာ ကြည့်လိုက်ရအောင် 2265 01:24:06,080 --> 01:24:07,040 အဲဒါ 2266 01:24:07,040 --> 01:24:08,400 ငါတို့ အခုလုပ်မယ့်ဟာက 2267 01:24:08,400 --> 01:24:12,080 အရင်ဆုံး printf လုပ်ပါမယ်။ 2268 01:24:12,880 --> 01:24:14,800 ဒီလိုမျိုး ဖြစ်အောင် လုပ်ပါ။ 2269 01:24:14,800 --> 01:24:16,960 ပိုကောင်းတဲ့ shell ကို 2270 01:24:16,960 --> 01:24:18,159 ပြီးနောက် 2271 01:24:18,159 --> 01:24:19,440 နံပါတ်အစားအသုံးပြုသောဟက်ရှ်သင်္ကေတ 2272 01:24:19,440 --> 01:24:20,960 ရာခိုင်နှုန်းလက္ခဏာ 2273 01:24:20,960 --> 01:24:22,320 ၎ 2274 01:24:22,320 --> 01:24:24,320 ပြီးတော့ ဒီဆိုင်းဘုတ်က ဒီမှာပြီးတော့ 2275 01:24:24,320 --> 01:24:26,400 dollar sign သည် ၎င်းကို ပုံသဏ္ဍာန်ဖြစ်စေသည်။ 2276 01:24:26,400 --> 01:24:29,520 Linux ၏ ပုံမှန် shell 2277 01:24:29,520 --> 01:24:31,920 နှင့် အဆုံး space တွင် အစက်နှစ်စက်၊ 2278 01:24:31,920 --> 01:24:33,440 ပထမအငြင်းအခုံသည် ဒုတိယဖြစ်သည်။ 2279 01:24:33,440 --> 01:24:35,440 အငြင်းအခုံသည် ကျွန်ုပ်တို့ အလိုရှိတိုင်း ဖြစ်လိမ့်မည်။ 2280 01:24:35,440 --> 01:24:38,159 ဤရာခိုင်နှုန်း s အစား ထည့်သွင်းရန် 2281 01:24:38,159 --> 01:24:40,480 ဘာကြောင့်လဲဆိုတော့ ဒီရာခိုင်နှုန်းက တကယ်လိုအပ်နေလို့ပါ။ 2282 01:24:40,480 --> 01:24:43,440 ဤနေရာတွင် နှင့် အစားထိုးရမည့် စာကြောင်းတစ်ခု 2283 01:24:43,440 --> 01:24:46,159 အဲဒီမှာ ip လိပ်စာကို ထည့်ချင်တယ်။ 2284 01:24:46,159 --> 01:24:47,760 ပစ်မှတ်စက် 2285 01:24:47,760 --> 01:24:49,600 ပြီးတော့ ဒီလုပ်ဆောင်ချက်ကို အသုံးပြုပြီး အဲဒါကို လုပ်နိုင်ပါတယ်။ 2286 01:24:49,600 --> 01:24:52,880 inet underscore သည် ntoa ဖြစ်သည်။ 2287 01:24:52,880 --> 01:24:55,520 ပြီးတော့ အဲဒီ function က argument တစ်ခုယူတယ်။ 2288 01:24:55,520 --> 01:24:58,000 ဖောက်သည်များသို့မဟုတ်ဤကိစ္စတွင်အတွက် 2289 01:24:58,000 --> 01:24:59,920 ပစ်မှတ်၏ ip လိပ်စာ 2290 01:24:59,920 --> 01:25:02,320 ဤကဲ့သို့ ကျွန်ုပ်တို့ အမှန်တကယ် ဝင်ရောက်နိုင်သည်။ 2291 01:25:02,320 --> 01:25:05,120 ဖောက်သည် အမှတ်အသား လိပ်စာ 2292 01:25:05,120 --> 01:25:07,280 အဲဒီအငြင်းအခုံကို ငါတို့တွေ့နိုင်တယ်။ 2293 01:25:07,280 --> 01:25:10,400 ip address သည် syn underscore ကို သိမ်းဆည်းထားသည်။ 2294 01:25:10,400 --> 01:25:12,800 adr ဆိုတော့ ကျွန်တော်တို့က စာရိုက်မယ်။ 2295 01:25:12,800 --> 01:25:15,199 ဒီနေရာမှာ syn underscore 2296 01:25:15,199 --> 01:25:17,440 ကြော်ငြာ 2297 01:25:17,440 --> 01:25:19,280 အဲဒါကို တစ်ခါတည်း ပုံနှိပ်တယ်။ 2298 01:25:19,280 --> 01:25:21,520 ကျွန်ုပ်တို့သည် ဆာဗာတစ်ခု၏ အသုံးပြုသူကို စောင့်ရန် လိုအပ်သည်။ 2299 01:25:21,520 --> 01:25:23,679 command တစ်ခုထည့်သွင်းရန်၊ ကျွန်ုပ်တို့သိမ်းဆည်းရန်လိုအပ်သည်။ 2300 01:25:23,679 --> 01:25:25,760 အဲဒါကို တစ်နေရာရာမှာ သိမ်းထားမယ်။ 2301 01:25:25,760 --> 01:25:27,520 ကျွန်ုပ်တို့၏ကြားခံတွင် 2302 01:25:27,520 --> 01:25:29,280 အဲဒါကို ဘယ်လိုကောင်းကောင်း အသုံးချနိုင်မလဲ။ 2303 01:25:29,280 --> 01:25:31,040 fgets လုပ်ဆောင်ချက် 2304 01:25:31,040 --> 01:25:32,960 string ကိုရလိမ့်မည်။ 2305 01:25:32,960 --> 01:25:35,360 ၎င်းကို ပထမအငြင်းအခုံအဖြစ် သိမ်းဆည်းပါ။ 2306 01:25:35,360 --> 01:25:37,199 ကျွန်ုပ်တို့သည် ကြားခံဖြစ်ချင်သောကြောင့် သိမ်းဆည်းထားမည်ဖြစ်သည်။ 2307 01:25:37,199 --> 01:25:39,440 ၎င်းသည် ကြားခံအတွင်း၌ ဒုတိယအငြင်းအခုံဖြစ်သည်။ 2308 01:25:39,440 --> 01:25:41,520 ငါတို့ပေးသောကြားခံ၏အရွယ်အစားဖြစ်လိမ့်မည်။ 2309 01:25:41,520 --> 01:25:43,520 အရွယ်အစားကို အသုံးပြု၍ ရိုးရှင်းစွာ ဝင်ရောက်နိုင်သည်။ 2310 01:25:43,520 --> 01:25:45,840 function နဲ့ တတိယ argument ဖြစ်နေတာ 2311 01:25:45,840 --> 01:25:48,239 ဒါကို ကျွန်တော်တို့ ဘယ်လိုရယူချင်လဲ။ 2312 01:25:48,239 --> 01:25:50,480 အချက်အလက် သို့မဟုတ် 2313 01:25:50,480 --> 01:25:52,639 ရိုးရှင်းစွာသတ်မှတ်ပါ။ 2314 01:25:52,639 --> 01:25:54,719 ကျနော်တို့ command ကိုဘယ်ကနေရယူတာလဲ။ 2315 01:25:54,719 --> 01:25:56,400 ငါတို့က အမိန့်ပေးတယ်။ 2316 01:25:56,400 --> 01:25:58,080 စံထည့်သွင်းမှု 2317 01:25:58,080 --> 01:26:00,880 ဒါကြောင့် std ကို ဒီနေရာမှာ သတ်မှတ်ပါမယ်။ 2318 01:26:00,880 --> 01:26:01,679 ၌ 2319 01:26:01,679 --> 01:26:03,840 အဆင်ပြေပါတယ်။ 2320 01:26:03,840 --> 01:26:05,520 အခု နည်းနည်းလောက် သုံးဖို့ လိုတယ်။ 2321 01:26:05,520 --> 01:26:07,440 ကျွန်ုပ်တို့ရပြီးနောက် string manipulation 2322 01:26:07,440 --> 01:26:10,400 ဥပမာ သင် a သွင်းပြီးတာနဲ့ 2323 01:26:10,400 --> 01:26:12,400 ပရိုဂရမ်အတွင်းရှိ string ကို ဤသို့ဆိုကြပါစို့ 2324 01:26:12,400 --> 01:26:13,840 string တစ်ခုဖြစ်သည်။ 2325 01:26:13,840 --> 01:26:16,080 တခါတရံမှာ အလိုအလျောက် ရှိပါလိမ့်မယ်။ 2326 01:26:16,080 --> 01:26:18,639 မျဉ်းစောင်း n ဟူသော စာကြောင်းအသစ် 2327 01:26:18,639 --> 01:26:21,040 အဲဒါကို တကယ်ပို့ဖို့ စိတ်ကူးပါ။ 2328 01:26:21,040 --> 01:26:23,440 ပစ်မှတ်ထားပြီး ဒါကို အကောင်အထည်ဖော်ဖို့ ကြိုးစားပါတယ်။ 2329 01:26:23,440 --> 01:26:25,840 ဤအမိန့်ကို အသိအမှတ်မပြုပါ။ 2330 01:26:25,840 --> 01:26:28,239 ဥပမာ ငါတို့သည် ပစ်မှတ်ကို hack သည်ဆိုကြပါစို့ 2331 01:26:28,239 --> 01:26:31,679 ပစ်မှတ်ကို အမှန်တကယ် အကောင်အထည်ဖော်စေချင်တယ်။ 2332 01:26:31,679 --> 01:26:34,320 ဥပမာ pwd သည် print ၏အတိုကောက်ဖြစ်သည်။ 2333 01:26:34,320 --> 01:26:37,120 အလုပ်လမ်းညွှန်ဒါကြောင့်ကျွန်ုပ်တို့၏ကျွန်ုပ်တို့၏ထည့်သွင်း 2334 01:26:37,120 --> 01:26:38,880 server pwd 2335 01:26:38,880 --> 01:26:41,679 ဒါပေမယ့် pwd slash n ကို အသစ်တစ်ခုနဲ့ ပို့ပေးပါတယ်။ 2336 01:26:41,679 --> 01:26:43,840 ပစ်မှတ်က ကြိုးစားမယ့် နှိုးစက်ဇာတ်ကောင် 2337 01:26:43,840 --> 01:26:46,239 ဒါကို execute လုပ်ပြီး ပျက်သွားမှာပါ 2338 01:26:46,239 --> 01:26:48,239 ဒါကို အမိန့်တစ်ခုအနေနဲ့ အသိအမှတ်မပြုပါဘူး။ 2339 01:26:48,239 --> 01:26:50,960 ဒါကို ဖယ်ရှားဖို့လိုပြီး အခု လုပ်နိုင်ပါပြီ။ 2340 01:26:50,960 --> 01:26:52,560 ဒါကို ပစ်မှတ်ဆီ ပို့ပေးပါ။ 2341 01:26:52,560 --> 01:26:54,719 ဒီတော့ ဒါကို ကျွန်တော်တို့ ဘယ်လိုလုပ်နိုင်မလဲ ကြည့်ရအောင် 2342 01:26:54,719 --> 01:26:56,560 str ကိုအသုံးပြုပါ။ 2343 01:26:56,560 --> 01:26:58,320 t ok function ပါ။ 2344 01:26:58,320 --> 01:27:01,120 ဤမျဥ်းစောင်းနှင့် အမှန်ဖယ်ရှားရန် 2345 01:27:01,120 --> 01:27:02,639 ကျွန်တော်တို့ရဲ့ 2346 01:27:02,639 --> 01:27:04,880 string or pardon me backslash n        အဘယ်ကြောင့်ဆိုသော် 2347 01:27:04,880 --> 01:27:07,360 backslash n သည် လိုင်းအသစ်အက္ခရာတစ်ခုဖြစ်သည်။ 2348 01:27:07,360 --> 01:27:09,679 ဒါကြောင့် ကျွန်တော်တို့ လိုချင်တဲ့ နေရာကနေ အရင်ဆုံး သတ်မှတ်ပေးတယ်။ 2349 01:27:09,679 --> 01:27:12,320 အလိုရှိသော ဇာတ်ကောင်ကို ဖယ်ရှားရန် 2350 01:27:12,320 --> 01:27:14,320 ဒုတိယအငြင်းအခုံသည် ကျွန်ုပ်တို့၏ဇာတ်ကောင်ဖြစ်သည်။ 2351 01:27:14,320 --> 01:27:16,560 ကျွန်ုပ်တို့၏ ကိစ္စတွင် backslash ကို ဖယ်ရှားလိုပါသည်။ 2352 01:27:16,560 --> 01:27:18,400 အူး backslash        n        အူး 2353 01:27:18,400 --> 01:27:19,679 အဆင်ပြေပါတယ်။ 2354 01:27:19,679 --> 01:27:22,880 ပြီးတာနဲ့ သွားဖို့အဆင်သင့်ဖြစ်နေပါပြီ။ 2355 01:27:22,880 --> 01:27:23,920 ဒါကြောင့် 2356 01:27:23,920 --> 01:27:26,080 ငါတို့လုပ်စရာကျန်တော့တာ ပို့လိုက် 2357 01:27:26,080 --> 01:27:28,159 ပစ်မှတ်သို့ အမိန့်ပေးသည်။ 2358 01:27:28,159 --> 01:27:30,159 မှန်ကန်သောလုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုပါမည်။ 2359 01:27:30,159 --> 01:27:33,199 အဲဒါက ပို့တာနဲ့ အတူတူပါပဲ။ 2360 01:27:33,199 --> 01:27:34,960 ဒါပေမယ့် အဲဒါက နည်းနည်းပိုလွယ်တဲ့အတွက် 2361 01:27:34,960 --> 01:27:36,960 အငြင်းအခုံသုံးခုနှင့် ပထမတစ်ခုသာ ယူသည်။ 2362 01:27:36,960 --> 01:27:39,280 argument သည် client socket ဖြစ်သည်။ 2363 01:27:39,280 --> 01:27:40,480 ဘာဖြစ်လို့လဲဆိုတော့ ကျနော်တို့က ဒါကို ပို့တယ်။ 2364 01:27:40,480 --> 01:27:41,600 ပစ်မှတ် 2365 01:27:41,600 --> 01:27:43,280 ဒုတိယအငြင်းအခုံက ငါတို့ဘာတွေလဲ။ 2366 01:27:43,280 --> 01:27:45,199 ပို့ပြီး ကျွန်တော်တို့ လောလောဆယ် ပို့နေပါတယ်။ 2367 01:27:45,199 --> 01:27:47,360 ကြားခံနှင့် တတိယအငြင်းအခုံမှာ အဆိုပါဖြစ်သည်။ 2368 01:27:47,360 --> 01:27:50,320 ကြားခံအရွယ်အစား 2369 01:27:51,199 --> 01:27:54,560 ယခုကျွန်ုပ်တို့သည် command ကိုအောင်မြင်စွာပေးပို့နိုင်ပါပြီ။ 2370 01:27:54,560 --> 01:27:56,880 ပစ်မှတ်သို့ 2371 01:27:56,880 --> 01:27:57,679 ဒါကြောင့် 2372 01:27:57,679 --> 01:27:59,120 ယခု ကျွန်ုပ်တို့သည် မတူညီမှုများကို စစ်ဆေးရန် လိုအပ်ပါသည်။ 2373 01:27:59,120 --> 01:28:00,880 command က ဘာလဲဆိုတော့ ရွေးချယ်စရာတွေ ရှိတယ်။ 2374 01:28:00,880 --> 01:28:04,159 ငါတို့နောက်ကွယ်မှာ ငါတို့ကိုသတိရတယ် မင်းမှတ်မိတယ်။ 2375 01:28:04,159 --> 01:28:06,080 ကြားခံသည် တူညီမှုရှိမရှိ စစ်ဆေးခဲ့သည်။ 2376 01:28:06,080 --> 01:28:08,800 q နဲ့ q နဲ့ ညီမျှရင် ငါတို့ အလုပ်ထွက်မယ်။ 2377 01:28:08,800 --> 01:28:10,639 ပရိုဂရမ်က အတူတူပဲ လုပ်ရမယ်။ 2378 01:28:10,639 --> 01:28:12,880 ဒီမှာပဲ ငါတို့က စမယ်။ 2379 01:28:12,880 --> 01:28:17,199 if statement က string နဲ့ ယှဉ်ရင် 2380 01:28:18,800 --> 01:28:21,520 off တန်းစီ 2381 01:28:21,600 --> 01:28:23,120 ကြားခံတစ်ခုနှင့် 2382 01:28:23,120 --> 01:28:27,320 ပြီးတော့ ဇာတ်ကောင်တစ်ခုနဲ့ နှိုင်းယှဉ်တယ်။ 2383 01:28:28,639 --> 01:28:31,199 ဒီနေရာမှာ 0 နဲ့ ညီမျှပါတယ်။ 2384 01:28:31,199 --> 01:28:33,520 ညီမျှသည်ဟု ဆိုလိုသည်။ 2385 01:28:33,520 --> 01:28:35,679 ငါတို့ဘာလုပ်မလဲ ငါတို့က ရိုးရိုးရှင်းရှင်းပဲ။ 2386 01:28:35,679 --> 01:28:38,000 ဒီအစီအစဉ်ကနေ ဖြတ်သွားရုံပါပဲ။ 2387 01:28:38,000 --> 01:28:39,920 အဲဒါကို ပိတ်ပြီး ကျွန်တော်တို့ လုပ်ဆောင်ဖို့ မလိုပါဘူး။ 2388 01:28:39,920 --> 01:28:43,120 ကျွန်ုပ်တို့လုပ်ဆောင်ခဲ့သည့် သန့်ရှင်းရေးတစ်ခုအနေဖြင့် 2389 01:28:43,120 --> 01:28:44,800 backdoor ဖြစ်သောကြောင့် ၎င်းသည် linux ဖြစ်သည်။ 2390 01:28:44,800 --> 01:28:47,280 ပတ်ဝန်းကျင်တွင် wsa မရှိပါ။ 2391 01:28:47,280 --> 01:28:49,520 socket တစ်ခုဖန်တီးတဲ့အတွက် ဒါကနည်းနည်းပါ။ 2392 01:28:49,520 --> 01:28:51,840 နောက်ထပ်လုပ်ချင်တာက နည်းနည်းရိုးရှင်းပါတယ်။ 2393 01:28:51,840 --> 01:28:54,560 အကယ်၍ ၎င်းသည် ကျွန်ုပ်တို့လိုချင်သော q နှင့် မညီမျှပါက၊ 2394 01:28:54,560 --> 01:28:57,120 ပစ်မှတ်ထံမှ တုံ့ပြန်မှုကို ရယူပါ။ 2395 01:28:57,120 --> 01:28:59,280 ဤနေရာတွင် else statement ကို ရိုက်ထည့်ပါမည်။ 2396 01:28:59,280 --> 01:29:01,440 ဆိုလိုတာက ဘယ်နေရာမှာပဲဖြစ်ဖြစ်၊ 2397 01:29:01,440 --> 01:29:03,199 q နှင့် မညီမျှပါ။ 2398 01:29:03,199 --> 01:29:06,080 ငါတို့ဘာလုပ်မလဲ ငါတို့သွားမယ်။ 2399 01:29:06,080 --> 01:29:08,080 ပထမဦးစွာထံမှတုံ့ပြန်မှုကိုလက်ခံပါ။ 2400 01:29:08,080 --> 01:29:10,560 ပစ်မှတ်ကို ကျွန်ုပ်တို့ အသုံးပြုသည်။ 2401 01:29:10,560 --> 01:29:13,120 အဲဒါကိုလုပ်ဖို့ function ကိုဒါကြောင့် client ကိုလက်ခံပါ။ 2402 01:29:13,120 --> 01:29:15,120 underscore socket 2403 01:29:15,120 --> 01:29:17,840 တုံ့ပြန်မှုကို ကျွန်ုပ်တို့ သိမ်းဆည်းထားလိုပါသည်။ 2404 01:29:17,840 --> 01:29:19,440 တုံ့ပြန်မှုပြောင်းလဲနိုင်သော 2405 01:29:19,440 --> 01:29:21,040 ၏အရွယ်အစားကိုသတ်မှတ်ရန်လိုအပ်သည်။ 2406 01:29:21,040 --> 01:29:24,320 တုံ့ပြန်မှုပြောင်းလဲနိုင်သော 2407 01:29:24,320 --> 01:29:27,360 စတုတ္ထအငြင်းအခုံဖြစ်လိမ့်မည်။ 2408 01:29:27,360 --> 01:29:30,880 မက်ဆေ့ချ်ကို ထောက်၍ အားလုံးစောင့်ပါ။ 2409 01:29:30,880 --> 01:29:33,280 မြို့တော် နှင့် ဤအလံ များ အားလုံး ဖြစ်မည် 2410 01:29:33,280 --> 01:29:35,280 block လုပ်ဖို့ program ကိုပြောပါလိမ့်မယ်။ 2411 01:29:35,280 --> 01:29:37,679 တောင်းဆိုမှု အပြည့်အစုံ မပြည့်မချင်း လုပ်ဆောင်မှု 2412 01:29:37,679 --> 01:29:40,320 ကျေနပ်သည်။ 2413 01:29:40,639 --> 01:29:42,480 စိတ်ဝင်စားတဲ့ သူတွေအတွက်ရော 2414 01:29:42,480 --> 01:29:45,199 လက်ခံသည့်လုပ်ဆောင်ချက်နှင့် ၎င်း၏အလံများအားလုံး 2415 01:29:45,199 --> 01:29:47,199 သူတို့ဘယ်လိုအလုပ်လုပ်သလဲ၊ သူတို့လုပ်နိုင်တာကိုကြည့်ဖို့ 2416 01:29:47,199 --> 01:29:50,320 ဒီဝဘ်ဆိုဒ်ကို ဒီမှာ ဝင်ကြည့်လို့ရလား။ 2417 01:29:50,320 --> 01:29:52,159 ၎င်းသည် linux အတွက် လက်စွဲစာမျက်နှာဖြစ်သည်။ 2418 01:29:52,159 --> 01:29:54,560 လုပ်ဆောင်ချက်များကို ဤနေရာတွင် ကြည့်ရှုနိုင်ပါသည်။ 2419 01:29:54,560 --> 01:29:56,960 လုပ်ဆောင်ချက်များနှင့် ၎င်း၏အလံများအားလုံးကို လက်ခံရယူပါ။ 2420 01:29:56,960 --> 01:29:59,679 ဒီမှာ ဆင်းနေတယ်ဆိုတော့ နည်းနည်းတော့ရှိတယ်။ 2421 01:29:59,679 --> 01:30:00,719 သူတို့ကို 2422 01:30:00,719 --> 01:30:03,280 ကောင်းပြီ ငါတို့ ဒီဟာကို သုံးတယ်။ 2423 01:30:03,280 --> 01:30:05,040 ဒါကြောင့် စိတ်ပါဝင်စားသူတိုင်း တတ်နိုင်သမျှ လုပ်နိုင်ပါတယ်။ 2424 01:30:05,040 --> 01:30:08,800 အဲဒါကို ဒီမှာ စစ်ကြည့်ပါ အဆင်ပြေပါတယ်။ 2425 01:30:08,800 --> 01:30:10,639 ဒီတော့ ပရိုဂရမ်ကို မှန်ပြန်ကြည့်ရအောင် 2426 01:30:10,639 --> 01:30:12,960 အမှန်တကယ် တုံ့ပြန်မှုရရှိပြီးနောက်၊ 2427 01:30:12,960 --> 01:30:15,120 print ထုတ်ချင်တယ်။ 2428 01:30:15,120 --> 01:30:17,040 ပြီးတော့ အဲဒါကို သုံးပြီး ရိုးရှင်းစွာ လုပ်နိုင်ပါတယ်။ 2429 01:30:17,040 --> 01:30:19,520 printf ကြေညာချက်ကို ကျွန်ုပ်တို့က ၎င်းကို ပရင့်ထုတ်လိုပါသည်။ 2430 01:30:19,520 --> 01:30:21,360 ကျွန်ုပ်တို့သတ်မှတ်နိုင်သည့် string တစ်ခု 2431 01:30:21,360 --> 01:30:24,639 ရာခိုင်နှုန်း s နှင့် ကော်မာ နှင့် ကျွန်ုပ်တို့သည် အဘယ်နည်း 2432 01:30:24,639 --> 01:30:26,880 ကြိုးတစ်ချောင်းအဖြစ် ပုံနှိပ်ခြင်းသည် အကြောင်းအရာများဖြစ်သည်။ 2433 01:30:26,880 --> 01:30:30,159 ကျွန်ုပ်တို့၏ တုံ့ပြန်မှု ကွဲပြားပါသည်။ 2434 01:30:30,159 --> 01:30:33,120 အဲဒါက အခြေခံအားဖြင့် ဒါက ငါတို့နဲ့ 2435 01:30:33,120 --> 01:30:34,960 ကျွန်တော်တို့ရဲ့ မှန်ကန်တဲ့ ကွင်းဆက်ကို ပြီးသွားပါပြီ။ 2436 01:30:34,960 --> 01:30:35,920 ဆာဗာ 2437 01:30:35,920 --> 01:30:37,920 နောက် video မှာ ပါပါမယ်။ 2438 01:30:37,920 --> 01:30:40,080 ပထမဆုံးအနေနဲ့ ဒီပရိုဂရမ်ကို စမ်းသပ်ကြည့်ပါ။ 2439 01:30:40,080 --> 01:30:42,080 မှန်ကန်စွာ အလုပ်လုပ်လျှင် အလုပ်ဖြစ်မည်။ 2440 01:30:42,080 --> 01:30:43,840 မှန်မှန်ကန်ကန် ကျွန်ုပ်တို့ ဆက်လက်လုပ်ဆောင်သွားပါမည်။ 2441 01:30:43,840 --> 01:30:45,920 အစရှိတဲ့ မတူညီတဲ့ Function တွေကို ထည့်သွင်းထားပါတယ်။ 2442 01:30:45,920 --> 01:30:47,760 ဥပမာအားဖြင့် directory ကိုပြောင်းခြင်း။ 2443 01:30:47,760 --> 01:30:50,080 registry နှင့် persistence ကိုဖန်တီးခြင်း။ 2444 01:30:50,080 --> 01:30:52,560 keylogger နှင့် အခြားတစ်ခုကိုလည်း စတင်သည်။ 2445 01:30:52,560 --> 01:30:54,239 အရာတွေပါဘဲ။ 2446 01:30:54,239 --> 01:30:55,840 ကောင်းပြီ ဒါလေးကြည့်ပေးလို့ ကျေးဇူးတင်ပါတယ်။ 2447 01:30:55,840 --> 01:30:58,320 ကျူတိုရီရယ် လုပ်ပြီး နောက်မှာ တွေ့မယ်။ 2448 01:30:58,320 --> 01:30:59,920 နှုတ်ဆက်ပါတယ်။ 2449 01:30:59,920 --> 01:31:02,400 အားလုံးကို ကြိုဆိုပါတယ် ဒီဗီဒီယိုလေးထဲမှာပါ။ 2450 01:31:02,400 --> 01:31:04,639 ငါတို့ ပထမဆုံး စမ်းသပ်မှု လုပ်မယ်။ 2451 01:31:04,639 --> 01:31:06,080 ကျွန်ုပ်တို့၏ malware 2452 01:31:06,080 --> 01:31:08,159 အခုငါတို့အားလုံးမထည့်သေးဘူးဆိုတာ ငါသိတယ်။ 2453 01:31:08,159 --> 01:31:10,560 ဒါပေမယ့် မှန်ကန်တဲ့ လုပ်ဆောင်ချက်တွေ ရှိသင့်ပါတယ်။ 2454 01:31:10,560 --> 01:31:12,159 အခု ကျွန်တော်တို့က အဓိက ဆိုတာကို ထပ်ထည့်တယ်။ 2455 01:31:12,159 --> 01:31:14,000 commands တွေကို အကောင်အထည်ဖော်ပြီး ဖြတ်လိုက်ပါ။ 2456 01:31:14,000 --> 01:31:15,199 အစီအစဉ် 2457 01:31:15,199 --> 01:31:17,280 ဒါမှ အဆင်ပြေရင် ငါတို့ ဆက်လုပ်လို့ရတယ်။ 2458 01:31:17,280 --> 01:31:19,120 အစရှိတဲ့ မတူညီတဲ့ function တွေကို ပေါင်းထည့်ပါတယ်။ 2459 01:31:19,120 --> 01:31:21,040 keylogger လိုမျိုး start other 2460 01:31:21,040 --> 01:31:23,360 မြဲမြံခြင်းစသည့် အစီအစဉ်များ 2461 01:31:23,360 --> 01:31:25,199 reboot အချိန် 2462 01:31:25,199 --> 01:31:27,679 ဒါပေမယ့် ဒီဟာက အဓိက ရှိမရှိ အရင်ကြည့်ရအောင် 2463 01:31:27,679 --> 01:31:32,000 တစ်စိတ်တစ်ပိုင်း အလုပ်ဖြစ်တာကြောင့် terminal ကိုဖွင့်မယ်။ 2464 01:31:32,000 --> 01:31:33,840 အချို့သောအရာများ ရှိလိမ့်မည်။ 2465 01:31:33,840 --> 01:31:35,920 ငါတို့ အခုချက်ချင်း လိုအပ်မှာလား။ 2466 01:31:35,920 --> 01:31:38,719 ၎င်းတို့ထဲမှ တစ်ခုသည် စုစည်းမှု ပရိုဂရမ်တစ်ခုဖြစ်သည်။ 2467 01:31:38,719 --> 01:31:40,560 အခုက စုစည်းမှု လုပ်ငန်းစဉ်ပါ။ 2468 01:31:40,560 --> 01:31:42,719 linux ပတ်​ဝန်းကျင်​နှင့်​တွင်​ ကွဲပြားသည်​ 2469 01:31:42,719 --> 01:31:44,400 ပြတင်းပေါက်ပတ်ဝန်းကျင် 2470 01:31:44,400 --> 01:31:45,760 ဒီပရိုဂရမ်တွေကို ကုဒ်ရေးနေရင် 2471 01:31:45,760 --> 01:31:47,760 ဥပမာ Visual Studio တွင် ပြတင်းပေါက်များ 2472 01:31:47,760 --> 01:31:50,239 အဲဒီမှာသူတို့ကို compile လုပ်ပါ။ 2473 01:31:50,239 --> 01:31:52,239 သင် linux တွင် အသံသွင်းနေပါက ကျွန်ုပ်တို့သည် 2474 01:31:52,239 --> 01:31:55,199 Ming လို့ခေါ်တဲ့ ပရိုဂရမ်တစ်ခုလိုပါတယ်။ 2475 01:31:55,199 --> 01:31:57,199 အခု pre-installed လို့ မထင်ဘူး။ 2476 01:31:57,199 --> 01:31:59,199 မည်သည့် linux ပတ် ၀ န်းကျင်တွင်မဆိုကျွန်ုပ်တို့ရှိလိမ့်မည်။ 2477 01:31:59,199 --> 01:32:00,560 ဒေါင်းလုဒ်လုပ်ရန် 2478 01:32:00,560 --> 01:32:02,400 အချို့သော အဆင့်များသည် အလွန်များသည်။ 2479 01:32:02,400 --> 01:32:03,280 လွယ်ပါတယ်။ 2480 01:32:03,280 --> 01:32:06,080 opt-get update ပြီးနောက် opt-get install လုပ်ပါ။ 2481 01:32:06,080 --> 01:32:10,000 mingw နှင့် dash w64 2482 01:32:10,000 --> 01:32:11,679 ဒါက ဒီ command ရဲ့ screenshot ပါ။ 2483 01:32:11,679 --> 01:32:13,120 ဒီမှာ 2484 01:32:13,120 --> 01:32:15,600 အဲဒါ အဆင်မပြေရင် ဒီမှာ ရှိတယ်။ 2485 01:32:15,600 --> 01:32:17,840 မတူညီသောဖြေရှင်းချက်အချို့ 2486 01:32:17,840 --> 01:32:18,960 အမှားများ 2487 01:32:18,960 --> 01:32:21,679 ကောင်းပြီ ဒါဆို ဒီဝဘ်ဆိုဒ်မှာ ပြန်ပေါ်လာပြီ။ 2488 01:32:21,679 --> 01:32:24,159 ဒီမှာ 2489 01:32:24,639 --> 01:32:26,800 ငါ့မှာရှိပြီးသားဆိုတော့ အခုသွားတော့မယ်။ 2490 01:32:26,800 --> 01:32:28,639 စုစည်းမှုကို ဆက်လက်လုပ်ဆောင်ပါ။ 2491 01:32:28,639 --> 01:32:30,800 ဒါပေမယ့် ကျွန်တော်တို့ ပရိုဂရမ်တွေကို မပြုစုခင်မှာဘဲ 2492 01:32:30,800 --> 01:32:32,960 တစ်ချို့အရာတွေကို သေချာလုပ်ရမယ်။ 2493 01:32:32,960 --> 01:32:34,800 ဖြစ်သင့်သည်နှင့်အမျှ သတ်မှတ်ကြသည် 2494 01:32:34,800 --> 01:32:37,520 ထိုအရာများသည် ip address လည်းဖြစ်သည်။ 2495 01:32:37,520 --> 01:32:39,520 ကျွန်တော်တို့ ချိတ်ဆက်ထားတဲ့ port က အဲဒါတွေပါ။ 2496 01:32:39,520 --> 01:32:41,679 စကေး ​​linux နှင့် တူညီရပါမည်။ 2497 01:32:41,679 --> 01:32:43,280 စက်နဲ့ အတူတူပဲ ဖြစ်ရမယ်။ 2498 01:32:43,280 --> 01:32:45,440 ပရိုဂရမ် နှစ်ခု စလုံးကို အရင်ဆုံး ရေးပါ့မယ် 2499 01:32:45,440 --> 01:32:48,080 ကျွန်ုပ်၏ ip လိပ်စာကို စစ်ဆေးရန် ifconfig ကို ရိုက်ထည့်ပါ။ 2500 01:32:48,080 --> 01:32:50,960 192.168.1.8 ဖြစ်သည် 2501 01:32:50,960 --> 01:32:52,880 အခု ငါ ဒီနှစ်ခုစလုံးကို ဝင်ရတော့မယ်။ 2502 01:32:52,880 --> 01:32:55,520 ပရိုဂရမ်တွေ အရင်သွားပါရစေ 2503 01:32:55,520 --> 01:32:56,960 ဒက်စတော့ 2504 01:32:56,960 --> 01:32:59,960 nanobackdoor.c 2505 01:33:00,239 --> 01:33:02,080 ip လိပ်စာ ဟုတ်မဟုတ် စစ်ဆေးပါ။ 2506 01:33:02,080 --> 01:33:03,360 မှန်တယ်။ 2507 01:33:03,360 --> 01:33:05,960 ip address က port ကမှန်တယ်။ 2508 01:33:05,960 --> 01:33:08,960 5005 ဆိုတော့ ip ကိုသေချာအောင်လုပ်ရမယ်။ 2509 01:33:08,960 --> 01:33:11,120 လိပ်စာနှင့် ဆိပ်ကမ်းသည် အတိအကျတူညီသည်။ 2510 01:33:11,120 --> 01:33:13,280 ကျွန်ုပ်တို့၏ဆာဗာတွင်လည်း 2511 01:33:13,280 --> 01:33:16,080 ဒါဆို ဒီမှာ သွားကြရအောင် 2512 01:33:16,080 --> 01:33:18,000 ငါတို့မှာ တူညီတဲ့ ဆိပ်ကမ်းလည်း ရှိတယ်။ 2513 01:33:18,000 --> 01:33:19,840 တူညီသော ip လိပ်စာ 2514 01:33:19,840 --> 01:33:21,840 ဒါကြောင့် အခုချက်ချင်း ငါတို့သွားလို့ရပြီလေ။ 2515 01:33:21,840 --> 01:33:23,520 ကျွန်ုပ်တို့၏ ပရိုဂရမ်များကို စုစည်းပါ။ 2516 01:33:23,520 --> 01:33:25,760 ငါတို့ဆာဗာနဲ့ စတော့မယ်။ 2517 01:33:25,760 --> 01:33:27,920 ယခု ကျွန်ုပ်တို့ ပြုစုနေသည် ကို သတိရပါ။ 2518 01:33:27,920 --> 01:33:29,760 မတူညီသော ပရိုဂရမ်နှစ်ခုအတွက် မတူညီသော အစီအစဉ်နှစ်ခု 2519 01:33:29,760 --> 01:33:32,320 ငါ့ကိစ္စမှာ ပလက်ဖောင်းတွေကို ငါဒီအတိုင်းလည်ပတ်မယ်။ 2520 01:33:32,320 --> 01:33:34,800 ဤ kali linux ပတ်ဝန်းကျင်ရှိ ဆာဗာ 2521 01:33:34,800 --> 01:33:37,040 ဘယ်ဟာက linux operating system မို့လို့လဲ။ 2522 01:33:37,040 --> 01:33:38,800 server ကို compile လုပ်ဖို့ လိုပါလိမ့်မယ်။ 2523 01:33:38,800 --> 01:33:41,920 linux လည်ပတ်မှုစနစ်နှင့် ကျွန်ုပ်တို့၏ နောက်တံခါး 2524 01:33:41,920 --> 01:33:44,159 သို့မဟုတ် ကျွန်ုပ်တို့၏ malware များကို စုစည်းထားမည်ဖြစ်သည်။ 2525 01:33:44,159 --> 01:33:46,560 windows အတွက် မို့လို့ ပါ 2526 01:33:46,560 --> 01:33:49,120 ၎င်းကို windows operating system အတွက် compile လုပ်ပါ။ 2527 01:33:49,120 --> 01:33:52,159 ကောင်းပြီ ဒါဆို server နဲ့ စလိုက်ရအောင် 2528 01:33:52,159 --> 01:33:54,239 ပြီးရင် server ကို compile လုပ်ဖို့၊ 2529 01:33:54,239 --> 01:33:56,000 သင်လိုအပ်သောပရိုဂရမ်ကို install လုပ်ပါ။ 2530 01:33:56,000 --> 01:33:58,080 gcc လို့ရိုက်ရုံပါပဲ။ 2531 01:33:58,080 --> 01:33:59,440 ပြီးရင် မင်းရှိတဲ့ ဖိုင်နာမည် 2532 01:33:59,440 --> 01:34:02,400 ကျွန်ုပ်၏ကိစ္စမှာ server.c ဖြစ်သည် 2533 01:34:02,400 --> 01:34:04,560 dash o ပြီးရင် ဖိုင်နာမည် 2534 01:34:04,560 --> 01:34:06,719 စုစည်းထားသော ပရိုဂရမ်ဖြစ်စေချင်သည်။ 2535 01:34:06,719 --> 01:34:08,880 ငါ့ကိစ္စ ငါ ရိုးရိုးရှင်းရှင်းပဲ ခေါ်လိမ့်မယ်။ 2536 01:34:08,880 --> 01:34:11,600 ဆာဗာလို့ခေါ်တာ အဆင်ပြေပါတယ်။ 2537 01:34:11,600 --> 01:34:14,639 ဒါကြောင့် မင်းရဲ့ enter ကို နှိပ်လိုက်တာနဲ့ 2538 01:34:14,639 --> 01:34:16,560 ဤအရာတွင် အမှားအယွင်းအချို့ရှိသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။ 2539 01:34:16,560 --> 01:34:18,719 ပထမဦးစွာ ပြင်ဆင်ရန် လိုအပ်သော ပရိုဂရမ် 2540 01:34:18,719 --> 01:34:21,040 error ကဒီမှာရှိနေတာကြည့်ရအောင် 2541 01:34:21,040 --> 01:34:22,000 လိုင်း 2542 01:34:22,000 --> 01:34:23,760 ၎င်းသည် 2543 01:34:23,760 --> 01:34:26,719 စာလုံး l အဲဒါက တကယ်ဖြစ်စရာမလိုပါဘူး။ 2544 01:34:26,719 --> 01:34:28,880 ဒီမှာ ဆိုတော့ ဒါကို ဖယ်ရမယ်။ 2545 01:34:28,880 --> 01:34:31,679 ဒီစာကြောင်းမှာလည်း အစက်တစ်စက် လွဲနေတယ်။ 2546 01:34:31,679 --> 01:34:32,800 နှင့် ကော်မာ 2547 01:34:32,800 --> 01:34:35,040 ဒါကြောင့် ဒီ compiler က တကယ်ကောင်းပါတယ်။ 2548 01:34:35,040 --> 01:34:36,880 ဘယ်မှာလဲဆိုတာ အတိအကျပြောပြထားလို့ပါ။ 2549 01:34:36,880 --> 01:34:39,360 errors တွေရော ဘာတွေပါလဲ။ 2550 01:34:39,360 --> 01:34:41,600 errors တွေဆိုတော့ ဒီကိစ္စမှာ ကျွန်တော်တို့ ဖယ်ဖို့လိုတယ်။ 2551 01:34:41,600 --> 01:34:44,400 l နဲ့ ဒီမှာ အစက်ထည့်ရမယ်။ 2552 01:34:44,400 --> 01:34:46,320 စာကြောင်းရဲ့အဆုံးမှာ ကော်မာနဲ့ ရေးရအောင် 2553 01:34:46,320 --> 01:34:48,320 ငါတို့ချက်ချင်းလုပ်ပါ။ 2554 01:34:48,320 --> 01:34:49,440 သွားကြရအောင် 2555 01:34:49,440 --> 01:34:51,360 ဒီမှာ 2556 01:34:51,360 --> 01:34:52,960 ဤနေရာတွင် ကျွန်ုပ်တို့ထည့်ရမည့် လိုင်းဖြစ်သည်။ 2557 01:34:52,960 --> 01:34:55,679 အစက်ကော်မာ 2558 01:34:57,520 --> 01:34:58,639 နှင့် 2559 01:34:58,639 --> 01:35:00,800 ဤနေရာတွင် ကျွန်ုပ်တို့ ဖျက်လိုသော စာကြောင်းဖြစ်ပါသည်။ 2560 01:35:00,800 --> 01:35:01,840 ထွက် 2561 01:35:01,840 --> 01:35:04,480 အဲဒါတွေအားလုံးကို ပြင်ပြီးတာနဲ့ သိမ်းလိုက်ကြရအောင် 2562 01:35:04,480 --> 01:35:07,440 ထွက်ပြီး ဆာဗာကို တစ်ခါတည်း စုစည်းလိုက်ရအောင် 2563 01:35:07,440 --> 01:35:09,679 နောက်တခါ ငါတို့ အခုမှမတွေ့တာ။ 2564 01:35:09,679 --> 01:35:11,520 မည်သည့်အမှားအယွင်းများမဆိုရရှိပြီးကျွန်ုပ်တို့၏ဆာဗာဖြစ်သည်။ 2565 01:35:11,520 --> 01:35:14,239 စုစည်းပြီး ဤနေရာတွင် သိမ်းဆည်းထားသည်။ 2566 01:35:14,239 --> 01:35:15,760 desktop ကို 2567 01:35:15,760 --> 01:35:17,760 ဟုတ်ပြီ ဒါဆို အခု ငါတို့မှာ ရှိတယ်။ 2568 01:35:17,760 --> 01:35:20,719 server compiled က compile လုပ်လို့ရတယ်။ 2569 01:35:20,719 --> 01:35:21,920 တံခါး 2570 01:35:21,920 --> 01:35:24,159 ယခုနောက်ကျောကို compiling အတွက် command ကို 2571 01:35:24,159 --> 01:35:25,840 တံခါးက နည်းနည်းရှည်တယ် ဆိုတော့ ငါတို့ လုပ်မယ်။ 2572 01:35:25,840 --> 01:35:27,679 ဒီမှာ ဖြည်းဖြည်းချင်း သွားရမယ်။ 2573 01:35:27,679 --> 01:35:30,800 အစက i 686 နဲ့ စတယ်။ 2574 01:35:30,800 --> 01:35:31,800 ဒက်ရှ် 2575 01:35:31,800 --> 01:35:33,360 w64 2576 01:35:33,360 --> 01:35:37,600 dash ming w32 dash gcc ဆိုတော့ ဒါကပေါ့။ 2577 01:35:37,600 --> 01:35:40,000 program name ကို compilation လုပ်ပါမယ်။ 2578 01:35:40,000 --> 01:35:43,119 Window 32-bit အတွက် ဖြစ်ရခြင်း အကြောင်းအရင်း 2579 01:35:43,119 --> 01:35:44,800 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ ပရိုဂရမ်တစ်ခုဖြစ်အောင် စုစည်းနေပါသည်။ 2580 01:35:44,800 --> 01:35:46,960 windows 32-bit program က a 2581 01:35:46,960 --> 01:35:49,199 32-bit ပရိုဂရမ်နှစ်ခုလုံးတွင် run နိုင်သည်။ 2582 01:35:49,199 --> 01:35:52,159 windows 32-bit နှင့် 64-bit တို့ဖြစ်သည်။ 2583 01:35:52,159 --> 01:35:54,480 အကယ်၍ ကျွန်ုပ်တို့၏ပစ်မှတ်သည် ဥပမာ 32-bit ဖြစ်သည်။ 2584 01:35:54,480 --> 01:35:56,560 စက်နဲ့ ကျွန်တော်တို့ရဲ့ ပရိုဂရမ်ကို ပြုစုပေးလိုက်တယ်။ 2585 01:35:56,560 --> 01:35:59,199 64-bit ပရိုဂရမ်ဖြစ်လျှင် ထိုသို့မဖြစ်ပါ။ 2586 01:35:59,199 --> 01:36:02,000 ဒီပစ်မှတ်စနစ်မှာ တကယ်အလုပ်လုပ်တယ်။ 2587 01:36:02,000 --> 01:36:05,199 ဒီအခြေအနေမှာ နှစ်ကြိမ်လုံး လည်ပတ်နိုင်ပါလိမ့်မယ်။ 2588 01:36:05,199 --> 01:36:08,639 ဒါကြောင့် i686 လို့ရိုက်ပြီး dash o လို့ရိုက်ပါ။ 2589 01:36:08,639 --> 01:36:11,040 ပြီးရင် ဖိုင်နာမည်ကို သတ်မှတ်ပေးတယ်။ 2590 01:36:11,040 --> 01:36:13,440 ကျွန်ုပ်တို့၏ compile program ကို ကျွန်ုပ်တို့ဟုခေါ်သည်။ 2591 01:36:13,440 --> 01:36:14,480 ခေါ်နိုင်သည်။ 2592 01:36:14,480 --> 01:36:16,880 malware.txc 2593 01:36:16,880 --> 01:36:18,639 အဲဒါပြီးရင် ဖိုင်နာမည်ကို ပေးလိုက်ပါ။ 2594 01:36:18,639 --> 01:36:20,320 ငါ့ကိစ္စမှာ မင်းပြုစုနေတာ 2595 01:36:20,320 --> 01:36:21,920 backdoor.c 2596 01:36:21,920 --> 01:36:24,159 အဲဒါပြီးရင် ကျွန်တော်တို့ အနည်းငယ် သတ်မှတ်ဖို့ လိုပါတယ်။ 2597 01:36:24,159 --> 01:36:26,480 ကျွန်ုပ်တို့၏ command တွင် မတူညီသော စာကြည့်တိုက်များ 2598 01:36:26,480 --> 01:36:29,040 socket windows programming အတွက် သုံးပါတယ်။ 2599 01:36:29,040 --> 01:36:31,040 အဲဒါရဲ့နောက်ကွယ်က အကြောင်းအရင်းက ဘာကြောင့်လဲ။ 2600 01:36:31,040 --> 01:36:32,800 ကျွန်ုပ်တို့သည် windows ပရိုဂရမ်တစ်ခုပေါ်တွင် စုစည်းနေပါသည်။ 2601 01:36:32,800 --> 01:36:34,719 linux ပတ်ဝန်းကျင်ကို ရအောင်လုပ်ဖို့ လိုပါတယ်။ 2602 01:36:34,719 --> 01:36:35,520 သိသည်။ 2603 01:36:35,520 --> 01:36:38,000 ကျွန်ုပ်တို့အသုံးပြုနေသော ကျွန်ုပ်တို့၏ compiler အချို့ 2604 01:36:38,000 --> 01:36:39,760 windows စာကြည့်တိုက်တွေအတွက် 2605 01:36:39,760 --> 01:36:44,080 ဥပမာ dash lw sock 32 2606 01:36:44,080 --> 01:36:46,560 နှင့် dash lw 2607 01:36:46,560 --> 01:36:48,320 i နှင့် inet 2608 01:36:48,320 --> 01:36:49,199 အဆင်ပြေပါတယ်။ 2609 01:36:49,199 --> 01:36:50,719 ဒါကြောင့် သင်လုပ်နိုင်အောင် ဒီဟာကို ဇူးမ်ဆွဲလိုက်မယ်။ 2610 01:36:50,719 --> 01:36:52,880 အဲဒါကို ပိုကောင်းအောင် မြင်တယ်၊ ဒီမှာ 2611 01:36:52,880 --> 01:36:55,119 သင်ဤသို့ထည့်သည်နှင့်တစ်ပြိုင်နက် command တစ်ခုလုံး 2612 01:36:55,119 --> 01:36:57,920 command here ကိုနှိပ်၍ enter နှင့်ကြည့်နိုင်ပါသည်။ 2613 01:36:57,920 --> 01:37:00,960 ဒီနေရာမှာ အမှားအယွင်းတချို့လည်း ရှိခဲ့ပါတယ်။ 2614 01:37:00,960 --> 01:37:02,880 ပထမတစ်ခုတွင် ကျွန်ုပ်တို့သည် တစ်ခုပျောက်ဆုံးနေသည်။ 2615 01:37:02,880 --> 01:37:05,119 မချိတ်ဆက်မီ ကွင်းပိတ် 2616 01:37:05,119 --> 01:37:08,480 နောက်ပြီး sizeof ပြီးရင် 2617 01:37:08,480 --> 01:37:11,199 အဲဒါကို ဒီမှာ ပြင်ရအောင် 2618 01:37:11,199 --> 01:37:14,080 နာနို backdoor.c 2619 01:37:14,080 --> 01:37:16,000 ငါတို့ရှိရာ တောက်လျှောက်သွားကြရအောင် 2620 01:37:16,000 --> 01:37:18,880 ချိတ်ဆက်မှုလုပ်ဆောင်ချက်သည် ဤနေရာတွင် ကျွန်ုပ်တို့ဖြစ်သည်။ 2621 01:37:18,880 --> 01:37:20,400 ထည့်ရန် လိုအပ်သည်။ 2622 01:37:20,400 --> 01:37:21,520 ကွင်းပိတ် 2623 01:37:21,520 --> 01:37:23,440 ဤနေရာတွင် ကွင်းပိတ်ကိုဖွင့်လိုက်သောကြောင့်ဖြစ်သည်။ 2624 01:37:23,440 --> 01:37:27,199 ဒါကိုလည်း ဒီမှာ ပိတ်ဖို့ လိုတယ်။ 2625 01:37:27,199 --> 01:37:29,360 ဒါကို ကယ်တင်ပါ။ 2626 01:37:29,360 --> 01:37:32,159 အဲဒါကို နောက်တစ်ကြိမ် စုစည်းဖို့ ကြိုးစားကြည့်ရအောင် 2627 01:37:32,159 --> 01:37:34,480 ဒါကိုလည်း ကျွန်တော်တို့ မြင်နိုင်ပါတယ်။ 2628 01:37:34,480 --> 01:37:37,280 နောက်မှ error ကင်းတယ်။ 2629 01:37:37,280 --> 01:37:38,719 အခုက ပရိုဂရမ် နှစ်ခုစလုံး ရနေပြီ။ 2630 01:37:38,719 --> 01:37:41,760 စုစည်းထားသော Malware ကို ကျွန်ုပ်တို့ထံ လွှဲပြောင်းပေးကြပါစို့ 2631 01:37:41,760 --> 01:37:44,719 ဒီနေရာက windows ပတ်ဝန်းကျင် 2632 01:37:44,719 --> 01:37:46,400 ဒါပထမဆုံးစမ်းသပ်မှုပဲမို့လို့ပါ။ 2633 01:37:46,400 --> 01:37:48,800 ဒါကို ပုံတစ်ပုံဖြစ်အောင် မကြိုးစားဘူး ဒါမှမဟုတ် ငါလုပ်မယ်။ 2634 01:37:48,800 --> 01:37:50,880 ဒီလိုဖြစ်အောင်မကြိုးစားပါနဲ့။ 2635 01:37:50,880 --> 01:37:53,600 ဖြစ်သင့်သလောက်တော့ သိနိုင်တာပေါ့။ 2636 01:37:53,600 --> 01:37:55,280 အစီအစဉ်ရှိမရှိ ရိုးရိုးရှင်းရှင်းလေးပဲ ကြည့်လိုက်ပါ။ 2637 01:37:55,280 --> 01:37:57,440 အလုပ်လုပ်တဲ့အတွက် usb နဲ့ လွှဲပေးမယ်။ 2638 01:37:57,440 --> 01:37:59,600 မောင်း 2639 01:37:59,600 --> 01:38:01,440 နှင့် 2640 01:38:01,440 --> 01:38:02,960 command ကို run 2641 01:38:02,960 --> 01:38:05,119 mv malware.exe 2642 01:38:05,119 --> 01:38:07,920 flash media root ပြီးရင် my name ပါ။ 2643 01:38:07,920 --> 01:38:11,119 usb drive ကို ရွှေ့ပြီးတာနဲ့ အဲဒီ့ကို သွားမယ်။ 2644 01:38:11,119 --> 01:38:14,000 usb drive ကိုဖြုတ်ပြီး run လိုက်ပါမယ်။ 2645 01:38:14,000 --> 01:38:16,080 ဆာဗာ 2646 01:38:16,080 --> 01:38:17,840 ကျွန်ုပ်၏ဆာဗာကို run သည်နှင့်တပြိုင်နက် 2647 01:38:17,840 --> 01:38:20,960 ငါ program ကို run မယ်။ 2648 01:38:21,040 --> 01:38:23,040 Desktop ပေါ်မှာပဲ paste လုပ်ပါရစေ 2649 01:38:23,040 --> 01:38:25,760 ဤနေရာတွင် ဤနေရာတွင် ကျွန်ုပ်တို့၏ malware ဖြစ်သည်။ 2650 01:38:25,760 --> 01:38:27,679 အဲဒါကို double click လိုက်ရင် 2651 01:38:27,679 --> 01:38:29,920 ဘာမှမဖြစ်ဘူးဆိုတာ မင်းမြင်လိမ့်မယ်။ 2652 01:38:29,920 --> 01:38:32,560 ဒီမှာဖွင့်တာ ဘာမှမရှိဘူး။ 2653 01:38:32,560 --> 01:38:34,080 ပစ်မှတ်က ဒီလိုဖြစ်မယ်ထင်တယ်။ 2654 01:38:34,080 --> 01:38:36,080 ဒီပရိုဂရမ်က အလုပ်မလုပ်ဘူးဆိုရင်တော့ 2655 01:38:36,080 --> 01:38:38,480 ကျွန်ုပ်တို့မြင်နိုင်သော kel linux စက်သို့သွားပါ။ 2656 01:38:38,480 --> 01:38:41,360 ကျွန်တော်တို့ရဲ့ shell ကိုဒီမှာနှိပ်ပါ။ 2657 01:38:41,360 --> 01:38:43,440 အကယ်၍ ကျွန်ုပ်တို့သည် အမိန့်များကို အကောင်အထည်ဖော်နိုင်သည် 2658 01:38:43,440 --> 01:38:45,280 ဥပမာ ငါက who am ရိုက်ရရင် လိုချင်တယ်။ 2659 01:38:45,280 --> 01:38:46,400 ငါ 2660 01:38:46,400 --> 01:38:48,480 ၎င်းသည် ကျွန်ုပ်တို့အား အမည်၏အထွက်ကို ပေးလိမ့်မည်။ 2661 01:38:48,480 --> 01:38:50,000 ဤ PC ၏ 2662 01:38:50,000 --> 01:38:51,920 ဥပမာ ငါရိုက်ရင် 2663 01:38:51,920 --> 01:38:53,600 ipconfig 2664 01:38:53,600 --> 01:38:55,440 ငါ့ရဲ့ ip လိပ်စာကို ပေးလိမ့်မယ်။ 2665 01:38:55,440 --> 01:38:57,600 windows 10 စက် 2666 01:38:57,600 --> 01:39:00,080 ဥပမာ tier လို့ရိုက်လိုက်ရင် အားလုံးမြင်နိုင်ပါတယ်။ 2667 01:39:00,080 --> 01:39:02,800 လက်ရှိ directory ထဲက ဖိုင်တွေ 2668 01:39:02,800 --> 01:39:06,080 ဒီစက်ရဲ့ desktop ပါ။ 2669 01:39:06,080 --> 01:39:08,880 ဒါကြောင့် ကျွန်တော်တို့ရဲ့ command တွေကို အကောင်အထည်ဖော်တာက အလုပ်ဖြစ်ပါစေ။ 2670 01:39:08,880 --> 01:39:10,800 queue command က အလုပ်မလုပ်ရင် ကြည့်ပါ။ 2671 01:39:10,800 --> 01:39:12,400 တန်းစီခြင်းကို ကျွန်ုပ်တို့ သတ်မှတ်ပါသည်။ 2672 01:39:12,400 --> 01:39:14,719 ကျွန်တော်တို့က ပရိုဂရမ်ကို ဖြတ်လိုက်တဲ့အတွက် အားလုံးအဆင်ပြေပါတယ်။ 2673 01:39:14,719 --> 01:39:15,920 တကယ်ကောင်းပါတယ်။ 2674 01:39:15,920 --> 01:39:18,080 ကျွန်ုပ်တို့ နှုတ်ထွက်နိုင်သော အမိန့်များကို လုပ်ဆောင်နိုင်သည်။ 2675 01:39:18,080 --> 01:39:20,159 ပရိုဂရမ်ထဲမှာ ကျွန်တော်တို့ လုပ်စရာတွေ ကျန်သေးတယ်။ 2676 01:39:20,159 --> 01:39:22,560 အနာဂတ်ဗီဒီယိုများသည် မတူညီသောလုပ်ဆောင်ချက်များကို ထည့်သွင်းထားသည်။ 2677 01:39:22,560 --> 01:39:24,560 ကျွန်ုပ်တို့၏ အစီအစဉ်ကို ပို၍ပင်ဖြစ်စေရန် 2678 01:39:24,560 --> 01:39:27,040 အန္တရာယ်ရှိသည်။ 2679 01:39:27,040 --> 01:39:29,040 အဆုံးမှာ အချို့ကို ငါပြမယ်။ 2680 01:39:29,040 --> 01:39:30,639 ဖျောက်နည်း နည်းစနစ် 2681 01:39:30,639 --> 01:39:33,600 ရုပ်ပုံတစ်ပုံကို အသံဖြစ်အောင် ဘယ်လိုလုပ်ရမလဲဆိုတဲ့ ပရိုဂရမ် 2682 01:39:33,600 --> 01:39:36,159 pdf ဖိုင် သို့မဟုတ် သင်ပြုလုပ်လိုသမျှကို ရေးပါ။ 2683 01:39:36,159 --> 01:39:37,040 အဲဒါ 2684 01:39:37,040 --> 01:39:39,679 ပြီးတော့ သင်လုပ်နိုင်တဲ့ အဆင့်အနည်းငယ်လည်း ပါပါတယ်။ 2685 01:39:39,679 --> 01:39:41,920 ၎င်းကို သိရှိနိုင်မှု နည်းပါးစေရန်အတွက် 2686 01:39:41,920 --> 01:39:45,119 antivirus များနှင့် windows နောက်ခံလူ 2687 01:39:45,119 --> 01:39:46,400 ဒါကြောင့် ဒီအချက်လေးကို သင်နှစ်သက်မယ်လို့ မျှော်လင့်ပါတယ်။ 2688 01:39:46,400 --> 01:39:48,639 ကျွန်ုပ်တို့၏ပထမဆုံးစမ်းသပ်မှုမိတ်ဆက် 2689 01:39:48,639 --> 01:39:50,880 malware နှင့်ကျွန်ုပ်တို့ဆက်လက်ထည့်သွင်းပါမည်။ 2690 01:39:50,880 --> 01:39:54,400 အဲဒါကို နောက်သင်ခန်းစာမှာ နှုတ်ဆက်ပါတယ်။ 2691 01:39:54,400 --> 01:39:56,960 အားလုံးပဲမင်္ဂလာပါ ပြန်လာမှကြိုဆိုပါတယ်။ 2692 01:39:56,960 --> 01:39:59,119 ယခင်ဗီဒီယိုတွင် ကျွန်ုပ်တို့လုပ်ဆောင်ခဲ့သည်။ 2693 01:39:59,119 --> 01:40:01,440 ကျွန်ုပ်တို့၏ Malware ကို ပထမဆုံးစမ်းသပ်ပြီး အလုပ်လုပ်ပါသည်။ 2694 01:40:01,440 --> 01:40:03,679 အချို့သော အသေးအဖွဲကိစ္စများကို ကျွန်ုပ်တို့ မှန်မှန်ကန်ကန် လုပ်ဆောင်ပါ။ 2695 01:40:03,679 --> 01:40:05,119 ပြင်နိုင်ခဲ့ပါတယ်။ 2696 01:40:05,119 --> 01:40:07,440 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို လုပ်ဆောင်ရန်နှင့် အကောင်အထည်ဖော်ရန်ရှိသည်။ 2697 01:40:07,440 --> 01:40:09,520 ကျွန်ုပ်တို့၏အမိန့်များ 2698 01:40:09,520 --> 01:40:11,840 ယခု ကျွန်ုပ်တို့သည် ၎င်းကို ပေါင်းထည့်ရန် လိုအပ်ပါသည်။ 2699 01:40:11,840 --> 01:40:13,679 ရွေးချယ်စရာများ 2700 01:40:13,679 --> 01:40:16,400 ဤနေရာတွင် ဖိုင်နှစ်ခုနှင့် ဖိုင်နှစ်ခုရှိသည်။ 2701 01:40:16,400 --> 01:40:18,480 ကျွန်တော်တို့ ပထမဆုံးလုပ်ချင်တာက ဖြစ်ဖို့ပါ။ 2702 01:40:18,480 --> 01:40:21,040 ကျွန်ုပ်တို့ hack ပြီးသည်နှင့် directory ကိုပြောင်းလဲနိုင်သည်။ 2703 01:40:21,040 --> 01:40:23,520 ပစ်မှတ်စက်တစ်ခု 2704 01:40:23,520 --> 01:40:26,000 ထို့ကြောင့် သင်သည် ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို ယခုတိုင်အောင် စမ်းသပ်မည်ဆိုပါက၊ 2705 01:40:26,000 --> 01:40:28,000 တတ်နိုင်ပေမဲ့ သတိပြုမိပါလိမ့်မယ်။ 2706 01:40:28,000 --> 01:40:30,000 အဲဒီမှာ command တွေကို တကယ် execute လုပ်ပါ။ 2707 01:40:30,000 --> 01:40:32,239 အချို့သော အမိန့်များကို ကျွန်ုပ်တို့ မလုပ်ဆောင်နိုင်သေးပါ။ 2708 01:40:32,239 --> 01:40:34,960 ဥပမာ cd လိုမျိုး execute လုပ်ပါ။ 2709 01:40:34,960 --> 01:40:36,400 အမိန့် 2710 01:40:36,400 --> 01:40:38,719 cd command သည် windows နှစ်ခုလုံးတွင်ရပ်သည်။ 2711 01:40:38,719 --> 01:40:40,960 နှင့် linux သည် သင်လမ်းညွှန်ချက်ကို ပြောင်းလဲရန်အတွက်ဖြစ်သည်။ 2712 01:40:40,960 --> 01:40:44,080 ရိုးရိုး cd လို့ရိုက်ပြီး desktop ပေါ်တင်လိုက်ပါ။ 2713 01:40:44,080 --> 01:40:45,600 ၎င်းသည် directory အဖြစ်သို့ပြောင်းလဲလိမ့်မည်။ 2714 01:40:45,600 --> 01:40:48,000 desktop ပေါ်မှာ tier လို့ရိုက်ထည့်လို့ရပါတယ်။ 2715 01:40:48,000 --> 01:40:49,760 ဖိုင်တွေအားလုံးကို သင်မြင်ရပါလိမ့်မယ်။ 2716 01:40:49,760 --> 01:40:52,400 အဲဒီ directory ထဲမှာရှိတဲ့ folders တွေနဲ့ 2717 01:40:52,400 --> 01:40:53,360 ဒီ 2718 01:40:53,360 --> 01:40:55,520 ဤအမိန့်တော်နှစ်ခုသည်လည်း အလုပ်ဖြစ်၏ 2719 01:40:55,520 --> 01:40:57,760 windows မှာလည်း ထိုနည်းအတိုင်းပါပဲ။ 2720 01:40:57,760 --> 01:40:59,920 ဒါပေမယ့် ငါတို့ ပရိုဂရမ်ကနေ ဒါကို run ရင် 2721 01:40:59,920 --> 01:41:02,239 cd desktop လို့ ရိုက်ထည့်လိုက်ရင် တွေ့ရပါလိမ့်မယ်။ 2722 01:41:02,239 --> 01:41:04,400 directory ကို a အဖြစ်သို့မပြောင်းပါ။ 2723 01:41:04,400 --> 01:41:06,560 လိုချင်တဲ့ directory နဲ့ အခုပဲ စလိုက်ကြရအောင် 2724 01:41:06,560 --> 01:41:08,960 အဲဒါကို ဘယ်လိုပြင်ရမလဲဆိုတာ ကြည့်ပါ။ 2725 01:41:08,960 --> 01:41:10,719 ကောင်းပြီ၊ အမှန်တကယ်တော့ နည်းနည်းတော့ ဖြစ်လိမ့်မယ်။ 2726 01:41:10,719 --> 01:41:13,280 ထင်တာထက် ပိုခက်တယ်။ 2727 01:41:13,280 --> 01:41:15,440 ဖွင့်လှစ်ခြင်းဖြင့် စတင်ပါမည်။ 2728 01:41:15,440 --> 01:41:18,480 ကျွန်ုပ်တို့၏ backdoor.c နှင့် ကျွန်ုပ်တို့ထံသို့ သွားလာနေပါသည်။ 2729 01:41:18,480 --> 01:41:20,719 shell function ပျက်ပြယ်သည်။ 2730 01:41:20,719 --> 01:41:22,480 ဒီတော့ ငါတို့ ဘာလုပ်ချင်လဲ။ 2731 01:41:22,480 --> 01:41:24,719 ကျွန်ုပ်တို့သည် ၎င်းအတွက် ရွေးချယ်မှုတစ်ခုကို ထည့်လိုပါသလား။ 2732 01:41:24,719 --> 01:41:27,040 အနီးတစ်ဝိုက်တွင် လမ်းညွှန်မှုပြောင်းလဲခြင်း။ 2733 01:41:27,040 --> 01:41:28,320 ဒီမှာ 2734 01:41:28,320 --> 01:41:30,400 အဲဒီတော့ တခြားတစ်ခုကို ဖန်တီးမယ်။ 2735 01:41:30,400 --> 01:41:33,199 အဲဒီနှစ်ခုကြားက ကြေငြာချက်ကို သွားလိုက်ပါ။ 2736 01:41:33,199 --> 01:41:35,360 ဤကွင်းစကွင်းပိတ်သည် ဤနေရာကိုနှိပ်၍ enter နှင့်ရိုက်ပါ။ 2737 01:41:35,360 --> 01:41:36,800 ဒီမှာ တခြား 2738 01:41:36,800 --> 01:41:38,159 အကယ်၍ 2739 01:41:38,159 --> 01:41:39,920 ငါတို့ဘာလုပ်ချင်လဲ။ 2740 01:41:39,920 --> 01:41:43,440 command ကို cd နဲ့ နှိုင်းယှဉ်ချင်ပါတယ်။ 2741 01:41:43,440 --> 01:41:45,199 ဒါကြောင့် တူညီတဲ့လုပ်ဆောင်ချက်ကို အသုံးပြုပါမယ်။ 2742 01:41:45,199 --> 01:41:47,600 string comparison ကို ဒီမှာ ရိုက်ထည့်လိုက်ရအောင် 2743 01:41:47,600 --> 01:41:49,600 strn cmp 2744 01:41:49,600 --> 01:41:52,800 ပြီးတော့ cd နဲ့ နှိုင်းယှဉ်ချင်ပါတယ်။ 2745 01:41:52,800 --> 01:41:55,920 ကြားခံနှင့်အတူ 2746 01:41:56,000 --> 01:41:56,880 နှင့် 2747 01:41:56,880 --> 01:41:57,679 သို့ 2748 01:41:57,679 --> 01:42:01,040 ဇာတ်ကောင်တွေ အဆင်ပြေတဲ့အတွက် ဒါကို နှိုင်းယှဉ်ကြည့်တာပါ။ 2749 01:42:01,040 --> 01:42:03,360 ဒီမှာ 2750 01:42:03,360 --> 01:42:05,600 ဒါ​ပေမယ့်​ တကယ်​လို့ ကျွန်​​တော်​တို့ ဒီဟာကို စွန့်​ခွာသွားခဲ့ရင်​ 2751 01:42:05,600 --> 01:42:07,600 cd နဲ့ စာလုံးနှစ်လုံးပါပါတယ်။ 2752 01:42:07,600 --> 01:42:10,400 နှိုင်းယှဥ်လိုက်ရင် အလုပ်မဖြစ်သေးဘူး။ 2753 01:42:10,400 --> 01:42:12,639 လုပ်ရမှာက အရင်နှိုင်းယှဉ်ဖို့ လိုတယ်။ 2754 01:42:12,639 --> 01:42:14,719 စာလုံးသုံးလုံး 2755 01:42:14,719 --> 01:42:17,199 အဲဒါကို cd နဲ့ နှိုင်းယှဉ်ဖို့ လိုပါတယ်။ 2756 01:42:17,199 --> 01:42:20,400 ပြီးရင် လွတ်နေတဲ့နေရာကို cd လို့ရိုက်လိုက်ပါ။ 2757 01:42:20,400 --> 01:42:22,480 ပြီးရင် မင်းရဲ့နှစ်ထပ်ကြားမှာ နေရာလွတ် 2758 01:42:22,480 --> 01:42:25,040 သင်ကိုးကားချက်များကို ကြားခံတစ်ခုနှင့် နှိုင်းယှဉ်ပါ။ 2759 01:42:25,040 --> 01:42:28,560 အခုက နံပါတ်သုံးနဲ့ နှိုင်းတယ်။ 2760 01:42:28,560 --> 01:42:30,080 ငါတို့ဘာကြောင့်ဖြစ်တာလဲ ငါရှင်းပြမယ်။ 2761 01:42:30,080 --> 01:42:32,639 တခါတည်း နှိုင်းယှဥ်လိုက်ရင် ကောင်းတယ်။ 2762 01:42:32,639 --> 01:42:34,080 directory တစ်ခုလုံးကိုပြောင်းပါ။ 2763 01:42:34,080 --> 01:42:36,239 command မှာ cd ပါ၀င်ပါတယ်။ 2764 01:42:36,239 --> 01:42:39,040 အပိုင်းနဲ့ လမ်းညွှန်အပိုင်း ဆိုတော့ 2765 01:42:39,040 --> 01:42:42,320 ဥပမာ ငါ အခု ဘာလုပ်မယ်။ 2766 01:42:42,320 --> 01:42:46,000 ငါ နောက်ထပ် terminal ကိုဖွင့်တော့မယ်။ 2767 01:42:46,000 --> 01:42:47,920 ပြီးလျှင် စာရွက်ကိုဖွင့်ပါ။ 2768 01:42:47,920 --> 01:42:49,440 ဒါမှ အားလုံးနားလည်နိုင်မှာပါ။ 2769 01:42:49,440 --> 01:42:52,239 ဤနေရာတွင် ကျွန်ုပ်တို့မြင်နိုင်သကဲ့သို့ ပိုကောင်းသည်။ 2770 01:42:52,239 --> 01:42:55,440 ဒါက command နဲ့တူတယ်။ 2771 01:42:55,440 --> 01:42:57,040 ၎င်းသည် desktop ဖြစ်ရန်မလိုအပ်ပါ။ 2772 01:42:57,040 --> 01:42:58,560 for ကဲ့သို့သော အခြား directory တစ်ခုခု ဖြစ်ပါစေ။ 2773 01:42:58,560 --> 01:43:00,320 ဥပမာ ဒေါင်းလုဒ်များ 2774 01:43:00,320 --> 01:43:03,199 ဒီတော့ cd နဲ့ ယှဉ်လိုက်ရင် 2775 01:43:03,199 --> 01:43:04,719 ကျွန်ုပ်တို့၏ကြားခံနှင့် 2776 01:43:04,719 --> 01:43:06,400 အိုး 2777 01:43:06,400 --> 01:43:08,239 အမှန်အားဖြင့် ၎င်းကို မှားယွင်းနိုင်သည်။ 2778 01:43:08,239 --> 01:43:11,040 ရိုးရှင်းသော cd command သည် windows တွင်ဖြစ်သည်။ 2779 01:43:11,040 --> 01:43:13,520 လက်ရှိအလုပ်လုပ်နေသောလမ်းညွှန်ကို print ထုတ်သည်။ 2780 01:43:13,520 --> 01:43:16,080 ဒီတော့ ဒီ commands တွေကို ဘယ်လိုကြည့်ရအောင် 2781 01:43:16,080 --> 01:43:18,159 ကျွန်ုပ်တို့၏ဖွင့်ပြတင်းပေါက်များတွင် အလုပ်လုပ်ပါ။ 2782 01:43:18,159 --> 01:43:20,480 command prompt က ဒီမှာပါ။ 2783 01:43:20,480 --> 01:43:23,119 cd လို့ရိုက်လိုက်ရင် တွေ့ပါလိမ့်မယ်။ 2784 01:43:23,119 --> 01:43:25,280 လက်ရှိလုပ်နေတဲ့ အလုပ်အကြောင်း ပြောပြပေးပါ။ 2785 01:43:25,280 --> 01:43:28,400 ဥပမာ cd လို့ရိုက်လိုက်ရင် directory ပေါ့။ 2786 01:43:28,400 --> 01:43:30,960 ပြီးတော့ c 2787 01:43:31,920 --> 01:43:35,199 အိုး အဲဒါက cdc ဖြစ်ပြီးတော့ မျဉ်းစောင်းနဲ့ ရေးပါမယ်။ 2788 01:43:35,199 --> 01:43:37,280 ဒါရိုက်ထရီကို ပြောင်းမယ်ဆိုတာကို ကြည့်ပါ။ 2789 01:43:37,280 --> 01:43:39,199 c drive ကို 2790 01:43:39,199 --> 01:43:42,080 ဒါကြောင့် ဒီ command နှစ်ခုက မတူပါဘူး။ 2791 01:43:42,080 --> 01:43:43,840 ငါတို့က တစ်ခုနဲ့တစ်ခု မမှားချင်ဘူး။ 2792 01:43:43,840 --> 01:43:46,239 နောက်တစ်ခုက အဲ့ဒါကြောင့် ငါတို့အရင်နှိုင်း 2793 01:43:46,239 --> 01:43:48,800 ငါတို့ command မှာရှိရင် စာလုံးသုံးလုံးရှိတယ်။ 2794 01:43:48,800 --> 01:43:51,360 ပြီးနောက် အဓိပ္ပါယ်မှာ လွတ်နေသော နေရာဖြစ်သည်။ 2795 01:43:51,360 --> 01:43:53,760 အဲဒီမှာ directory name ပေါ်လာလိမ့်မယ်။ 2796 01:43:53,760 --> 01:43:55,760 ဆိုလိုတာက နေရာလွတ် မဟုတ်ဘူး။ 2797 01:43:55,760 --> 01:43:58,159 command သည် အက္ခရာ နှစ်လုံး နှင့် command ဖြစ်သည် 2798 01:43:58,159 --> 01:44:01,280 cd အဆင်ပြေပါတယ်။ 2799 01:44:01,280 --> 01:44:03,199 ဒါကြောင့် ဒီရွက်ဖျင်ကို အခုပဲထားခဲ့မယ်။ 2800 01:44:03,199 --> 01:44:05,199 ဘာကြောင့်လဲ ဆိုတော့ ကျွန်တော်တို့က အဲဒါကို တစ်ရုံတည်းနဲ့ လိုအပ်တော့မယ်။ 2801 01:44:05,199 --> 01:44:06,719 ဒုတိယ 2802 01:44:06,719 --> 01:44:08,560 ငါ ဒါကို ဖျက်ပစ်လိုက်မယ်။ 2803 01:44:08,560 --> 01:44:12,080 ဒါကိုပိတ်ပြီး ပြန်ပိတ်ခွင့်ပေးလိုက်ပါ။ 2804 01:44:12,080 --> 01:44:14,480 ငါတို့ရဲ့ အစီအစဉ်နဲ့ အခုပဲ မင်းကတည်းက 2805 01:44:14,480 --> 01:44:16,000 ပထမသုံးချက်ကို ဘာကြောင့် နှိုင်းယှဉ်ရသလဲ သိပါရစေ 2806 01:44:16,000 --> 01:44:17,840 ဇာတ်ကောင်တွေ ဆက်ကြည့်ရအောင် 2807 01:44:17,840 --> 01:44:21,040 elsif string နှိုင်း ညီမျှသည် ညီမျှသည် 2808 01:44:21,040 --> 01:44:23,440 သုည 2809 01:44:23,679 --> 01:44:25,920 အဲဒီအခါမှာ ကျွန်တော်တို့ ဘာတွေလုပ်ဆောင်ဖို့ လိုအပ်လဲ။ 2810 01:44:25,920 --> 01:44:28,800 directory ကိုပြောင်းလဲခြင်းတစ်ခုဖြစ်သည်။ 2811 01:44:28,800 --> 01:44:30,639 c တွင် အမှန်တကယ် function တစ်ခုရှိသည်။ 2812 01:44:30,639 --> 01:44:32,800 အဲဒီမှာ ch လို့ခေါ်တယ်။ 2813 01:44:32,800 --> 01:44:35,840 ဒါရိုက်တာကို သတ်မှတ်နိုင်စေတယ်။ 2814 01:44:35,840 --> 01:44:38,080 ကွင်းစကွင်းပိတ်များကြားတွင် နာမည်၊ 2815 01:44:38,080 --> 01:44:40,159 ကျွန်ုပ်တို့၏အတွင်း၌ directory ကိုပြောင်းလဲလိမ့်မည်။ 2816 01:44:40,159 --> 01:44:43,679 သတ်မှတ်ထားသော လမ်းညွှန်သို့ ပရိုဂရမ် 2817 01:44:43,679 --> 01:44:46,080 ဒါပေမယ့် ဒါကို ငါတို့ ဘယ်လို လုပ်နိုင်မှာလဲ။ 2818 01:44:46,080 --> 01:44:49,440 ကျွန်ုပ်တို့ ဤနေရာတွင် ကြားခံကို သတ်မှတ်၍ မရပါ။ 2819 01:44:49,440 --> 01:44:51,280 buffer သည် တစ်ခုလုံးဖြစ်လိမ့်မည်။ 2820 01:44:51,280 --> 01:44:54,719 cd space ပါ၀င်သည့် command လည်းဖြစ်သည်။ 2821 01:44:54,719 --> 01:44:56,800 လမ်းညွှန်အမည်အဖြစ် 2822 01:44:56,800 --> 01:44:58,560 ထို့ကြောင့် ပရိုဂရမ်သည် ပြောင်းလဲရန် ကြိုးစားသည်။ 2823 01:44:58,560 --> 01:45:01,119 directory တွေကို ဥပမာ cd desktop မှာလုပ်လိုက်ပါ။ 2824 01:45:01,119 --> 01:45:02,480 ရှုပ်သွားလိမ့်မယ်။ 2825 01:45:02,480 --> 01:45:05,360 အဘယ်ကြောင့်ဆိုသော် ၎င်းတွင် ဤအပိုင်းပါရှိသည်။ 2826 01:45:05,360 --> 01:45:08,080 ဒါကြောင့် တစ်နည်းနည်းနဲ့ ဖြတ်ဖို့လိုတယ်။ 2827 01:45:08,080 --> 01:45:10,080 ဒီပထမပိုင်းပြီးရင် ချန်ထားလိုက်ပါ။ 2828 01:45:10,080 --> 01:45:13,040 buffer သည် directory name သာဖြစ်ပေသည် 2829 01:45:13,040 --> 01:45:14,880 အဲဒီအထဲမှာ ကျနော်တို့ သတ်မှတ်နိုင်ပါတယ်။ 2830 01:45:14,880 --> 01:45:16,960 ကွင်းများ 2831 01:45:16,960 --> 01:45:19,360 ပြီးတော့ ကျွန်တော့်မှာ လုပ်မယ့် function code ရှိတယ်။ 2832 01:45:19,360 --> 01:45:21,679 အဲဒါကို အတိအကျ ကုဒ်လုပ်မှာ မဟုတ်ပါဘူး။ 2833 01:45:21,679 --> 01:45:23,280 အချိန်အများကြီးယူရတာကြောင့်ပါ။ 2834 01:45:23,280 --> 01:45:24,880 ငါတို့က အဲဒါကို ငါတို့ထဲထည့်မယ်။ 2835 01:45:24,880 --> 01:45:27,280 ပရိုဂရမ်ကို စိတ်မပူပါနဲ့ ကျွန်တော်လည်း ထည့်လိုက်မယ်။ 2836 01:45:27,280 --> 01:45:30,320 အတွင်းရှိ ကုဒ်အရင်းအမြစ်တစ်ခုအနေဖြင့် လုပ်ဆောင်မှုတစ်ခု 2837 01:45:30,320 --> 01:45:31,360 သင်တန်း 2838 01:45:31,360 --> 01:45:34,560 ဒီတော့ ဒီမှာ function က ဒီမှာ 2839 01:45:34,560 --> 01:45:36,320 မင်းမြင်တဲ့အတိုင်း တော်တော်ကြီးတယ်။ 2840 01:45:36,320 --> 01:45:38,800 function ကို string လို့ခေါ်တယ်။ 2841 01:45:38,800 --> 01:45:40,239 underscore ဖြတ်ပါ။ 2842 01:45:40,239 --> 01:45:41,679 ဤလုပ်ဆောင်ချက်သည် အဘယ်အရာကို အမှန်တကယ် ခွင့်ပြုနိုင်သနည်း။ 2843 01:45:41,679 --> 01:45:43,600 ငါတို့လုပ်ရမှာက ငါပြောခဲ့တဲ့အတိုင်းပဲ။ 2844 01:45:43,600 --> 01:45:45,679 အရင်က ဖြတ်ဖို့ဆိုတာ သေချာတယ်။ 2845 01:45:45,679 --> 01:45:48,960 ဥပမာ ကျွန်ုပ်တို့၏ ကြိုးတစ်ပိုင်း 2846 01:45:48,960 --> 01:45:52,719 ဆိုကြပါစို့၊ ငါဒီမှာရေးမယ်။ 2847 01:45:52,719 --> 01:45:54,880 ဒါမှမဟုတ် တခြားဝင်းဒိုးတစ်ခု ထပ်ထည့်ပါရစေ 2848 01:45:54,880 --> 01:45:56,400 ဒီမှာပဲ 2849 01:45:56,400 --> 01:45:57,920 ဤလုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ ချန်ထားခဲ့ပါမည်။ 2850 01:45:57,920 --> 01:46:00,080 ဟိုဘက်ခြမ်းက ကုဒ်မှန်တော့မယ်။ 2851 01:46:00,080 --> 01:46:02,159 ဒီနေရာမှာ command cd တစ်ခုရှိတယ်ဆိုပါစို့ 2852 01:46:02,159 --> 01:46:03,920 ဒက်စတော့ 2853 01:46:03,920 --> 01:46:07,040 တကယ်တော့ c မှာ chdir ရှိတယ်။ 2854 01:46:07,040 --> 01:46:10,080 Desktop ကြားတွင် လိုအပ်သော လုပ်ဆောင်ချက် 2855 01:46:10,080 --> 01:46:12,960 ကွင်းစကွင်းပိတ်ကို အမှန်တကယ် ဆောင်ရွက်ရန် 2856 01:46:12,960 --> 01:46:15,199 ဒါရိုက်တာကိုအောင်မြင်စွာပြောင်းပါ။ 2857 01:46:15,199 --> 01:46:17,520 ငါတို့လုပ်ရမှာက ငါတို့ဖြတ်ရမယ်။ 2858 01:46:17,520 --> 01:46:20,639 ဒီပထမပိုင်းကို ဒီအတိုင်းလုပ်ပါ။ 2859 01:46:20,639 --> 01:46:23,360 ပြီးမှ ရလဒ်ကို သတ်မှတ်ပါ။ 2860 01:46:23,360 --> 01:46:24,480 အဆိုပါ 2861 01:46:24,480 --> 01:46:26,159 လုပ်ဆောင်ချက် 2862 01:46:26,159 --> 01:46:29,040 ဤနေရာ၌ ဤအရာသည် ငါတို့ကို ထိုသို့ပြုနိုင်စေ၏။ 2863 01:46:29,040 --> 01:46:31,280 ဒါကြောင့် ဒီ string cut function က သုံးခုယူပါတယ်။ 2864 01:46:31,280 --> 01:46:34,560 ဤအချပ်မှ ဤစာကြောင်းကို ကန့်သတ်ထားသည်။ 2865 01:46:34,560 --> 01:46:36,639 နှင့် နှစ်ချပ် 2866 01:46:36,639 --> 01:46:37,360 ဒါကြောင့် 2867 01:46:37,360 --> 01:46:40,080 ပိုကောင်းအောင် ရှင်းပြရအောင် 2868 01:46:40,080 --> 01:46:42,960 ငါတို့မှာ cd ဆိုတဲ့ command တစ်ခုရှိတယ်ဆိုပါစို့ 2869 01:46:42,960 --> 01:46:44,800 ဒေါင်းလုဒ်များ 2870 01:46:44,800 --> 01:46:47,199 ဒေါင်းလုဒ်အပိုင်းကို အသုံးပြု၍ ဖြတ်နိုင်သည်။ 2871 01:46:47,199 --> 01:46:49,040 string ကို underscore ဖြတ်တောက်ခြင်း function ကိုပြုလုပ်ပါ။ 2872 01:46:49,040 --> 01:46:51,040 ကျွန်တော်တို့ ကုဒ်တွေ ရေးပြီးတော့ ကြားထဲမှာ 2873 01:46:51,040 --> 01:46:54,239 ကျွန်ုပ်တို့သတ်မှတ်ထားသောကွင်းစကွင်းပိတ်များ 2874 01:46:54,239 --> 01:46:56,560 string တစ်ခုလုံးနဲ့ ဒီ string ဆိုကြပါစို့ 2875 01:46:56,560 --> 01:46:59,920 ကျွန်ုပ်တို့၏ ကြားခံတွင် သိမ်းဆည်းထားသည်။ 2876 01:47:00,480 --> 01:47:03,040 ဒီလိုမျိုး 2877 01:47:03,119 --> 01:47:05,040 ထို့နောက် ကျွန်ုပ်တို့သည် ပထမဘောင်တစ်ခုအဖြစ် သတ်မှတ်သည်။ 2878 01:47:05,040 --> 01:47:06,719 string name 2879 01:47:06,719 --> 01:47:09,679 ဒုတိယ parameter သည် character ဖြစ်သည်။ 2880 01:47:09,679 --> 01:47:11,840 ငါတို့စတင်ဖြတ်တောက်ချင်သောအရာနှင့် 2881 01:47:11,840 --> 01:47:14,560 ကျွန်ုပ်တို့၏အမှု၌၎င်းသည်အက္ခရာနံပါတ်ဖြစ်လိမ့်မည်။ 2882 01:47:14,560 --> 01:47:15,760 သုံး 2883 01:47:15,760 --> 01:47:18,400 အဆုံးထိ ဖြတ်ချင်တယ်၊ 2884 01:47:18,400 --> 01:47:19,440 သေချာအောင်လုပ်ပါ 2885 01:47:19,440 --> 01:47:21,360 ဇာတ်ကောင်တွေအားလုံးကို ဖမ်းစားနိုင်ပါစေ။ 2886 01:47:21,360 --> 01:47:23,840 ဘာလို့လဲဆိုတော့ 5 right လို့သတ်မှတ်လို့မရပါဘူး။ 2887 01:47:23,840 --> 01:47:27,440 ဘာလို့လဲဆိုတော့ 5 က ဒီနေရာအထိ ဖြတ်မယ်။ 2888 01:47:27,440 --> 01:47:29,920 10 လို့ သတ်မှတ်လို့မရပါဘူး။ 2889 01:47:29,920 --> 01:47:31,679 လမ်းညွှန်တစ်ခုရှိလျှင် တွေးကြည့်ပါ။ 2890 01:47:31,679 --> 01:47:33,440 ၎င်းသည် စာလုံး 10 လုံးထက် ပိုရှည်သည်။ 2891 01:47:33,440 --> 01:47:35,600 သို့ဆိုလျှင် အလုပ်မဖြစ်သေးပါ။ 2892 01:47:35,600 --> 01:47:37,760 တစ်ရာသတ်မှတ်ပါ။ 2893 01:47:37,760 --> 01:47:39,679 ဒါမှ ဖြစ်နိုင်ချေများပါတယ်။ 2894 01:47:39,679 --> 01:47:42,159 အဲဒီမှာ directory တွေအကုန်ဖမ်းတယ်။ 2895 01:47:42,159 --> 01:47:44,159 တကယ်ကို ကျော်တဲ့ directory မဟုတ်ဘူး။ 2896 01:47:44,159 --> 01:47:46,159 စာလုံးတစ်ရာရှည်သည်။ 2897 01:47:46,159 --> 01:47:47,760 ဒါဆို ဒီလုပ်ဆောင်ချက်ရဲ့ ရလဒ်က ဘာလဲ။ 2898 01:47:47,760 --> 01:47:49,440 ဖြစ်မှာပါ။ 2899 01:47:49,440 --> 01:47:50,880 ရိုးရှင်းပါသည်။ 2900 01:47:50,880 --> 01:47:52,800 ဒေါင်းလုဒ်လုပ်ပါ။ 2901 01:47:52,800 --> 01:47:56,800 ပြီးရင် အဲဒီဒေါင်းလုဒ်တွေကို ကျော်သွားမယ်။ 2902 01:47:56,800 --> 01:48:01,199 ဒါမှမဟုတ် ဒီမိတ္တူကို ကြိုက်သလို ကျော်သွားမယ်။ 2903 01:48:02,960 --> 01:48:05,280 ဤလုပ်ဆောင်ချက်၏အတွင်းပိုင်း 2904 01:48:05,280 --> 01:48:07,440 ပြီးမှ ငါတို့အောင်မြင်မယ်။ 2905 01:48:07,440 --> 01:48:09,440 ဒါရိုက်တာကိုပြောင်းလိုက်ရအောင် 2906 01:48:09,440 --> 01:48:12,400 ၎င်းကို ကျွန်ုပ်တို့၏ အစီအစဉ်တွင် အကောင်အထည်ဖော်ပါ။ 2907 01:48:12,400 --> 01:48:15,520 ပထမဆုံးလုပ်ရမယ့်အရာ 2908 01:48:15,520 --> 01:48:17,280 ဤပထမအရာကို မသိမ်းဆည်းချင်ပါ။ 2909 01:48:17,280 --> 01:48:18,800 ငါတို့လုပ်ရမယ့်ဟာက ငါတို့သွားမယ်။ 2910 01:48:18,800 --> 01:48:22,239 ကျွန်ုပ်တို့၏လုပ်ဆောင်ချက်ကို ကူးယူပါ။ 2911 01:48:22,560 --> 01:48:26,000 ၎င်းကိုကျွန်ုပ်တို့၏ပရိုဂရမ်တွင်ထည့်ပါ။ 2912 01:48:27,600 --> 01:48:29,760 အစမှာ မှန်ကန်စွာ ထည့်ချင်ပါတယ်။ 2913 01:48:29,760 --> 01:48:32,560 ဒါကြောင့် ကွက်လပ်အထက်ကို တက်သွားပါ။ 2914 01:48:32,560 --> 01:48:34,480 လုပ်ဆောင်ချက် သို့မဟုတ် ပျက်ပြယ်သော အခွံအထက် 2915 01:48:34,480 --> 01:48:37,920 ကျွန်တော်တို့ရဲ့ string cut ကို paste လုပ်ချင်တဲ့ function ပါ။ 2916 01:48:37,920 --> 01:48:40,000 လုပ်ဆောင်ချက် 2917 01:48:40,000 --> 01:48:41,520 နှင့်ဤ function ၏အကြောင်းအရာများဖြစ်ကြသည်။ 2918 01:48:41,520 --> 01:48:43,280 ရိုးရှင်းစွာကွဲပြားခြားနားသော string ကို 2919 01:48:43,280 --> 01:48:46,000 ခြယ်လှယ်ခြင်းတို့ကို လုပ်ဆောင်နိုင်စေပါသည်။ 2920 01:48:46,000 --> 01:48:49,280 ကြိုးတစ်ချောင်းဖြတ်တောက်ခြင်း 2921 01:48:49,280 --> 01:48:51,119 ဒါကြောင့် ငါတို့ အခု တောက်လျှောက်သွားကြရအောင် 2922 01:48:51,119 --> 01:48:53,520 ငါတို့ရဲ့ function တွေထည့်ရအောင် 2923 01:48:53,520 --> 01:48:54,560 ဒီမှာ 2924 01:48:54,560 --> 01:48:58,000 ဒါကြောင့် directory ကိုပြောင်းချင်ပါတယ်။ 2925 01:48:58,000 --> 01:49:01,920 string cut သို့ string ကို underscore ဖြတ်ပါ။ 2926 01:49:01,920 --> 01:49:04,159 ပထမဦးစွာ သင်မှတ်မိသလောက် ကွင်းပိတ်များကိုဖွင့်ပါ။ 2927 01:49:04,159 --> 01:49:06,159 parameter သည် ကျွန်ုပ်တို့၏ command ဖြစ်သည် 2928 01:49:06,159 --> 01:49:08,239 case ကို ဒုတိယ buffer တွင် သိမ်းဆည်းထားသည်။ 2929 01:49:08,239 --> 01:49:10,239 parameters များသည် character မှဖြစ်သည်။ 2930 01:49:10,239 --> 01:49:12,480 ငါတို့ဖြတ်ချင်တယ်၊ အဲဒါအမြဲဖြစ်လိမ့်မယ်။ 2931 01:49:12,480 --> 01:49:14,400 နံပါတ်သုံးဆိုတော့ ကျနော်တို့ ဖြတ်တယ်။ 2932 01:49:14,400 --> 01:49:16,560 ထို့ကြောင့် ကျွန်ုပ်တို့သည် ပထမစာလုံးသုံးလုံးဖြစ်သည်။ 2933 01:49:16,560 --> 01:49:18,960 တတိယအက္ခရာကိုဖြတ် 2934 01:49:18,960 --> 01:49:21,520 နောက်ဆုံး parameter ကတက်လာလိမ့်မယ်။ 2935 01:49:21,520 --> 01:49:23,360 ငါတို့က ဘယ်ဇာတ်ကောင်ကို ဖြတ်တာလဲ။ 2936 01:49:23,360 --> 01:49:25,760 case 100 လို့ သတ်မှတ်မယ်။ 2937 01:49:25,760 --> 01:49:27,360 အားလုံးကို စုဆောင်းထားမှာ သေချာပါတယ်။ 2938 01:49:27,360 --> 01:49:31,119 directory တစ်ခုစီမှ ဇာတ်ကောင်များ အဆင်ပြေပါသည်။ 2939 01:49:31,119 --> 01:49:33,760 ဒါက တကယ်လိုအပ်တာ အားလုံးပါပဲ။ 2940 01:49:33,760 --> 01:49:35,440 ပြောင်းလဲနိုင်စေရန်အတွက် လုပ်ပါ။ 2941 01:49:35,440 --> 01:49:36,560 လမ်းညွှန် 2942 01:49:36,560 --> 01:49:39,440 ဒါကို ကယ်တင်ကြပါစို့ 2943 01:49:40,239 --> 01:49:42,560 ဤအရာဖြင့် ငါတို့သည် နောက်၌ ပြီးပြီ။ 2944 01:49:42,560 --> 01:49:44,560 ဘယ်လိုဖြစ်နိုင်မလဲဆိုတာကို video လေးမှာ ကြည့်ကြည့်လိုက်ပါဦး 2945 01:49:44,560 --> 01:49:47,119 ကျွန်ုပ်တို့နှင့် အမှန်တကယ် တည်တံ့အောင် ဖန်တီးပါ။ 2946 01:49:47,119 --> 01:49:48,560 အခွံ 2947 01:49:48,560 --> 01:49:50,960 ဇွဲမလျှော့ဘဲ ကျွန်တော်တို့ရဲ့ ပေါင်းထည့်ခြင်းကို ဆိုလိုတာပါ။ 2948 01:49:50,960 --> 01:49:53,679 ဖိုင်ကို windows registry သို့ ခွင့်ပြုပေးပြီး 2949 01:49:53,679 --> 01:49:56,639 ကျွန်ုပ်တို့ restart လုပ်ပြီးနောက်တိုင်း ၎င်းကို run ရန် 2950 01:49:56,639 --> 01:49:59,599 ကွန်ပြူတာအလိုအလျောက် 2951 01:49:59,599 --> 01:50:02,000 ဒါကြောင့် ဒီသင်ခန်းစာကို သင်နှစ်သက်မယ်လို့ မျှော်လင့်ပါတယ်။ 2952 01:50:02,000 --> 01:50:04,159 နောက်လာမည့်ဟောပြောပွဲမှာ တွေ့ကြမယ်လို့ မျှော်လင့်ပါတယ်။ 2953 01:50:04,159 --> 01:50:04,960 နှုတ်ဆက်ပါတယ်။ 2954 01:50:04,960 --> 01:50:06,639 အားလုံးကို ကြိုဆိုပါတယ်။ 2955 01:50:06,639 --> 01:50:08,880 ဒီ video လေးကနေ စပါမယ်။ 2956 01:50:08,880 --> 01:50:10,560 ကျွန်တော်တို့ရဲ့ function နှင့်အတူ 2957 01:50:10,560 --> 01:50:13,520 ကျွန်ုပ်တို့၏ပစ်မှတ်သို့ စွဲမြဲစွာဖန်တီးပါ။ 2958 01:50:13,520 --> 01:50:14,800 ဒါပေမယ့် အဲဒါကို တကယ်မကုတ်ခင်မှာ 2959 01:50:14,800 --> 01:50:16,639 function ကိုသေချာစေချင်ပါတယ်။ 2960 01:50:16,639 --> 01:50:18,320 လူတိုင်းက ငါတို့ဘာလဲဆိုတာ နားလည်တယ်။ 2961 01:50:18,320 --> 01:50:19,440 ဖန်တီးခြင်း။ 2962 01:50:19,440 --> 01:50:21,520 ဒါကြောင့် ဒါက coding သင်ခန်းစာမဟုတ်ပေမယ့် 2963 01:50:21,520 --> 01:50:23,520 ငါဦးဆောင်မယ့် သင်ခန်းစာအတိုလေးပါ။ 2964 01:50:23,520 --> 01:50:25,679 သင်သည် windows registry မှတဆင့်ပြသသည်။ 2965 01:50:25,679 --> 01:50:28,320 ငါတို့သိမ်းထားရမယ့်နေရာ 2966 01:50:28,320 --> 01:50:31,440 ကျွန်ုပ်တို့၏ပရိုဂရမ်အတွက် မှတ်ပုံတင်သော့ 2967 01:50:31,440 --> 01:50:34,080 သင်သည်သင်၏ windows ပတ် ၀ န်းကျင်သို့သွားလျှင် 2968 01:50:34,080 --> 01:50:36,560 သင်သည် ဤနေရာတွင် ဤရှာဖွေရေးဘားသို့ သွားပါ။ 2969 01:50:36,560 --> 01:50:39,760 ရိုးရှင်းစွာ run command ကိုရိုက်ထည့်နိုင်ပါတယ်။ 2970 01:50:39,760 --> 01:50:41,840 ဤနေရာကိုနှိပ်၍ enter ပွင့်လာလိမ့်မည်။ 2971 01:50:41,840 --> 01:50:44,560 မင်းကိုခိုင်းမယ့် ဒီ window လေးတစ်ခု 2972 01:50:44,560 --> 01:50:46,400 သင်ပြုလုပ်မည့် ပရိုဂရမ်အမည်ကို ထည့်သွင်းပါ။ 2973 01:50:46,400 --> 01:50:47,920 ဖွင့်ချင်တယ်။ 2974 01:50:47,920 --> 01:50:49,760 ဤကိစ္စတွင်ကျွန်ုပ်တို့သည်ကျွန်ုပ်တို့၏လမ်းကြောင်းကိုသွားချင်သည်။ 2975 01:50:49,760 --> 01:50:51,840 registry ဆိုတော့ ရိုးရိုးလေးပဲ ရိုက်ပါမယ်။ 2976 01:50:51,840 --> 01:50:55,760 registry တည်းဖြတ်ခြင်းအတွက် အတိုကောက်ဖြစ်သော regedit 2977 01:50:55,760 --> 01:50:58,400 စာရိုက်ပြီးတာနဲ့ ဒီနေရာကိုနှိပ်ပါ။ 2978 01:50:58,400 --> 01:51:00,400 စီမံခန့်ခွဲသူကို မေးပါလိမ့်မယ်။ 2979 01:51:00,400 --> 01:51:02,560 password တစ်ခုမှ မရှိဘူးဆိုတော့ ပေးပါ့မယ် 2980 01:51:02,560 --> 01:51:04,880 ရိုးရှင်းစွာဒီနေရာကိုကလစ်နှိပ်ရုံ Yes 2981 01:51:04,880 --> 01:51:07,760 ငါ၏စာရင်းကိုဖွင့်လိမ့်မည်။ 2982 01:51:07,760 --> 01:51:10,239 အခု registry က ဒီလိုပုံပေါ်ပါတယ်။ 2983 01:51:10,239 --> 01:51:12,159 အဲဒါကို မမြင်ဖူးဘူး၊ ဒါက အခြေခံအားဖြင့် 2984 01:51:12,159 --> 01:51:14,560 ပြတင်းပေါက်၏ နှလုံးသားသည် ဤကဲ့သို့ ပြတင်းပေါက်များဖြစ်သည်။ 2985 01:51:14,560 --> 01:51:15,679 လုပ်ဆောင်ချက်များ 2986 01:51:15,679 --> 01:51:17,599 မတူညီသော registry keys များနှင့် 2987 01:51:17,599 --> 01:51:20,400 မတူညီသော registry တန်ဖိုးများ 2988 01:51:20,400 --> 01:51:22,320 အခု ဒီရဲ့ အစိတ်အပိုင်းတစ်ခုရှိတယ်။ 2989 01:51:22,320 --> 01:51:24,480 registry တစ်ခုထည့်ရင် ဘယ်မှာ registry လဲ။ 2990 01:51:24,480 --> 01:51:27,040 သတ်သတ်မှတ်မှတ် ပရိုဂရမ်တစ်ခုအတွက် တန်ဖိုးကို ရအောင်ယူမည်။ 2991 01:51:27,040 --> 01:51:29,760 ဒီပရိုဂရမ်ကို သင် restart လုပ်တိုင်း အလုပ်လုပ်ပါတယ်။ 2992 01:51:29,760 --> 01:51:32,159 သင်အမှန်တကယ်မလိုအပ်ဘဲ PC ကို 2993 01:51:32,159 --> 01:51:35,440 ၎င်းကိုနှိပ်ပါ သို့မဟုတ် ၎င်းကို ကိုယ်တိုင်ဖွင့်ပါ။ 2994 01:51:35,440 --> 01:51:37,840 မှတ်ပုံတင်ခြင်း၏အစိတ်အပိုင်းသည်တည်ရှိသည်။ 2995 01:51:37,840 --> 01:51:40,000 ဒီလမ်းမှာ 2996 01:51:40,000 --> 01:51:42,880 ဒါကြောင့် ဒီလမ်းကြောင်းက အတိအကျပဲလေ။ 2997 01:51:42,880 --> 01:51:45,119 ငါတို့ ပရိုဂရမ်ကို သိမ်းထားမယ်။ 2998 01:51:45,119 --> 01:51:47,679 အဲဒါကို run ဖို့အတွက် registry key ပါ။ 2999 01:51:47,679 --> 01:51:50,560 reboot တွင်အလိုအလျောက်အချိန် 3000 01:51:50,560 --> 01:51:52,960 ဒါကြောင့် ငါက မင်းနဲ့ အဲဒီနေရာကို ရောက်နေပြီ။ 3001 01:51:52,960 --> 01:51:54,560 တကယ်စမ်းသပ်ပြီးတာနဲ့ တွေ့ပါလိမ့်မယ်။ 3002 01:51:54,560 --> 01:51:56,159 ဒုတိယအကြိမ်မြောက် အစီအစဉ်ကို အပြီးမှာ 3003 01:51:56,159 --> 01:51:58,000 ဒီသင်တန်းကို သင်တွေ့ပါလိမ့်မယ်။ 3004 01:51:58,000 --> 01:52:00,400 တန်ဖိုးအသစ်တစ်ခုကို အောင်မြင်စွာဖန်တီးနိုင်ပါစေ။ 3005 01:52:00,400 --> 01:52:03,199 ဤနေရာတွင် ကျွန်ုပ်တို့၏ အစီအစဉ်နှင့် သက်ဆိုင်ပါမည်။ 3006 01:52:03,199 --> 01:52:05,119 ဤအချက်အလက်သည် ဤနေရာမှ လမ်းကြောင်းဖြစ်လိမ့်မည်။ 3007 01:52:05,119 --> 01:52:06,400 ငါတို့ရဲ့ နောက်ကွယ်မှာ 3008 01:52:06,400 --> 01:52:08,480 ဤသည် reg အမျိုးအစားတူဖြစ်လိမ့်မည်။ 3009 01:52:08,480 --> 01:52:10,080 cz အမှတ် 3010 01:52:10,080 --> 01:52:12,960 ဤနေရာတွင် ကျွန်ုပ်တို့၏တန်ဖိုးကို အမည်ပေးပါမည်။ 3011 01:52:12,960 --> 01:52:14,960 ငါတို့လိုချင်သမျှ 3012 01:52:14,960 --> 01:52:16,960 ဒါကြောင့် အခြေခံအားဖြင့် ငါမင်းကို ထွက်သွားစေချင်တယ်။ 3013 01:52:16,960 --> 01:52:19,360 ဒီဗီဒီယိုကို ဖန်တီးနေတာဖြစ်ပါတယ်။ 3014 01:52:19,360 --> 01:52:21,520 သိမ်းဆည်းထားမည့် မှတ်ပုံတင်ကီး 3015 01:52:21,520 --> 01:52:23,840 တကယ်ရှိဖို့အတွက် ဒီနေရာလေးမှာ 3016 01:52:23,840 --> 01:52:25,599 ကျွန်ုပ်တို့၏ပရိုဂရမ်ကို run ရန်ကျွန်ုပ်တို့ကိုခွင့်ပြုပါ။ 3017 01:52:25,599 --> 01:52:27,520 reboot မှာအလိုအလျောက် 3018 01:52:27,520 --> 01:52:29,440 ဒါဆို ငါတို့ဘယ်လိုလုပ်ရမလဲဆိုတာကို နောက်ဗီဒီယိုမှာ ကြည့်ရမှာပါ။ 3019 01:52:29,440 --> 01:52:32,000 အဲဒါကို ကျွန်တော်တို့ အစီအစဉ်မှာ အကောင်အထည် ဖော်နိုင်ပါတယ်။ 3020 01:52:32,000 --> 01:52:34,000 အခု မင်းမှာ အခြေခံ အကြံဥာဏ်တွေ ရလိုက်ရအောင် 3021 01:52:34,000 --> 01:52:36,239 တည့်တည့်သွားပါ။ 3022 01:52:36,239 --> 01:52:38,400 ကဲ ဒါဆို registry က ဘာလဲဆိုတာ သိသွားပါပြီ။ 3023 01:52:38,400 --> 01:52:41,119 အဲဒါကို windows မှာ ဘယ်လိုဝင်ရမလဲ 3024 01:52:41,119 --> 01:52:43,360 အဲဒါကို ကျွန်ုပ်တို့ ဘယ်လိုဝင်ရောက်နိုင်မလဲဆိုတာ ကြည့်လိုက်ကြရအောင် 3025 01:52:43,360 --> 01:52:45,119 backdoor အစီအစဉ် 3026 01:52:45,119 --> 01:52:47,679 ထို့ကြောင့် ကျွန်ုပ်တို့၏ Malware ကို ပင်မအတွက် နာနိုကြပါစို့ 3027 01:52:47,679 --> 01:52:50,080 ငါတို့ရဲ့ နောက်ကွယ်မှာ 3028 01:52:50,080 --> 01:52:52,320 ကျွန်ုပ်တို့၏ shell function သို့သွားပါ။ 3029 01:52:52,320 --> 01:52:54,639 ပထမဦးစွာကျွန်ုပ်တို့သည် option ကိုထည့်ရန်လိုအပ်သည်။ 3030 01:52:54,639 --> 01:52:56,800 တကယ် coding မလုပ်ခင် ဇွဲရှိဖို့ 3031 01:52:56,800 --> 01:52:58,639 ကျွန်တော်တို့ လုပ်ဆောင်ရမယ့် function ပါ။ 3032 01:52:58,639 --> 01:53:00,320 စွဲမြဲစွာ၊ 3033 01:53:00,320 --> 01:53:02,000 ဤနေရာတွင် ကျွန်ုပ်တို့လုပ်ခဲ့သည့်အတိုင်းပင် 3034 01:53:02,000 --> 01:53:04,400 cd ပထမဦးစွာကျွန်ုပ်တို့သည်ဤ option ကိုဖန်တီးခဲ့သည်။ 3035 01:53:04,400 --> 01:53:06,639 ဤနေရာတွင် ပြီးနောက် လုပ်ဆောင်ချက်တစ်ခု ထပ်ထည့်သည်။ 3036 01:53:06,639 --> 01:53:09,599 ၎င်းသည် တိကျသောရွေးချယ်မှုကို လုပ်ဆောင်မည်ဖြစ်သည်။ 3037 01:53:09,599 --> 01:53:12,800 ဒီတော့ တူညီတဲ့ အတွေးအမြင်နဲ့ သွားကြစို့ 3038 01:53:12,800 --> 01:53:14,000 အောက်တွင် 3039 01:53:14,000 --> 01:53:16,239 cd command အောက်တွင်ကျွန်ုပ်တို့ထည့်ပါမည်။ 3040 01:53:16,239 --> 01:53:19,199 တခြား if statement ပေါ့။ 3041 01:53:19,199 --> 01:53:22,159 ဒီတစ်ခါတော့ ကြားခံကို နှိုင်းယှဉ်နေပါတယ်။ 3042 01:53:22,159 --> 01:53:24,080 ဒီတော့ string နဲ့ နှိုင်းယှဥ်ပီး သိနေပြီ။ 3043 01:53:24,080 --> 01:53:25,599 ဒီ function ကလုပ်ပေးတယ်။ 3044 01:53:25,599 --> 01:53:27,360 ကြားခံကို နှိုင်းယှဉ်နေပါတယ်။ 3045 01:53:27,360 --> 01:53:30,159 တည်မြဲနေမည့် အမိန့်ဖြင့် 3046 01:53:30,159 --> 01:53:30,880 ဒါကြောင့် 3047 01:53:30,880 --> 01:53:32,080 ဒါကို သင်တကယ်သုံးဖို့ မလိုပါဘူး။ 3048 01:53:32,080 --> 01:53:33,520 မလိုချင်ရင် အမိန့်ပေးလို့ရပါတယ်။ 3049 01:53:33,520 --> 01:53:35,679 အခြား command တစ်ချို့ကို သတ်မှတ်ပေးပါ့မယ် 3050 01:53:35,679 --> 01:53:38,000 ကျွန်ုပ်တို့ကိုပေးသောကြောင့် persist ကိုရိုးရှင်းစွာအသုံးပြုပါ။ 3051 01:53:38,000 --> 01:53:40,560 ငါတို့ဘာလုပ်နေလဲဆိုတဲ့ အတွေးတစ်ခု 3052 01:53:40,560 --> 01:53:43,040 ဒါကြောင့် persist မှာ အက္ခရာ ခုနစ်လုံးရှိပြီး၊ 3053 01:53:43,040 --> 01:53:46,080 buffer နှင့် နှိုင်းယှဉ်ခြင်း။ 3054 01:53:46,080 --> 01:53:48,320 ပြီးတော့ ခုနစ်ယောက်က ခုနစ်ယောက် ရပ်တည်တယ်။ 3055 01:53:48,320 --> 01:53:50,239 ဇာတ်ကောင်တွေနဲ့ အဲဒါကို သေချာစေချင်တယ်။ 3056 01:53:50,239 --> 01:53:52,639 သုညနှင့် ညီသည်။ 3057 01:53:52,639 --> 01:53:56,080 function ကိုဆောင်ရွက်ရန် 3058 01:53:56,080 --> 01:53:59,520 boot run ဖြစ်ပါလိမ့်မယ်။ 3059 01:54:01,920 --> 01:54:03,199 အဆင်ပြေပါတယ်။ 3060 01:54:03,199 --> 01:54:06,639 ဒါဆို အခုတက်ပြီး ကုတ်လိုက်ကြရအောင် 3061 01:54:06,639 --> 01:54:09,040 boot run function ကို 3062 01:54:09,040 --> 01:54:11,280 ဒါဆို ငါဘာလုပ်ရမလဲ 3063 01:54:11,280 --> 01:54:13,599 ကုဒ်ကို တောက်လျှောက်လုပ်ပါ။ 3064 01:54:13,599 --> 01:54:15,760 ညာဘက်လက်ဖြတ်ခြင်းလုပ်ဆောင်ချက်အပေါ် 3065 01:54:15,760 --> 01:54:18,560 ယခင်ဗီဒီယိုတွင် ကျွန်ုပ်တို့ထည့်သွင်းထားသည်။ 3066 01:54:18,560 --> 01:54:21,199 ဒီနေရာမှာ ကိန်းပြည့်တစ်ခုထည့်မယ်။ 3067 01:54:21,199 --> 01:54:23,840 boot run ပါ။ 3068 01:54:24,800 --> 01:54:27,679 အိုကေ အခု ဒီလုပ်ဆောင်ချက်က ဘာမှ မယူပါဘူး။ 3069 01:54:27,679 --> 01:54:30,000 input အမျိုးအစားနဲ့ ဒါကို လုပ်ပါလိမ့်မယ်။ 3070 01:54:30,000 --> 01:54:32,080 ကိန်းပြည့် an ကို ပြန်ပေးမှာဖြစ်လို့ 3071 01:54:32,080 --> 01:54:34,320 ကိန်းပြည့် ထွက်လာတယ်။ 3072 01:54:34,320 --> 01:54:35,920 ဆိုလိုတာက ပြန်လာမယ်လို့ ဆိုလိုတာပါ။ 3073 01:54:35,920 --> 01:54:38,960 ဥပမာ 0 ဆိုရင် အရာအားလုံး မှန်ကန်ပါတယ်။ 3074 01:54:38,960 --> 01:54:42,480 သို့မဟုတ် အချို့သောနေရာသို့ ရောက်သွားပါက -1 သို့ ပြန်သွားပါမည်။ 3075 01:54:42,480 --> 01:54:43,360 အမှား 3076 01:54:43,360 --> 01:54:47,360 ဒီတော့ ဒါကို ဘယ်လို လုပ်ရမလဲ ကြည့်ရအောင် 3077 01:54:47,840 --> 01:54:50,239 ငါတို့လုပ်ရမှာက ငါဖွင့်တော့မယ်။ 3078 01:54:50,239 --> 01:54:52,159 ကျွန်ုပ်တို့၏ မှတ်ပုံတင်ခြင်းအား ကျွန်ုပ်တို့လုပ်ခဲ့သည့်အတိုင်းပင် 3079 01:54:52,159 --> 01:54:53,920 ယခင်ဗီဒီယို 3080 01:54:53,920 --> 01:54:56,639 ဒါကို တကယ်ဖန်တီးနိုင်ဖို့ ကူညီပေးပါ။ 3081 01:54:56,639 --> 01:54:59,119 function ကိုဖွင့်တော့မယ်။ 3082 01:54:59,119 --> 01:55:01,599 ဒီမှာ နှိပ်ပါ ဟုတ်ကဲ့ 3083 01:55:01,599 --> 01:55:04,159 နှိမ့်ချပြီး ဖွင့်လိုက်မယ်။ 3084 01:55:04,159 --> 01:55:05,520 ကျွန်ုပ်တို့ လိုအပ်သလို 3085 01:55:05,520 --> 01:55:07,119 အခုငါတို့သွားမယ့် ပထမဆုံးအရာ 3086 01:55:07,119 --> 01:55:09,199 ဒီမှာလုပ်ပါ ငါတို့ဖန်တီးမယ်။ 3087 01:55:09,199 --> 01:55:11,440 variables နှစ်ခုအနက်တစ်ခုသည် variable များဖြစ်လိမ့်မည်။ 3088 01:55:11,440 --> 01:55:12,560 ဖြစ် 3089 01:55:12,560 --> 01:55:14,560 ကျွန်ုပ်တို့ကိုပေးမည့် error variable 3090 01:55:14,560 --> 01:55:17,199 ပြသနာတစ်ခုနဲ့ ကြုံလာရင် output ထွက်လာမယ်။ 3091 01:55:17,199 --> 01:55:19,520 အခြားတစ်ခုသည် အောင်မြင်မှုကိန်းရှင်ဖြစ်လိမ့်မည်။ 3092 01:55:19,520 --> 01:55:21,040 အဲဒါက ငါတို့ကို ထုတ်ပေးလိမ့်မယ်။ 3093 01:55:21,040 --> 01:55:23,679 ဇွဲလုံ့လကို အောင်မြင်စွာ ဖန်တီးပါ။ 3094 01:55:23,679 --> 01:55:25,520 ဒီတော့ ဒီနေရာကိုသွားပြီး ဖန်တီးကြရအောင် 3095 01:55:25,520 --> 01:55:26,639 ပထမတစ်ခု 3096 01:55:26,639 --> 01:55:28,880 char အမျိုးအစားဖြစ်မည်။ 3097 01:55:28,880 --> 01:55:31,040 ပြီးမှ ငါတို့ခေါ်မယ်။ 3098 01:55:31,040 --> 01:55:35,920 r r သည် 128 bytes သာရှိလိမ့်မည်။ 3099 01:55:35,920 --> 01:55:38,400 ၎င်းသည် ရိုးရိုးတန်းတန်းတစ်ခုသာ ဖြစ်လိမ့်မည်။ 3100 01:55:38,400 --> 01:55:40,639 မအောင်မြင်ကြောင်းပြောသော စာကြောင်းတစ်ခု 3101 01:55:40,639 --> 01:55:43,920 ပြီးရင် newline character က အဆင်ပြေပါတယ်။ 3102 01:55:43,920 --> 01:55:47,440 နောက်တစ်ခုက Success variable ဖြစ်ပါလိမ့်မယ်။ 3103 01:55:47,440 --> 01:55:49,520 မည်သည့်အရာလည်းဖြစ်လိမ့်မည်။ 3104 01:55:49,520 --> 01:55:52,719 128 bytes 3105 01:55:52,719 --> 01:55:54,960 ပြီးတော့ ဒီစာကြောင်းက ပြောလိမ့်မယ်။ 3106 01:55:54,960 --> 01:55:56,000 ဖန်တီးခဲ့သည်။ 3107 01:55:56,000 --> 01:55:57,679 စွဲမြဲစွာ၊ 3108 01:55:57,679 --> 01:55:58,880 မှာ 3109 01:55:58,880 --> 01:56:01,199 ပြီးရင် လမ်းကြောင်းကို သတ်မှတ်မယ်။ 3110 01:56:01,199 --> 01:56:02,800 မြဲမြံမှုကို ဖန်တီးနေတာ ဘယ်မှာလဲ။ 3111 01:56:02,800 --> 01:56:05,599 ဒီမှာ h key ရေးမယ်။ 3112 01:56:05,599 --> 01:56:08,639 လက်ရှိအသုံးပြုသူကို underscore 3113 01:56:08,639 --> 01:56:11,280 အဲဒါက ငါတို့ပြထားတဲ့ လမ်းကြောင်းအတိုင်းပဲ။ 3114 01:56:11,280 --> 01:56:13,360 အရင်ဗီဒီယိုက ဒီနေရာပါ။ 3115 01:56:13,360 --> 01:56:15,360 ဒီကွန်ပြူတာမပါဘဲနဲ့ပဲ ပြီးတယ်။ 3116 01:56:15,360 --> 01:56:16,719 backslash 3117 01:56:16,719 --> 01:56:18,800 အားလုံးပေါင်းထည့်နေတယ်။ 3118 01:56:18,800 --> 01:56:20,320 ဒီကနေ 3119 01:56:20,320 --> 01:56:22,480 ဒါကြောင့် backslash ကိုသွားပြင်ရအောင် 3120 01:56:22,480 --> 01:56:24,719 backslash ဆော့ဖ်ဝဲ 3121 01:56:24,719 --> 01:56:27,360 backslash backslash 3122 01:56:27,360 --> 01:56:29,520 မိုက်ခရိုဆော့ဖ် 3123 01:56:29,520 --> 01:56:32,000 ထို့နောက် အခြား backslash backslash windows 3124 01:56:32,000 --> 01:56:34,960 အိုး ပြတင်းပေါက် 3125 01:56:34,960 --> 01:56:36,159 လက်ရှိ 3126 01:56:36,159 --> 01:56:37,920 ဗားရှင်း 3127 01:56:37,920 --> 01:56:39,920 ပြီးရင် run လိုက်ပါ။ 3128 01:56:39,920 --> 01:56:41,760 လိုင်းအသစ်အတွက် backslash n 3129 01:56:41,760 --> 01:56:43,040 ဇာတ်ကောင် 3130 01:56:43,040 --> 01:56:45,280 ကဲ ဒါဆို ငါတို့ ဒီနှစ်ခုကို ဖန်တီးလိုက်ပြီ။ 3131 01:56:45,280 --> 01:56:47,920 variable နှစ်ခု ထပ်မံလိုအပ်ပါမည်။ 3132 01:56:47,920 --> 01:56:50,159 နောက်တစ်ခုက အမျိုးအစားတစ်ခု ဖြစ်ပါလိမ့်မယ်။ 3133 01:56:50,159 --> 01:56:52,480 ဆရာမ 3134 01:56:52,480 --> 01:56:54,639 ဆရာက အခြေခံအားဖြင့် ပြတင်းပေါက်တစ်ခုပါ။ 3135 01:56:54,639 --> 01:56:57,440 အသုံးပြုနိုင်သော စာလုံး ၃၂ လုံး 3136 01:56:57,440 --> 01:57:01,760 nc dbcs သို့မဟုတ် unicode strings များကို ဖော်ပြပါ။ 3137 01:57:01,760 --> 01:57:04,960 ဒါကို z လမ်းကြောင်းလို့ ခေါ်မယ်။ 3138 01:57:04,960 --> 01:57:08,239 ဘယ်ဟာက အမြင့်ဆုံးလမ်းကြောင်းကို သွားမလဲ။ 3139 01:57:08,239 --> 01:57:09,360 တန်ဖိုး 3140 01:57:09,360 --> 01:57:12,320 အခြေခံအားဖြင့် max path သည် အမြင့်ဆုံးဖြစ်သည်။ 3141 01:57:12,320 --> 01:57:15,520 လမ်းကြောင်းအရှည်ကန့်သတ်ချက် windows 10 တွင် 3142 01:57:15,520 --> 01:57:16,440 ဒါဟာ 3143 01:57:16,440 --> 01:57:19,199 စာလုံးရေ 256 လုံးပါတဲ့အတွက် ကျွန်တော်တို့သုံးပါမယ်။ 3144 01:57:19,199 --> 01:57:21,520 ဤကိန်းရှင်သည်လမ်းကြောင်းနှင့်အမှန်တကယ်သိမ်းဆည်းရန် 3145 01:57:21,520 --> 01:57:25,760 ကျွန်ုပ်တို့၏ကိုယ်ပိုင် malware လမ်းကြောင်းကိုရယူရန် 3146 01:57:25,760 --> 01:57:27,760 OK နဲ့ စတုတ္ထ variable က သွားမယ်။ 3147 01:57:27,760 --> 01:57:30,080 d စကားလုံးအမျိုးအစားဖြစ်ပါစေ။ 3148 01:57:30,080 --> 01:57:31,760 double word နဲ့ we လို့ အဓိပ္ပါယ်ရပါတယ်။ 3149 01:57:31,760 --> 01:57:35,280 အဲဒါကို လမ်းကြားလို့ ခေါ်တော့မယ်။ 3150 01:57:35,280 --> 01:57:36,400 လမ်းကြောင်း 3151 01:57:36,400 --> 01:57:38,719 Len သည် path length ကို ကိုယ်စားပြုသည်။ 3152 01:57:38,719 --> 01:57:41,280 အဲဒါကို သုညနဲ့ လုပ်တော့မယ်။ 3153 01:57:41,280 --> 01:57:43,440 d စကားလုံးသည် အခြေခံအားဖြင့် နှစ်ဆအတွက် အတိုကောက်ဖြစ်သည်။ 3154 01:57:43,440 --> 01:57:45,920 word သည် data type တစ်ခုဖြစ်သည်။ 3155 01:57:45,920 --> 01:57:48,960 32-bit ဒေတာယူနစ်ကို လက်မှတ်မထိုးဘဲ ပြုလုပ်နိုင်သည်။ 3156 01:57:48,960 --> 01:57:51,920 ကျွန်ုပ်တို့တတ်နိုင်သလောက် ကိန်းပြည့်တန်ဖိုးပါရှိသည်။ 3157 01:57:51,920 --> 01:57:54,880 ဤနေရာတွင် ကျွန်ုပ်တို့သည် သုညကို ပေါင်းထည့်ထားသည်။ 3158 01:57:54,880 --> 01:57:58,320 ကိန်းပြည့်တန်ဖိုးတစ်ခု ပါဝင်နိုင်သည်မှာ သေချာသည်။ 3159 01:57:58,320 --> 01:57:59,840 နောက်တစ်ခုက ငါတို့လုပ်ချင်တာလုပ် 3160 01:57:59,840 --> 01:58:01,760 function က ကျွန်တော်တို့ လိုချင်ပါတယ်။ 3161 01:58:01,760 --> 01:58:03,840 ဤလမ်းကြောင်းကိုအသုံးပြုပါ။ 3162 01:58:03,840 --> 01:58:06,159 ကျွန်ုပ်တို့ဖန်တီးထားသော ကိန်းရှင်နှင့် 3163 01:58:06,159 --> 01:58:08,960 ၎င်းကိုခေါ်သော function ကိုလုပ်ဆောင်ပါ။ 3164 01:58:08,960 --> 01:58:09,840 ရယူ 3165 01:58:09,840 --> 01:58:11,679 မော်ဂျူး 3166 01:58:11,679 --> 01:58:14,239 ဖိုင်နာမည် 3167 01:58:15,760 --> 01:58:17,679 ဒီတော့ ဒါက c ရဲ့ function တစ်ခုပါ။ 3168 01:58:17,679 --> 01:58:19,360 နှင့် ဤလုပ်ဆောင်ချက်သည် အကြောင်းပြချက်သုံးခုကို ယူသည်။ 3169 01:58:19,360 --> 01:58:21,280 ပထမတစ်ခုသည် null ဖြစ်လိမ့်မည်။ 3170 01:58:21,280 --> 01:58:24,560 ဒုတိယတစ်ခုသည် s z လမ်းကြောင်းဖြစ်လိမ့်မည်။ 3171 01:58:24,560 --> 01:58:27,360 တတိယတစ်ခုသည် အမြင့်ဆုံးလမ်းကြောင်းဖြစ်လိမ့်မည်။ 3172 01:58:27,360 --> 01:58:29,119 နှင့်ဤ function ကိုပြန်လည်ရယူလိမ့်မည်။ 3173 01:58:29,119 --> 01:58:32,000 ဖိုင်အတွက် အရည်အချင်းပြည့်မီသောလမ်းကြောင်း 3174 01:58:32,000 --> 01:58:34,320 ကျွန်ုပ်တို့တွင် သတ်မှတ်ထားသော module ပါရှိသည်။ 3175 01:58:34,320 --> 01:58:36,400 ငါတို့ လမ်းကြောင်းပေါ်ရောက်နေတယ် 3176 01:58:36,400 --> 01:58:38,320 malware 3177 01:58:38,320 --> 01:58:40,400 ဒီ function ကိုလုပ်ဆောင်ပြီးတာနဲ့ကျွန်ုပ်တို့လိုအပ်ပါတယ်။ 3178 01:58:40,400 --> 01:58:41,440 အားလုံးအဆင်ပြေရဲ့လား စစ်ဆေးပါ။ 3179 01:58:41,440 --> 01:58:43,440 အောင်မြင်သွားပြီဆိုတော့ if တစ်ခုကို run တော့မယ်။ 3180 01:58:43,440 --> 01:58:45,840 ထုတ်ပြန်ချက် အရဆိုလျှင် 3181 01:58:45,840 --> 01:58:47,520 လမ်းကြောင်း 3182 01:58:47,520 --> 01:58:49,119 len 3183 01:58:49,119 --> 01:58:52,400 သုညနှင့် ညီမျှသည်။ 3184 01:58:52,400 --> 01:58:54,400 ဆိုလိုတာက ငါတို့မှာ အမှားတစ်ခုရှိတယ်။ 3185 01:58:54,400 --> 01:58:57,360 ကျွန်ုပ်တို့၏ socket object သို့ ပေးပို့ရန် အချို့သော ပေးပို့မှုများ 3186 01:58:57,360 --> 01:58:59,520 sock က ဒီ function ကို သိပြီးသားပါ။ 3187 01:58:59,520 --> 01:59:02,320 error ကိုလည်း သတ်မှတ်ပေးဖို့ လိုပါတယ်။ 3188 01:59:02,320 --> 01:59:04,800 ထိုအမှား၏အရွယ်အစား 3189 01:59:04,800 --> 01:59:06,800 စတုတ္တအငြင်းအခုံအဖြစ် 3190 01:59:06,800 --> 01:59:08,239 သုညဖြစ်လိမ့်မည်။ 3191 01:59:08,239 --> 01:59:09,199 အဆင်ပြေပါတယ်။ 3192 01:59:09,199 --> 01:59:11,760 ပြီးရင် ရိုးရိုး -1 ပဲ ပြန်သွားမယ်။ 3193 01:59:11,760 --> 01:59:12,800 ဒီကနေ 3194 01:59:12,800 --> 01:59:15,440 ဤ boot run လုပ်ဆောင်ချက်မှ uh လုပ်ဆောင်ချက် 3195 01:59:15,440 --> 01:59:16,960 အဆင်ပြေပါတယ်။ 3196 01:59:16,960 --> 01:59:18,320 ဒါကြောင့် 3197 01:59:18,320 --> 01:59:20,239 သွားကြစို့ 3198 01:59:20,239 --> 01:59:22,239 နောက်တစ်ခုက ကျွန်တော်တို့ ဖန်တီးရမှာက 3199 01:59:22,239 --> 01:59:24,239 registry မှာ ပေါင်းထည့်နေတာမို့၊ 3200 01:59:24,239 --> 01:59:27,199 registry key တန်ဖိုးကို ဖန်တီးရန် 3201 01:59:27,199 --> 01:59:29,360 ကျွန်ုပ်တို့ကို အမှန်တကယ် ထည့်သွင်းနိုင်စေရန် 3202 01:59:29,360 --> 01:59:31,679 ဒီ registry ကို ဘယ်လို ပရိုဂရမ်လုပ်မလဲ။ 3203 01:59:31,679 --> 01:59:33,599 c မှာ အသစ်တစ်ခုကို ဖန်တီးလိုက်ရုံပါပဲ။ 3204 01:59:33,599 --> 01:59:35,920 ကိန်းရှင်သည် h သော့ဖြစ်လိမ့်မည်။ 3205 01:59:35,920 --> 01:59:37,360 ပြောင်းလဲနိုင်သော 3206 01:59:37,360 --> 01:59:40,159 အဲဒါကို val အသစ်လို့ခေါ်မယ်။ 3207 01:59:40,159 --> 01:59:41,199 အဆင်ပြေပါတယ်။ 3208 01:59:41,199 --> 01:59:43,679 ဤတန်ဖိုးသည် အခြေခံအားဖြင့် တစ်ခုမျှသာဖြစ်သည်။ 3209 01:59:43,679 --> 01:59:47,119 ဖွင့်ထားသော registry key ကို ကိုင်တွယ်ပါ။ 3210 01:59:47,119 --> 01:59:48,080 ဒါကြောင့် 3211 01:59:48,080 --> 01:59:50,159 အခု ငါတို့ဒီမှာ ဒီတန်ဖိုးရှိတယ်။ 3212 01:59:50,159 --> 01:59:52,480 ကျွန်ုပ်တို့သည် function ကိုလုပ်ဆောင်နိုင်သည်။ 3213 01:59:52,480 --> 01:59:56,159 ဖြစ်လာမယ့် if statement ထဲမှာ 3214 01:59:56,159 --> 01:59:59,440 registry သို့မဟုတ် reg သော့ဖွင့်ထားသည်မို့ ကျွန်တော်တို 3215 01:59:59,440 --> 02:00:01,679 registry key နှင့် ဤလုပ်ဆောင်ချက်ကိုဖွင့်ပါ။ 3216 02:00:01,679 --> 02:00:04,400 ပထမတစ်ခုသည် မည်သည့်အငြင်းအခုံသုံးခုကို ယူသည်။ 3217 02:00:04,400 --> 02:00:06,239 ကျွန်ုပ်တို့ရှိရာ မှတ်ပုံတင်ခြင်း၏ အမှန်တကယ် အစိတ်အပိုင်း 3218 02:00:06,239 --> 02:00:08,639 ငါတို့ရဲ့သော့ကိုဖွင့်ပြီး ငါတို့ဆီကိုသွားမယ်ဆိုရင် 3219 02:00:08,639 --> 02:00:10,639 ဤနေရာတွင် windows registry ကိုကျွန်ုပ်တို့မြင်နိုင်သည်။ 3220 02:00:10,639 --> 02:00:13,840 အဓိက အပိုင်းငါးပိုင်း ရှိပါတယ်၊ သွားခွင့်ပြုပါ။ 3221 02:00:13,840 --> 02:00:16,080 ဒီမှာ ငါးခုတွေ့တယ်။ 3222 02:00:16,080 --> 02:00:17,920 အဓိက အစိတ်အပိုင်းတွေနဲ့ ကျွန်တော်တို့ ဖြစ်နေတာ 3223 02:00:17,920 --> 02:00:21,199 h key က လက်ရှိအသုံးပြုသူကို စိတ်ဝင်စားပါတယ်။ 3224 02:00:21,199 --> 02:00:23,199 ဒါကြောင့် ငါတို့က အဲဒီအခွင့်အရေးကို သတ်မှတ်မယ်။ 3225 02:00:23,199 --> 02:00:25,119 ဒီမှာ h သော့ 3226 02:00:25,119 --> 02:00:27,119 လက်ရှိအမှတ်အသား 3227 02:00:27,119 --> 02:00:29,520 သုံးစွဲသူကို အမှတ်ပေးလိုက်ပါ။ 3228 02:00:29,520 --> 02:00:30,960 လာမည့် 3229 02:00:30,960 --> 02:00:34,400 အငြင်းအခုံသည် ထိုအရာ၏ အတွင်းလမ်းကြောင်းဖြစ်လိမ့်မည်။ 3230 02:00:34,400 --> 02:00:35,760 registry ဆိုတော့ 3231 02:00:35,760 --> 02:00:38,560 လမ်းကြောင်းက အရာအားလုံးပဲ ဖြစ်လိမ့်မယ်။ 3232 02:00:38,560 --> 02:00:41,199 အဲဒါပြီးရင် ငါတို့ကိစ္စက ဒီလိုပါ။ 3233 02:00:41,199 --> 02:00:43,119 ဒါကြောင့် ဒီဟာကို မလိုအပ်ဘဲ ကူးယူကြပါစို့ 3234 02:00:43,119 --> 02:00:45,920 backslash       n        3235 02:00:46,960 --> 02:00:49,040 နှင့် စာသား၏အတွင်းပိုင်း 3236 02:00:49,040 --> 02:00:50,800 ကွင်းပိတ်များကို ကျွန်ုပ်တို့ နှစ်ဆသတ်မှတ်ရန် လိုအပ်သည်။ 3237 02:00:50,800 --> 02:00:52,080 ကိုးကား 3238 02:00:52,080 --> 02:00:52,840 နှင့် 3239 02:00:52,840 --> 02:00:56,639 ကျန်တဲ့လမ်းကြောင်းကို ကူးထည့်လိုက်ပါ။ 3240 02:00:56,639 --> 02:00:58,560 ဒီတော့ ဒါက အတွင်းထဲမှာ ရှိသင့်တယ်။ 3241 02:00:58,560 --> 02:01:00,560 ဤကွင်းများ 3242 02:01:00,560 --> 02:01:03,599 နောက်ဆုံးအငြင်းအခုံ 3243 02:01:03,599 --> 02:01:05,599 ဖြစ်မယ်။ 3244 02:01:05,599 --> 02:01:09,119 ကျွန်ုပ်တို့၏တန်ဖိုးအသစ်၏ မှတ်ဉာဏ်တည်နေရာ 3245 02:01:09,119 --> 02:01:10,000 ဒါကြောင့် 3246 02:01:10,000 --> 02:01:11,360 အဲဒါကိုလုပ်ဖို့အလို့ငှာ၊ 3247 02:01:11,360 --> 02:01:14,320 ဤကဲ့သို့ သတ်မှတ်ပါ။ 3248 02:01:14,320 --> 02:01:16,639 နှင့်ဤ 3249 02:01:16,639 --> 02:01:19,840 error underscore နဲ့ ညီလို့ မရပါဘူး။ 3250 02:01:19,840 --> 02:01:22,840 အောင်မြင်မှု 3251 02:01:23,040 --> 02:01:25,520 ဒီတော့ ဒီစာကြောင်းက အခြေခံအားဖြင့် ဘာလဲ။ 3252 02:01:25,520 --> 02:01:28,880 ဆိုလိုတာက ဒီ function အတိုင်း လုပ်ဆောင်ပါလိမ့်မယ်။ 3253 02:01:28,880 --> 02:01:30,960 သတ်သတ်မှတ်မှတ်တစ်ခုဖွင့်မည်ဟုဆိုသည်။ 3254 02:01:30,960 --> 02:01:33,679 registry က အသစ်ထည့်ဖို့ ကြိုးစားပါလိမ့်မယ်။ 3255 02:01:33,679 --> 02:01:35,440 တန်ဖိုး 3256 02:01:35,440 --> 02:01:38,159 ဒါမှအဆင်မပြေရင် ငါတို့ဘာလုပ်မလဲ။ 3257 02:01:38,159 --> 02:01:39,199 လုပ်ရန် 3258 02:01:39,199 --> 02:01:41,040 ငါတို့က နောက်တစ်ခေါက် ပို့တော့မှာလား။ 3259 02:01:41,040 --> 02:01:42,000 အမှား 3260 02:01:42,000 --> 02:01:44,800 ၎င်းကို အကြောင်းကြားရန် ကျွန်ုပ်တို့၏ဆာဗာသို့ အကြောင်းကြားပါ။ 3261 02:01:44,800 --> 02:01:46,800 အဆင်မပြေပါဘူး။ 3262 02:01:46,800 --> 02:01:48,880 ဒါဆို ငါတို့ လိုက်ပို့မယ်။ 3263 02:01:48,880 --> 02:01:50,560 ကျွန်ုပ်တို့၏ socket အရာဝတ္ထုဆီသို့ 3264 02:01:50,560 --> 02:01:55,199 error နှင့် error အရွယ်အစား 3265 02:01:55,199 --> 02:01:57,760 နောက်ဆုံး ကန့်သတ်ချက်သည် သုညဖြစ်သည်။ 3266 02:01:57,760 --> 02:02:01,040 ပြီးတော့ ငါတို့က အနုတ်တစ်ခု ပြန်ပေးမယ်။ 3267 02:02:01,040 --> 02:02:04,040 ဒါကြောင့် 3268 02:02:04,159 --> 02:02:07,360 အိုး၊ ငါ့ကိုသွားပြီးတော့ ဒီကွင်းစကွက်ကို နှိပ်ခွင့်ပြုပါ။ 3269 02:02:07,360 --> 02:02:09,199 အဲဒီထဲမှာ ငါတို့ရှိတယ်။ 3270 02:02:09,199 --> 02:02:12,159 စနစ်တကျအခြေခံ 3271 02:02:14,480 --> 02:02:17,679 ကောင်းပြီ ဒါဆို ငါတို့ဖွင့်လိုက်တာ 3272 02:02:17,679 --> 02:02:20,639 registry သည် ကျွန်ုပ်တို့၏တန်ဖိုးကို သတ်မှတ်ရန်လိုအပ်သည်။ 3273 02:02:20,639 --> 02:02:22,800 တန်ဖိုးသတ်မှတ်ဖို့အတွက် ပထမတစ်ခုပေါ့။ 3274 02:02:22,800 --> 02:02:24,719 အခြား variable တစ်ခုကို ဖန်တီးရန် လိုအပ်သည်။ 3275 02:02:24,719 --> 02:02:27,280 d စကားလုံးအမျိုးအစားဖြစ်မယ်။ 3276 02:02:27,280 --> 02:02:29,840 စကားလုံးနှစ်ထပ်ဖြစ်တယ်ဆိုတာ သိထားပါ။ 3277 02:02:29,840 --> 02:02:34,400 bytes ဖြင့် path length ဟုခေါ်သည်။ 3278 02:02:34,400 --> 02:02:36,400 လမ်းကြောင်းမျဉ်းနဲ့ ညီမယ်။ 3279 02:02:36,400 --> 02:02:38,320 ကျွန်တော်တို့ ဖန်တီးပြီးသား ကိန်းရှင်က မှန်တယ်။ 3280 02:02:38,320 --> 02:02:40,639 ဒီမှာ 3281 02:02:40,880 --> 02:02:43,599 အဲဒါနဲ့ မြှောက်မယ်။ 3282 02:02:43,599 --> 02:02:46,639 s z လမ်းကြောင်း အရွယ်အစား 3283 02:02:46,639 --> 02:02:48,719 အဲဒါကို ဘယ်လိုရေးမလဲ။ 3284 02:02:48,719 --> 02:02:50,880 ကွင်းကွင်းများအတွင်းတွင် ကြယ်ကို ရိုက်ထည့်ပါ။ 3285 02:02:50,880 --> 02:02:54,960 sign လုပ်ပြီး s z လမ်းကြောင်း 3286 02:02:55,440 --> 02:02:56,639 အဆင်ပြေပါတယ်။ 3287 02:02:56,639 --> 02:02:59,440 ဒီတော့ ဒါက နည်းနည်းခက်နိုင်တယ်။ 3288 02:02:59,440 --> 02:03:01,760 ဒါပေမယ့် ဒီလုပ်ဆောင်ချက်ကို boot လုပ်ဖို့ စိတ်မပူပါနဲ့။ 3289 02:03:01,760 --> 02:03:03,520 run သည် အမှန်တကယ်တွင် ကျွန်ုပ်တို့၏ အခက်ခဲဆုံး function ဖြစ်သည်။ 3290 02:03:03,520 --> 02:03:06,080 ကုဒ်တွေ ရေးရတော့မယ်။ 3291 02:03:06,080 --> 02:03:08,480 လောလောဆယ် လုပ်စရာတွေ ကျန်သေးတယ်။ 3292 02:03:08,480 --> 02:03:10,719 တန်ဖိုးကို အမှန်တကယ် သတ်မှတ်ရန် ကျန်နေပါသည်။ 3293 02:03:10,719 --> 02:03:13,840 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ မှတ်ပုံတင်ခြင်းအတွင်း၌ ဖွင့်လှစ်ထားသည်။ 3294 02:03:13,840 --> 02:03:15,599 ငါတို့နောက်တဖန်ထိုသို့ပြုကြလိမ့်မည်။ 3295 02:03:15,599 --> 02:03:17,920 if statement ရဲ့ အတွင်း မှာ so if နဲ့ then 3296 02:03:17,920 --> 02:03:22,000 လုပ်ဆောင်ချက်အမည်သည် reg သတ်မှတ်တန်ဖိုးဖြစ်သည်။ 3297 02:03:22,000 --> 02:03:23,360 x 3298 02:03:23,360 --> 02:03:25,679 ဤ x သည် အခြေခံအားဖြင့် ၎င်းကို ဆိုလိုသည်။ 3299 02:03:25,679 --> 02:03:28,000 error နဲ့ right ကိုရှာမယ်။ 3300 02:03:28,000 --> 02:03:29,119 ဒီမှာ 3301 02:03:29,119 --> 02:03:31,920 reg set value x ကို သတ်မှတ်ပါတယ်။ 3302 02:03:31,920 --> 02:03:33,599 ပထမအငြင်းအခုံဖြစ်မယ်။ 3303 02:03:33,599 --> 02:03:34,719 val အသစ် 3304 02:03:34,719 --> 02:03:37,040 ငါတို့ဒီမှာဖွင့်ထားတယ်။ 3305 02:03:37,040 --> 02:03:39,119 ငါတို့ဒီမှာဖန်တီးတယ်။ 3306 02:03:39,119 --> 02:03:40,639 ဒုတိယ parameter သည် the ဖြစ်လိမ့်မည်။ 3307 02:03:40,639 --> 02:03:42,960 ကျွန်ုပ်တို့ ဖန်တီးနေသည့် အစစ်အမှန်အမည်နှင့် 3308 02:03:42,960 --> 02:03:45,440 ဆိုလိုချင်တာက registry ကိုသွားရင်တော့ 3309 02:03:45,440 --> 02:03:48,000 ပြီး​တော့ မင်းနာမည်​တံဆိပ်​​အောက်​မှာ ဒီကိုသွားပါ။ 3310 02:03:48,000 --> 02:03:50,159 ငါတို့နာမည်ဖြစ်မယ်၊ ဒီမှာ ငါတို့လုပ်နိုင်မယ်။ 3311 02:03:50,159 --> 02:03:52,719 ကျွန်ုပ်တို့ လိုချင်သောအရာကို သတ်မှတ်ပါ။ 3312 02:03:52,719 --> 02:03:55,599 ဥပမာ တစ်ခုခုကို သတ်မှတ်နိုင်ပါတယ်။ 3313 02:03:55,599 --> 02:03:58,239 စာသားနှင့် ဤအထဲမှာ 3314 02:03:58,239 --> 02:04:02,800 နှစ်ထပ်ကိုးကားပြီးရင် hacked ဖြစ်လိမ့်မယ်။ 3315 02:04:03,760 --> 02:04:07,440 ကောင်းပြီ ဒါကြောင့် ဒါကို ငါတို့ သတ်မှတ်ရမယ်။ 3316 02:04:07,440 --> 02:04:10,079 တတိယ ဘောင်သည် သုည ဖြစ်လိမ့်မည်။ 3317 02:04:10,079 --> 02:04:11,040 အဆိုပါ 3318 02:04:11,040 --> 02:04:13,280 စတုတ္ထ parameter သည် reg ဖြစ်လိမ့်မည်။ 3319 02:04:13,280 --> 02:04:15,040 cz အမှတ် 3320 02:04:15,040 --> 02:04:17,360 နှင့် cz အခြေခံအားဖြင့် အတိုကောက်ဆွဲပါ။ 3321 02:04:17,360 --> 02:04:19,199 ဤအမျိုးအစားအတွက် ကျွန်ုပ်တို့သည် ဤနေရာတွင်ရှိသည်။ 3322 02:04:19,199 --> 02:04:21,119 ကျွန်တော်တို့ရဲ့ ကိစ္စမှာ ကျွန်တော်တို့ ဖန်တီးချင်တာ ဖန်တီးတယ်။ 3323 02:04:21,119 --> 02:04:23,280 ဤအမျိုးအစားသည် reg နှင့်တူသည်။ 3324 02:04:23,280 --> 02:04:25,599 cz ကို ထောက်၍ စာရိုက်နေပါသည်။ 3325 02:04:25,599 --> 02:04:26,880 ဒီမှာ 3326 02:04:26,880 --> 02:04:30,079 နောက် parameter က ဖြစ်မယ်။ 3327 02:04:30,079 --> 02:04:31,599 နည်းနည်းတော့ ခက်တယ်၊ ငါတို့ သွားမယ်။ 3328 02:04:31,599 --> 02:04:35,520 ဤ lp byte ကဲ့သို့ သတ်မှတ်ပါ။ 3329 02:04:36,480 --> 02:04:39,760 ပြီးရင် cz path က so alphy byte က ဒီကနေ 3330 02:04:39,760 --> 02:04:42,400 လွယ်ကူသောလမ်းကြောင်း၊ ထို့နောက်နောက်ဆုံးကန့်သတ်ချက် 3331 02:04:42,400 --> 02:04:43,520 လမ်းကြောင်း 3332 02:04:43,520 --> 02:04:46,960 ဘိုက်ဖြင့် len 3333 02:04:46,960 --> 02:04:51,280 ဒါတွေအားလုံးက တန်းတူမဖြစ်ရဘူး။ 3334 02:04:51,280 --> 02:04:55,520 အမှားသည် အောင်မြင်မှုကို အမှတ်အသားပြုသည်။ 3335 02:04:57,199 --> 02:04:59,599 ပြီးတော့ ဒီ function နဲ့ နောက်တစ်ကြိမ် ကျွန်တော်တို့ သတ်မှတ်ပေးတယ်။ 3336 02:04:59,599 --> 02:05:02,480 ဒေတာနှင့် သတ်မှတ်တန်ဖိုးတစ်ခု၏ အမျိုးအစား 3337 02:05:02,480 --> 02:05:04,560 မှတ်ပုံတင်သော့အောက်တွင် 3338 02:05:04,560 --> 02:05:05,679 အဆင်ပြေပါတယ်။ 3339 02:05:05,679 --> 02:05:06,560 နှင့် 3340 02:05:06,560 --> 02:05:09,679 ဒါက အလုပ်မဖြစ်ဘူးဆိုရင် 3341 02:05:09,679 --> 02:05:11,360 ငါတို့ဘာလုပ်မလဲ။ 3342 02:05:11,360 --> 02:05:12,880 ငါတို့သွားမှာလား။ 3343 02:05:12,880 --> 02:05:14,719 သော့ကို အရင်ပိတ်လိုက်ပါ။ 3344 02:05:14,719 --> 02:05:16,480 အဲဒါနဲ့ ငါတို့လိုအပ်တဲ့သော့ကို ပိတ်ဖို့ 3345 02:05:16,480 --> 02:05:18,400 function reg ကိုအသုံးပြုရန် 3346 02:05:18,400 --> 02:05:19,679 အနီးကပ် 3347 02:05:19,679 --> 02:05:21,840 သော့ 3348 02:05:21,840 --> 02:05:24,000 ငါတို့က ဘယ်သော့ကို ပိတ်နေတာလဲ 3349 02:05:24,000 --> 02:05:26,079 ကျွန်တော်တို့ ဖန်တီးထားတဲ့ သော့ကို ပိတ်လိုက်ပါ။ 3350 02:05:26,079 --> 02:05:28,880 ဤတန်ဖိုးအသစ်သော့သည် ဤအရာ၏အတွင်းဘက်ဖြစ်သည်။ 3351 02:05:28,880 --> 02:05:32,880 အဲဒါကို ကျွန်တော်တို့က valve အသစ်သတ်မှတ်တယ်။ 3352 02:05:32,880 --> 02:05:36,639 ပြီးတော့ အမှားကို ငါတို့ socket ဆီကို ပို့ပေးတယ်။ 3353 02:05:36,639 --> 02:05:38,079 ခြေအိတ် 3354 02:05:38,079 --> 02:05:38,960 အမှား 3355 02:05:38,960 --> 02:05:41,280 အမှားအရွယ်အစား 3356 02:05:41,280 --> 02:05:42,639 ပြီးတော့ သုည 3357 02:05:42,639 --> 02:05:44,320 အဆင်ပြေပါတယ်။ 3358 02:05:44,320 --> 02:05:46,880 အဲဒါပြီးရင် အနုတ်တစ်ခုနဲ့ ငါတို့ ပြန်သွားလိမ့်မယ်။ 3359 02:05:46,880 --> 02:05:49,280 ငါတို့လုပ်စရာတွေ အကုန်နီးပါးပြီးပြီ။ 3360 02:05:49,280 --> 02:05:51,760 အခုချက်ချင်း 3361 02:05:51,760 --> 02:05:54,320 တကယ်က အောင်မြင်မှု မက်ဆေ့ခ်ျကို ပို့တာပါ။ 3362 02:05:54,320 --> 02:05:56,880 ဒီအမှုဟာ အားလုံးအလုပ်လုပ်ပြီး ကျွန်တော်တို့ လုပ်နေတယ်။ 3363 02:05:56,880 --> 02:05:58,639 ဒါတွေအားလုံးရဲ့ အဆုံးမှာ if 3364 02:05:58,639 --> 02:06:00,639 ကြေညာချက်တွေ အကုန်လုံး ပါတာ့မို့ပါ။ 3365 02:06:00,639 --> 02:06:02,400 ဆိုလိုတာက ငါတို့ဖန်တီးခဲ့တာ 3366 02:06:02,400 --> 02:06:04,719 ဇွဲလုံ့လနဲ့ အခုပဲ အောင်မြင်တယ်။ 3367 02:06:04,719 --> 02:06:06,719 အောင်မြင်စွာ ပိတ်နိုင်ပါပြီ။ 3368 02:06:06,719 --> 02:06:08,560 သော့တန်ဖိုး ဆိုတော့ ကျွန်တော်တို့လည်း အတူတူပါပဲ။ 3369 02:06:08,560 --> 02:06:10,800 ငါတို့ ဒီမှာ လုပ်ခဲ့တာ ဒါပဲ ဖြစ်လိမ့်မယ်။ 3370 02:06:10,800 --> 02:06:12,880 အဆင်မပြေရင် ဒီအမှု ၊ 3371 02:06:12,880 --> 02:06:15,040 အဲဒါက အလုပ်ဖြစ်ရင် reg က ဖြစ်လိမ့်မယ်။ 3372 02:06:15,040 --> 02:06:16,800 သော့ပိတ်ပါ။ 3373 02:06:16,800 --> 02:06:20,239 သော့သည် အသစ်ဖြစ်လိမ့်မည်။ 3374 02:06:20,719 --> 02:06:22,880 ဒီကို ပို့ချင်တယ်။ 3375 02:06:22,880 --> 02:06:24,480 access error ဖြစ်တာကြောင့် သတ်မှတ်ပေးဖို့ လိုပါတယ်။ 3376 02:06:24,480 --> 02:06:26,079 ခြေစွပ်များ 3377 02:06:26,079 --> 02:06:27,920 အဲဒီ့ မက်ဆေ့ခ်ျက ဒီအရွယ်ပေါ့။ 3378 02:06:27,920 --> 02:06:30,320 သတင်းစကား 3379 02:06:30,320 --> 02:06:32,320 ပြီးတော့ သုည 3380 02:06:32,320 --> 02:06:34,880 အဲဒါပြီးရင် တစ်လုံးပြန်ပေးလို့ရတယ်။ 3381 02:06:34,880 --> 02:06:37,360 ဒီလုပ်ဆောင်ချက်ကို ညွှန်ပြတယ်။ 3382 02:06:37,360 --> 02:06:40,400 အဆင်ပြေပါတယ်။ 3383 02:06:40,639 --> 02:06:43,360 ဒီတော့ ဒါက ကျွန်တော်တို့ရဲ့ boot run function ဖြစ်ပါလိမ့်မယ်။ 3384 02:06:43,360 --> 02:06:45,440 ပြီး​တော့ ကျွန်​​တော်​တို့ ​အောင်​မြင်​စွာ ​ပေါင်းထည့်​လိုက်​တယ်​ 3385 02:06:45,440 --> 02:06:47,599 ပရိုဂရမ်က ဘယ်လိုဖြစ်မလဲ ကြည့်မယ်။ 3386 02:06:47,599 --> 02:06:50,159 ကျွန်ုပ်တို့သည် malware တစ်ခုလုံးကို အပြီးသတ်ပြီးနောက် အလုပ်လုပ်ပါသည်။ 3387 02:06:50,159 --> 02:06:52,000 ငါတို့သွားမယ့် server တစ်ခုလုံး 3388 02:06:52,000 --> 02:06:54,880 ဤလုပ်ဆောင်ချက်အားလုံးကို စမ်းသပ်ပြီး ပြုပြင်မည်ဆိုပါက၊ 3389 02:06:54,880 --> 02:06:56,560 ကျွန်ုပ်တို့တွင် အမှားအယွင်းတစ်စုံတစ်ရာ ရှိသည်။ 3390 02:06:56,560 --> 02:06:58,000 ဒါတောင်မှ ဒီဟာက တစ်ခုပဲလေ။ 3391 02:06:58,000 --> 02:07:00,480 ပိုခက်တဲ့ ဗီဒီယိုလေးတွေပါ တကယ်ကို မျှော်လင့်ပါတယ်။ 3392 02:07:00,480 --> 02:07:02,719 အနည်းဆုံးတော့ အစိတ်အပိုင်းအများစုကို နားလည်တယ်။ 3393 02:07:02,719 --> 02:07:04,159 တစ်စုံတစ်ခုကို ခံစားနားမလည်ခဲ့ပါ။ 3394 02:07:04,159 --> 02:07:06,560 q a section နှင့် i တွင် လွတ်လပ်စွာ တင်နိုင်သည်။ 3395 02:07:06,560 --> 02:07:09,599 တတ်နိုင်သမျှ အမြန်ဆုံး ဖြေကြားပေးပါ့မယ် 3396 02:07:09,599 --> 02:07:11,199 ဒီသင်ခန်းစာကို ကြည့်ပြီး ကျေးဇူးတင်ပါတယ်။ 3397 02:07:11,199 --> 02:07:13,280 ကျွန်တော်တို့ ကုဒ်ကို ဆက်လုပ်သွားမယ်။ 3398 02:07:13,280 --> 02:07:15,199 နောက် video ပါ နှုတ်ဆက်ပါတယ်။ 3399 02:07:15,199 --> 02:07:17,440 အားလုံးပဲမင်္ဂလာပါ ပြန်လာမှကြိုဆိုပါတယ်။ 3400 02:07:17,440 --> 02:07:18,880 ငါတို့က တကယ် နီးနေပြီ။ 3401 02:07:18,880 --> 02:07:21,280 ကျန်တာအားလုံး ပြီးသွားပါပြီ။ 3402 02:07:21,280 --> 02:07:23,520 လုပ်ဆောင်ရန်မှာ ၎င်းတွင် ပင်မလုပ်ဆောင်ချက်တစ်ခု ပေါင်းထည့်ခြင်းဖြစ်သည်။ 3403 02:07:23,520 --> 02:07:26,960 ကျွန်တော်တို့ရဲ့ keylogger ကဒါကြောင့်ဘယ်လိုထည့်တာလဲ။ 3404 02:07:26,960 --> 02:07:29,599 ဒါကို ကောင်းကောင်းလုပ်တော့မယ်။ 3405 02:07:29,599 --> 02:07:31,760 keylogger သည် သီးခြားကုဒ်လုပ်ထားသည်။ 3406 02:07:31,760 --> 02:07:33,920 ကျွန်တော်တို့ ဖြတ်သန်းရမယ့် အစီအစဉ်ပါ။ 3407 02:07:33,920 --> 02:07:36,000 ကုဒ်အခြေခံအချို့ကို ရှင်းပြရခြင်း 3408 02:07:36,000 --> 02:07:37,679 အဲဒါကို ငါတို့မှာ မထည့်ချင်ဘူး။ 3409 02:07:37,679 --> 02:07:40,239 backdoor နဲ့ code တွေကို ဘာမှရှင်းပြမနေပါနဲ့။ 3410 02:07:40,239 --> 02:07:42,239 ကျွန်ုပ်တို့သည် ကုဒ်ကို တိုတိုတုတ်တုတ်ဖြင့် သွားပါမည်။ 3411 02:07:42,239 --> 02:07:44,159 အရာအားလုံး လုပ်ဆောင်ပုံနှင့် ရှင်းပြပါ။ 3412 02:07:44,159 --> 02:07:46,320 ပြီးရင် ဘယ်လိုအကောင်အထည် ဖော်နိုင်မလဲ ကြည့်မယ်။ 3413 02:07:46,320 --> 02:07:48,719 ကျွန်ုပ်တို့၏ သော့လော့ဂ်ဂါသည် ကျွန်ုပ်တို့၏အနောက်တံခါးဆီသို့ သွားနေစဉ် 3414 02:07:48,719 --> 02:07:50,800 နောက်ဖေးတံခါးကို ပြေးနေတုန်းမို့လား။ 3415 02:07:50,800 --> 02:07:53,280 ဤနေရာတွင် ပန်းတိုင်သည် အမှန်တကယ် လုပ်ဆောင်ရန်ဖြစ်သည်။ 3416 02:07:53,280 --> 02:07:56,000 နောက်ခံ keylogger နဲ့ ဖြစ်နေဆဲပါ။ 3417 02:07:56,000 --> 02:07:57,599 အခြား command များကို လုပ်ဆောင်နိုင်သည်။ 3418 02:07:57,599 --> 02:07:59,199 တပြိုင်နက်တည်း 3419 02:07:59,199 --> 02:08:01,440 ဒီတော့ ငါတို့ရှေ့မှာ ဘယ်လို လုပ်ရမလဲ ကြည့်ရအောင် 3420 02:08:01,440 --> 02:08:02,800 အဲဒါကို လုပ်ပါ။ 3421 02:08:02,800 --> 02:08:04,560 ကျွန်တော်တို့ရဲ့ ကုဒ်ကို စစ်ဆေးကြည့်ရအောင် 3422 02:08:04,560 --> 02:08:06,719 keylogger နဲ့ သင့်အတွက် သင်ရပါလိမ့်မယ်။ 3423 02:08:06,719 --> 02:08:08,880 အရင်းအမြစ်များရှိ keylogger ၏ကုဒ် 3424 02:08:08,880 --> 02:08:10,960 ဒီဟောပြောပွဲက ပိုကောင်းလိမ့်မယ်။ 3425 02:08:10,960 --> 02:08:12,719 ရိုးရှင်းစွာဒေါင်းလုဒ်လုပ်လျှင် 3426 02:08:12,719 --> 02:08:15,520 လိုက်နာပါ ဒါဆို ငါဖွင့်လိုက်ပါ့မယ် 3427 02:08:15,520 --> 02:08:17,199 ဂိတ် 3428 02:08:17,199 --> 02:08:19,679 ဤနေရာတွင် ကျွန်ုပ်၏ keylogger သည် အမှန်တကယ်ဖြစ်သည်။ 3429 02:08:19,679 --> 02:08:21,920 ဒီ bruteforce directory မှာ သိမ်းထားတာ မို့လို့ပါ။ 3430 02:08:21,920 --> 02:08:23,679 အဲဒီကို အရင်သွားမယ်။ 3431 02:08:23,679 --> 02:08:26,000 ငါ၏ဒက်စတော့ငါသည်ငါ့ brute သို့သွားလိမ့်မည်။ 3432 02:08:26,000 --> 02:08:27,760 အတင်းလမ်းညွှန် 3433 02:08:27,760 --> 02:08:30,239 ပြီးတော့ ဒီစခရင်ကိုလည်း ချဲ့မယ်။ 3434 02:08:30,239 --> 02:08:33,280 Zoom in လုပ်တဲ့အတွက် အရာအားလုံးကို ပိုကောင်းအောင် မြင်နိုင်မှာပါ။ 3435 02:08:33,280 --> 02:08:34,320 အဆင်ပြေပါတယ်။ 3436 02:08:34,320 --> 02:08:37,119 ဒါကြောင့် ဒီမှာ ls လို့ ရိုက်လိုက်ရင် မြင်နိုင်မှာပါ။ 3437 02:08:37,119 --> 02:08:38,960 keylogger2.h 3438 02:08:38,960 --> 02:08:41,199 ဒါက ငါတို့ဖိုင်ရဲ့ ပထမဆုံးအရာပါ။ 3439 02:08:41,199 --> 02:08:43,040 ငါနာမည်ပြောင်းတော့မယ်။ 3440 02:08:43,040 --> 02:08:46,719 keylogger.h သို့ 3441 02:08:46,719 --> 02:08:48,400 ရှိခြင်းမှာ အမှတ်မရှိသောကြောင့်ဖြစ်သည်။ 3442 02:08:48,400 --> 02:08:50,639 ဒီနှစ်ခုပဲရှိလို့ 3443 02:08:50,639 --> 02:08:53,119 အရင်က ကီးလော့ဂ်ဂါတစ်ခုက ကုဒ်ရေးထားပြီးသားဆိုတော့ 3444 02:08:53,119 --> 02:08:55,360 ဒါကို နံပါတ်နှစ်လို့ခေါ်တယ်။ 3445 02:08:55,360 --> 02:08:57,360 ဒါပေမယ့် လောလောဆယ်တော့ အရေးမကြီးပါဘူး။ 3446 02:08:57,360 --> 02:09:00,159 keylogger.h ကို nano နဲ့ပဲ ကြည့်ရအောင် 3447 02:09:00,159 --> 02:09:02,400 ဤနေရာတွင် ဤအရာသည် အတော်လေးကို တွေ့ရလိမ့်မည်။ 3448 02:09:02,400 --> 02:09:04,800 ကုဒ်အကြီးကြီးသည် သေးငယ်သော function မဟုတ်ပါ။ 3449 02:09:04,800 --> 02:09:07,520 ကျွန်ုပ်တို့၏ပရိုဂရမ်တွင်ထည့်သွင်းမည်ကိုသင်တွေ့လိမ့်မည်။ 3450 02:09:07,520 --> 02:09:09,679 ဤဖော်ပြချက်အချို့သည် ဤနေရာတွင်ဖြစ်သည်။ 3451 02:09:09,679 --> 02:09:11,520 ရှင်းပြပြီးသား 3452 02:09:11,520 --> 02:09:13,360 ဥပမာ ဒီ infinite loop လိုမျိုး 3453 02:09:13,360 --> 02:09:15,520 ဒီမှာ ကျန်တာတွေ ငါတို့ဆီ ယူသွားတယ်။ 3454 02:09:15,520 --> 02:09:17,599 ကျွန်ုပ်တို့မြင်ရသည့်အတိုင်း ပရိုဂရမ်သည် အိပ်စက်ခြင်းကို အသုံးပြုသည်။ 3455 02:09:17,599 --> 02:09:19,520 ကျွန်တော်တို့ ရင်းနှီးပြီးသား လုပ်ဆောင်ချက် 3456 02:09:19,520 --> 02:09:22,079 ငါတို့ နောက်တံခါးမှာ သုံးထားသလိုပဲ။ 3457 02:09:22,079 --> 02:09:23,840 ပစ္စည်းအများစုဟာ ဒီမှာရှိပြီးသားပါ။ 3458 02:09:23,840 --> 02:09:26,000 ရှင်းပြထားပေမယ့် အဲဒါကို တစ်ချက်ကြည့်လိုက်ရအောင် 3459 02:09:26,000 --> 02:09:27,840 အနည်းငယ်အသေးစိတ် 3460 02:09:27,840 --> 02:09:30,480 ဒါကြောင့် ဒီနေရာမှာ ကျွန်ုပ်တို့ရဲ့ လုပ်ဆောင်ချက်ကို သင်အဖြစ် သတ်မှတ်ပါတယ်။ 3461 02:09:30,480 --> 02:09:32,560 ၎င်းသည် ၎င်း၏ အစီအစဉ်မဟုတ်ကြောင်း တွေ့ရလိမ့်မည်။ 3462 02:09:32,560 --> 02:09:35,040 ကိုယ်ပိုင်ဤသည်ထည့်သွင်းရန်ရည်ရွယ်သည်။ 3463 02:09:35,040 --> 02:09:36,560 မတူညီသော အစီအစဉ်တစ်ခုသို့ 3464 02:09:36,560 --> 02:09:38,239 ဒီနေရာမှာ ကျွန်တော်တို့မှာ log function တစ်ခုရှိတယ်။ 3465 02:09:38,239 --> 02:09:41,040 ကျွန်ုပ်တို့၏ backdoor တွင်အသုံးပြုရန်နှင့်ဤနေရာတွင်ကျွန်ုပ်တို့ပြုလုပ်ထားသည်။ 3466 02:09:41,040 --> 02:09:43,920 ၎င်းသည် win api ဟူသော စကားလုံးနှစ်လုံးဖြစ်ရမည်။ 3467 02:09:43,920 --> 02:09:46,159 တကယ်က မလိုအပ်ပေမယ့်၊ 3468 02:09:46,159 --> 02:09:47,760 အဲဒီအပေါ်မှာပဲ ထားခဲ့မယ်။ 3469 02:09:47,760 --> 02:09:49,440 အရေးမကြီးပါဘူး ဒါပေမယ့် မင်းလုပ်သင့်တယ်။ 3470 02:09:49,440 --> 02:09:50,960 ဒါက တကယ်မဟုတ်ဘူးဆိုတာကို သတိပြုပါ။ 3471 02:09:50,960 --> 02:09:53,040 လိုအပ်သလို ရိုးရှင်းစွာ လုပ်နိုင်ပါတယ်။ 3472 02:09:53,040 --> 02:09:55,119 ၎င်းသည် integer function တစ်ခုဖြစ်သည်။ 3473 02:09:55,119 --> 02:09:57,840 ၎င်းကို သင်၏ backdoor သို့လည်း ထည့်သွင်းပါ။ 3474 02:09:57,840 --> 02:10:00,079 ဒီတော့ ဒီမှာ နောက်တစ်ခုက ငါတို့လုပ်မယ်။ 3475 02:10:00,079 --> 02:10:03,280 ကိန်းရှင်များစွာကို ယခုအများဆုံးသတ်မှတ်ပါ။ 3476 02:10:03,280 --> 02:10:06,239 ဤအရာအတွက် အရေးကြီးသော ကိန်းရှင်များဖြစ်သည်။ 3477 02:10:06,239 --> 02:10:08,480 ဤနေရာ၌ ဤကိန်းပြည့်ကိန်းရှင်များ 3478 02:10:08,480 --> 02:10:10,800 ဒီပြချက်က key variable ပဲဗျ။ 3479 02:10:10,800 --> 02:10:11,760 ဒီမှာ 3480 02:10:11,760 --> 02:10:14,000 အခုငါတို့ဆီရောက်ရင် သူတို့ကို ရှင်းပြမယ်။ 3481 02:10:14,000 --> 02:10:16,320 တကယ်သုံးတဲ့ အပိုင်းကတော့ မှန်ပါတယ်။ 3482 02:10:16,320 --> 02:10:18,239 ကဲ ဆင်းကြစို့ 3483 02:10:18,239 --> 02:10:20,639 ကျွန်ုပ်တို့အသုံးပြုမည့် char variable များ 3484 02:10:20,639 --> 02:10:22,480 တကယ် print ထုတ်ဖို့ သေချာပါတယ်။ 3485 02:10:22,480 --> 02:10:25,760 ကျွန်ုပ်တို့၏ key logger အတွင်းရှိ ဇာတ်ကောင်များ 3486 02:10:25,760 --> 02:10:28,880 ပြီးရင် file descriptor နဲ့ ကျွန်တော်တို့ သတ်မှတ်ပါတယ်။ 3487 02:10:28,880 --> 02:10:30,800 ဖိုင်ကို တကယ်ဖန်တီးဖို့ လိုအပ်တာကြောင့်ပါ။ 3488 02:10:30,800 --> 02:10:33,599 ကျွန်ုပ်တို့၏ keylogger သည် ထည့်သွင်းခြင်းအပေါ် အခြေခံပါမည်။ 3489 02:10:33,599 --> 02:10:36,320 ဖိုင်တစ်ခုအတွင်း သော့ခတ်ခြင်းများ 3490 02:10:36,320 --> 02:10:38,400 အဲဒါကြောင့် ဒီစာကြောင်းနှစ်ခုက မှန်တယ်။ 3491 02:10:38,400 --> 02:10:40,800 ဤတွင်ကျွန်ုပ်တို့ဖိုင်ဖော်ပြချက်နှင့်ဖန်တီးပါ။ 3492 02:10:40,800 --> 02:10:43,040 ကျွန်ုပ်တို့သည်လည်း character variable တစ်ခုကို ဖန်တီးပါသည်။ 3493 02:10:43,040 --> 02:10:45,040 ဘယ်ဟာက keylog ဖိုင်ဖြစ်မလဲ။ 3494 02:10:45,040 --> 02:10:47,920 လိုချင်ရင် windows.txt ကို အခုပဲ ခေါ်လိုက်ပါ။ 3495 02:10:47,920 --> 02:10:49,199 ဒါကို မင်းဘယ်အရာကိုမဆို ပြောင်းလဲနိုင်တယ်။ 3496 02:10:49,199 --> 02:10:51,119 အခြေခံအားဖြင့် ငါက အဲဒါကို ခေါ်ချင်တာ 3497 02:10:51,119 --> 02:10:53,840 windows.txt က တကယ်မဟုတ်လို့ 3498 02:10:53,840 --> 02:10:57,599 ဒိုင်ယာရီတစ်ခုတွင် တစ်ခါမြင်ဖူးသည်ကို သံသယဖြစ်ဖွယ်ကြည့်သည်။ 3499 02:10:57,599 --> 02:11:00,079 ကောင်းပြီ ဒါဆို ဒီနာမည်က လာမယ်။ 3500 02:11:00,079 --> 02:11:02,159 ငါတို့ထည့်သွင်းမယ့်ဖိုင် 3501 02:11:02,159 --> 02:11:03,920 သော့ခတ်ခြင်း။ 3502 02:11:03,920 --> 02:11:05,920 ၎င်းသည် file descriptor ဖြစ်လိမ့်မည်။ 3503 02:11:05,920 --> 02:11:07,520 ထိုဖိုင် 3504 02:11:07,520 --> 02:11:09,199 ကဲ အဓိက အပိုင်းကို သွားကြည့်ရအောင် 3505 02:11:09,199 --> 02:11:12,000 အခုအချိန်မှာ loop ပတ်နေတဲ့ program ပါ။ 3506 02:11:12,000 --> 02:11:14,800 ဤစဉ်တွင် loop သည်အမြဲတမ်းလည်ပတ်လိမ့်မည်။ 3507 02:11:14,800 --> 02:11:17,599 အချို့သော ကီးဘုတ်ထည့်သွင်းမှုများနှင့် ထပ်လောင်းပါ။ 3508 02:11:17,599 --> 02:11:20,320 ကီးဘုတ်တစ်ခုစီကို ထည့်သွင်းမှုတစ်ခုအဖြစ် သတ်မှတ်ပေးမည်ဖြစ်သည်။ 3509 02:11:20,320 --> 02:11:22,079 အချို့သော ကာရိုက်တာ ဖြစ်သောကြောင့် ၎င်းသည် အဓိက ဖြစ်သည်။ 3510 02:11:22,079 --> 02:11:24,320 တကယ့် ပရိုဂရမ်ရဲ့ တစ်စိတ်တစ်ပိုင်းဖြစ်တာကြောင့် ဘယ်လိုများပါလိမ့် 3511 02:11:24,320 --> 02:11:27,520 တကယ်တော့ အဲဒါကို ကောင်းကောင်းလုပ်ပါ။ 3512 02:11:27,520 --> 02:11:29,599 ကျန်တာကို 10 မီလီစက္ကန့်လောက် ထားလိုက်ပါ။ 3513 02:11:29,599 --> 02:11:31,760 ဤနေရာ၌ ဤအမှုကို စီရင်လိမ့်မည်။ 3514 02:11:31,760 --> 02:11:34,079 while ရဲ့အစက true loop every 3515 02:11:34,079 --> 02:11:36,560 ထပ်ခါထပ်ခါ ပြီးသွားတဲ့အချိန် 3516 02:11:36,560 --> 02:11:39,840 ထို့နောက် get key state function ကိုလုပ်ဆောင်သည်။ 3517 02:11:39,840 --> 02:11:42,560 ယခု ကိန်းပြည့်ကိန်းရှင်များအားလုံးသို့ 3518 02:11:42,560 --> 02:11:44,400 ဒီ get key က ဘာလဲဆိုတာ အရင်သတ်မှတ်ကြည့်ရအောင် 3519 02:11:44,400 --> 02:11:47,040 state function သည် အများဆုံးဖြစ်သောကြောင့်ဖြစ်သည်။ 3520 02:11:47,040 --> 02:11:49,119 ဒီအတွက် အရေးကြီးပြီး အရေးကြီးတဲ့ လုပ်ဆောင်ချက်ပါ။ 3521 02:11:49,119 --> 02:11:51,119 အစီအစဉ် 3522 02:11:51,119 --> 02:11:53,119 ဒီတော့ ဒီမှာ ပရိုဂရမ်က တကယ်ရှိတဲ့နေရာပါ။ 3523 02:11:53,119 --> 02:11:54,719 နည်းနည်းခက်လာသည်။ 3524 02:11:54,719 --> 02:11:56,639 ဒါမှမဟုတ် syntax ရလိမ့်မယ်လို့ပဲ ပြောလိမ့်မယ်။ 3525 02:11:56,639 --> 02:11:58,480 လေးလံတယ်ဆိုတာ နားလည်ရမခက်ပါဘူး။ 3526 02:11:58,480 --> 02:12:01,199 အခြေခံနိယာမတစ်ခုအပေါ် လုပ်ဆောင်နေသောကြောင့်ဖြစ်သည်။ 3527 02:12:01,199 --> 02:12:03,520 အဲဒီတော့ ဒီမှာလုပ်နေတာက နှိုင်းယှဥ်တယ်။ 3528 02:12:03,520 --> 02:12:06,639 ကွဲပြားခြားနားသော ascii ဇာတ်ကောင်များ 3529 02:12:06,639 --> 02:12:10,400 ဤလုပ်ဆောင်ချက်ကို ဤနေရာတွင် အသုံးပြုပါ။ 3530 02:12:10,400 --> 02:12:12,800 ဤ get key state သည် main function ဖြစ်သည်။ 3531 02:12:12,800 --> 02:12:15,040 ဒီပရိုဂရမ်အတွက် အဓိကပြောချင်တာက အဲဒါပါ။ 3532 02:12:15,040 --> 02:12:17,520 ဤ keylogger သည် ၎င်းကိုလုပ်ဆောင်ရန်အတွက် မရှိမဖြစ်လိုအပ်ပါသည်။ 3533 02:12:17,520 --> 02:12:19,199 ၏ status ကိုပြန်လည်ရယူလိမ့်မည်။ 3534 02:12:19,199 --> 02:12:21,360 သတ်မှတ်ထားသော virtual key 3535 02:12:21,360 --> 02:12:24,159 ယခု virtual key သည် ပထမဆုံးဖြစ်သည်။ 3536 02:12:24,159 --> 02:12:26,880 ၎င်းသည် ကိန်းပြည့်အမျိုးအစားဖြစ်ပြီး ၎င်းသည် ဖြစ်လျှင်ဖြစ်သည်။ 3537 02:12:26,880 --> 02:12:29,119 အက္ခရာ သို့မဟုတ် ဂဏန်းတစ်ခုဟု သတ်မှတ်ရပါမည်။ 3538 02:12:29,119 --> 02:12:31,760 ထိုဇာတ်ကောင်၏ ascii တန်ဖိုး 3539 02:12:31,760 --> 02:12:33,840 အခြားသော့များအတွက် ၎င်းသည် အတုမဲ့သော့ဖြစ်ရပါမည်။ 3540 02:12:33,840 --> 02:12:34,719 ကုဒ် 3541 02:12:34,719 --> 02:12:36,639 အခု မင်း အများစုက ascii ဆိုတာကို သိပြီ ထင်ပါတယ်။ 3542 02:12:36,639 --> 02:12:38,719 ဆိုလိုသည်မှာ အခြေခံအားဖြင့် ascii သည် မတူညီပါ။ 3543 02:12:38,719 --> 02:12:40,480 မတူညီသောဇာတ်ကောင်များ၏ကိုယ်စားပြုမှု 3544 02:12:40,480 --> 02:12:43,679 ဥပမာ၊ ဆဋ္ဌမကိန်းဂဏန်းများဖြင့် ဂဏန်းများ 3545 02:12:43,679 --> 02:12:45,360 ကျွန်တော်ယုံသည် 3546 02:12:45,360 --> 02:12:47,040 ငါဒီအကြောင်းကိုတကယ်မသေချာပေမယ့်ငါ 3547 02:12:47,040 --> 02:12:48,400 ကြိုက်သလိုယုံပါ။ 3548 02:12:48,400 --> 02:12:52,159 0 0x 42 3549 02:12:52,159 --> 02:12:54,079 မြို့တော်သည် a 3550 02:12:54,079 --> 02:12:56,239 ဒါမှမဟုတ် အရင်းအနှီး b လားတော့ မသိဘူး။ 3551 02:12:56,239 --> 02:12:58,880 ဤကဲ့သို့ ကိုယ်စားပြုသည်။ 3552 02:12:58,880 --> 02:13:00,320 ပြီးတော့ ငါတို့ဘာလုပ်နေတာလဲ။ 3553 02:13:00,320 --> 02:13:02,639 ၎င်းကို ၎င်း၏ အစစ်အမှန်သို့ ပြန်ပြောင်းသည်။ 3554 02:13:02,639 --> 02:13:04,000 အက္ခရာ သို့မဟုတ် ၎င်း၏အက္ခရာ 3555 02:13:04,000 --> 02:13:06,239 ကိုယ်စားပြုမှု အဆင်ပြေပါတယ်။ 3556 02:13:06,239 --> 02:13:07,280 ဒါကြောင့် 3557 02:13:07,280 --> 02:13:08,880 အဲဒါကို အမှန်အတိုင်း ရှင်းပြဖို့ ကြိုးစားကြည့်ရအောင် 3558 02:13:08,880 --> 02:13:10,480 နည်းနည်းလွယ်တဲ့အတွက် လူတိုင်းလုပ်နိုင်ပါတယ်။ 3559 02:13:10,480 --> 02:13:13,679 စာကြောင်းတစ်ကြောင်းတည်းနဲ့ နားလည်ပါတယ်။ 3560 02:13:13,679 --> 02:13:15,360 ငါတို့ဘာလုပ်မလဲ။ 3561 02:13:15,360 --> 02:13:17,280 ဒီပရိုဂရမ်တစ်ခုလုံးကို ယူဆောင်သွားတယ်။ 3562 02:13:17,280 --> 02:13:19,360 အသုံးပြုသူထည့်သွင်းမှု 3563 02:13:19,360 --> 02:13:22,000 နှင့် getkeystate လုပ်ဆောင်ချက်ကို ဖွင့်ပါ။ 3564 02:13:22,000 --> 02:13:24,800 ဇာတ်ကောင်တိုင်းဟာ ဘာတွေလဲဆိုတာ သိနိုင်ပါတယ်။ 3565 02:13:24,800 --> 02:13:26,639 ကာရိုက်တာ 3566 02:13:26,639 --> 02:13:28,840 အဲဒီတော့ 0 ရရင်ပေါ့။ 3567 02:13:28,840 --> 02:13:31,360 ဥပမာ 0x42 အဲဒါကို သိလိမ့်မယ်။ 3568 02:13:31,360 --> 02:13:33,920 အရင်းအနှီးတစ်ခုဖြစ်ပြီး၊ အဲဒါက ကျွန်တော်တို့လိုပါပဲ။ 3569 02:13:33,920 --> 02:13:36,000 ကျွန်ုပ်တို့၏အတွင်း၌၎င်းကိုသတ်မှတ်မည်ဖြစ်သည်။ 3570 02:13:36,000 --> 02:13:38,560 ကျွန်ုပ်တို့သတ်မှတ်ထားသော windows.txt ဖိုင် 3571 02:13:38,560 --> 02:13:40,880 အစီအစဉ်၏အစ 3572 02:13:40,880 --> 02:13:41,840 အဆင်ပြေပါတယ်။ 3573 02:13:41,840 --> 02:13:43,760 အဲဒီတော့ ဒီမှာ ကျွန်တော်တို့က တစ်ခုဖွင့်နေတာတွေ့တယ်။ 3574 02:13:43,760 --> 02:13:45,199 စတုတ္ထအကြိမ် 3575 02:13:45,199 --> 02:13:47,440 ဒေါင်လိုက်သော့ကို ကျွန်ုပ်တို့ အသုံးပြုနေပါသည်။ 3576 02:13:47,440 --> 02:13:50,000 ကွင်းပိတ်များအတွင်းမှ တကယ့်ထုတ်ပြန်ချက် 3577 02:13:50,000 --> 02:13:52,560 ၎င်းသည် ကိန်းပြည့်ကို ဖိထားသည်။ 3578 02:13:52,560 --> 02:13:54,719 မှ အမှန်တကယ် ရလဒ်ကို ရယူပါ။ 3579 02:13:54,719 --> 02:13:57,760 getkey state ဒါက variable တစ်ခုပါ။ 3580 02:13:57,760 --> 02:13:59,679 return value ကို သိမ်းထားမယ်။ 3581 02:13:59,679 --> 02:14:02,560 သော့ပြည်နယ်လုပ်ဆောင်ချက်ကို ရရှိသည်။ 3582 02:14:02,560 --> 02:14:04,960 ထို့ကြောင့် တန်ဖိုးသည် 1 နှင့် ညီမျှလျှင် ဆိုလိုသည်။ 3583 02:14:04,960 --> 02:14:07,119 သော့က ကျနေပြီး တန်ဖိုးကျရင် 3584 02:14:07,119 --> 02:14:10,960 0 နဲ့ ညီတယ် ဆိုလိုတာက သော့တက်လာတယ်။ 3585 02:14:10,960 --> 02:14:13,040 အဲဒါကြောင့် ကျနော်တို့က ဒီမှာ ယှဉ်ကြည့်တယ်။ 3586 02:14:13,040 --> 02:14:16,239 နှိပ်သည်ဖြစ်စေ 1 နှင့်ညီသောကြောင့်ဖြစ်သည်။ 3587 02:14:16,239 --> 02:14:18,480 1 နှင့် ညီမျှပါက သော့ကို ဆိုလိုသည်။ 3588 02:14:18,480 --> 02:14:20,000 ကျသွားတယ်။ 3589 02:14:20,000 --> 02:14:23,360 ဤနေရာတွင် ဤနေရာတွင် သော့ပြောင်းကိန်းကို ပြသည်။ 3590 02:14:23,360 --> 02:14:24,880 ဇာတ်ကောင်ကို သိမ်းထားမယ်။ 3591 02:14:24,880 --> 02:14:27,840 ဒေါင်လိုက်သော့၏ကိုယ်စားပြုမှု 3592 02:14:27,840 --> 02:14:29,840 ဒါကြောင့် ဘယ်ဒေါင်လိုက်သော့ကို ရှာတွေ့မလဲ။ 3593 02:14:29,840 --> 02:14:32,560 အဲဒါကို ငါတို့က ကိုယ်စားပြုမယ်။ 3594 02:14:32,560 --> 02:14:34,480 character statement နဲ့ သွားမယ်။ 3595 02:14:34,480 --> 02:14:36,400 ၎င်းကို ဤရှိုးကီး၏အတွင်း၌ သိမ်းဆည်းပါ။ 3596 02:14:36,400 --> 02:14:38,400 variable ဖြစ်တာကြောင့် တစ်ခုလုံးကို မြင်ရပါလိမ့်မယ်။ 3597 02:14:38,400 --> 02:14:40,480 ကျန်တဲ့ ပရိုဂရမ်တွေ အစုံပါရင် 3598 02:14:40,480 --> 02:14:43,199 ထုတ်ပြန်ချက်များနှင့် ဤနေရာတွင် ကျွန်ုပ်တို့သည် ရိုးရှင်းပါသည်။ 3599 02:14:43,199 --> 02:14:46,560 နှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော အခြေအနေများကို စစ်ဆေးခြင်း။ 3600 02:14:46,560 --> 02:14:48,639 နှစ်ယောက်စလုံးနဲ့ တွေ့နေသလား 3601 02:14:48,639 --> 02:14:50,880 ပထမအခြေအနေသည် ဖြစ်ရန် ဖိထားသည်။ 3602 02:14:50,880 --> 02:14:53,280 နောက်ဆုံးတစ်ခုနှင့် ဒုတိယတစ်ခု ညီမျှသည်။ 3603 02:14:53,280 --> 02:14:56,000 ပြည်နယ်သည် သုညနှင့် ညီမျှပြီး နောက်ဆုံးဟု ကျွန်ုပ်တို့ သတ်မှတ်သည်။ 3604 02:14:56,000 --> 02:14:58,079 ဒီနေရာ ရဲ့အစမှာ အဓိကအချက်ပါ။ 3605 02:14:58,079 --> 02:15:00,560 for loop အတွင်း 3606 02:15:00,560 --> 02:15:03,199 တောက်လျှောက်သွားရင်တော့ ကောင်းပြီပေါ့။ 3607 02:15:03,199 --> 02:15:05,119 အဲဒါတွေအားလုံးကို အမှန်အတိုင်း ကျော်ဖြတ်ပါ။ 3608 02:15:05,119 --> 02:15:06,960 ထုတ်ပြန်ချက်များ 3609 02:15:06,960 --> 02:15:08,880 ဒီနေရာက တခြားအပိုင်းကို ရောက်သွားတယ်။ 3610 02:15:08,880 --> 02:15:11,040 တကယ်အရေးကြီးပြီး အဲဒီအပိုင်းပါ။ 3611 02:15:11,040 --> 02:15:13,119 အထဲမှာ ဇာတ်ကောင်ကို တကယ်ရေးတယ်။ 3612 02:15:13,119 --> 02:15:14,480 ဖိုင်တွဲ 3613 02:15:14,480 --> 02:15:16,400 အဲဒါတွေ အားလုံးကို တခါတည်း ကျော်သွားရင်တော့ 3614 02:15:16,400 --> 02:15:18,639 ထုတ်ပြန်ချက်များနှင့် မည်သည့် virtual key ကို ဆုံးဖြတ်ပါ။ 3615 02:15:18,639 --> 02:15:21,360 အဲဒါကို အသွင်ပြောင်းပြီးတော့ ရအောင်ယူတယ်။ 3616 02:15:21,360 --> 02:15:23,520 အက္ခရာ ကိုယ်စားပြုမှု ကို a တွင် သိမ်းဆည်းထားသည်။ 3617 02:15:23,520 --> 02:15:25,760 ကီးပြပြီးရင် နောက်ဆုံး if မှာ 3618 02:15:25,760 --> 02:15:27,840 Statement ရှိမရှိ အရင်စစ်ဆေးပါ။ 3619 02:15:27,840 --> 02:15:30,239 show key variable တွင် မည်သည့် character ပါရှိသည်။ 3620 02:15:30,239 --> 02:15:32,960 အဲဒီအထဲမှာရှိရင် ငါတို့ဖွင့်မယ်။ 3621 02:15:32,960 --> 02:15:34,639 အစမှာ ဖန်တီးထားတဲ့ ဖိုင် 3622 02:15:34,639 --> 02:15:37,360 နောက်ဆက်တွဲအတွက် ပရိုဂရမ်နှင့် ဤ a 3623 02:15:37,360 --> 02:15:39,520 appending ကို ဆိုလိုသည်မှာ ငါတို့လုပ်မည် ဟု ဆိုလိုသည်။ 3624 02:15:39,520 --> 02:15:42,400 မတူကွဲပြားသော ဇာတ်ကောင်များကို ဆက်တိုက်ထည့်ပါ။ 3625 02:15:42,400 --> 02:15:45,520 ကျွန်ုပ်တို့၏ဖိုင်နှင့်ပြုလုပ်ရန် ကျွန်ုပ်တို့သည် ဤအရာကိုအသုံးပြုသည်။ 3626 02:15:45,520 --> 02:15:46,960 c function 3627 02:15:46,960 --> 02:15:49,599 ဤ put c function သည် အငြင်းအခုံနှစ်ခုကို ယူသည်။ 3628 02:15:49,599 --> 02:15:52,239 ပထမတစ်ခုက တကယ့်ဇာတ်ကောင်ပါ။ 3629 02:15:52,239 --> 02:15:54,560 ဖိုင်တစ်ခု၏အတွင်း၌ ကျွန်ုပ်တို့ထည့်လိုသော၊ 3630 02:15:54,560 --> 02:15:56,239 ဒုတိယဘောင် 3631 02:15:56,239 --> 02:15:59,199 ဖိုင်ဖော်ပြချက် သို့မဟုတ် ဖိုင်နေရာတွင်ဖြစ်သည်။ 3632 02:15:59,199 --> 02:16:01,520 ငါတို့က အဲဒါကို ထားချင်တယ်၊ ငါတို့က ရိုးရိုးရှင်းရှင်းပဲ။ 3633 02:16:01,520 --> 02:16:03,520 ကျွန်တော်တို့ရဲ့ ဇာတ်ကောင်ကို အထဲမှာ ထည့်ထားတယ်။ 3634 02:16:03,520 --> 02:16:05,920 windows.txt ဖိုင် 3635 02:16:05,920 --> 02:16:07,679 ပြီးရင် ဖိုင်ကို ပိတ်လိုက်ပါ။ 3636 02:16:07,679 --> 02:16:09,119 ဖော်ပြချက် 3637 02:16:09,119 --> 02:16:12,159 အိုကေ ဒါဆို ဒီလုပ်ဆောင်ချက် တစ်ခုလုံး ဖြစ်လိမ့်မယ်။ 3638 02:16:12,159 --> 02:16:14,880 ဇာတ်ရုပ်တိုင်းအတွက် ဖျော်ဖြေခဲ့ပါတယ်။ 3639 02:16:14,880 --> 02:16:17,440 ၎င်းတို့၏ကီးဘုတ်ရှိ ထည့်သွင်းမှုများကို ပစ်မှတ်ထားပါ။ 3640 02:16:17,440 --> 02:16:19,679 ကဲ ဒါဆို ငါတို့ ဒါကို ဘယ်လိုသိနိုင်မလဲ။ 3641 02:16:19,679 --> 02:16:21,119 ပရိုဂရမ်အလုပ်လုပ်တယ်။ 3642 02:16:21,119 --> 02:16:22,960 နောက် video မှာ ဘယ်လို လုပ်ရမလဲဆိုတာ ကြည့်ရမှာပါ။ 3643 02:16:22,960 --> 02:16:25,920 ကျွန်ုပ်တို့သည် ၎င်းကို ကျွန်ုပ်တို့၏ နောက်ကွယ်တွင် အကောင်အထည်ဖော်နိုင်သည်။ 3644 02:16:25,920 --> 02:16:27,840 ကဲ ဒီဖိုင်ကို စလိုက်ကြရအောင် 3645 02:16:27,840 --> 02:16:29,920 ကျွန်ုပ်တို့၏ အတွင်း၌ မည်သို့ အကောင်အထည်ဖော်ရမည်ကို ကြည့်ရှုပါ။ 3646 02:16:29,920 --> 02:16:31,440 အနောက်တံခါး 3647 02:16:31,440 --> 02:16:33,679 ဒါ​ကြောင့်​ ငါအရင်​လုပ်​မယ်​ ငါသွားလိုက်​မယ်​ 3648 02:16:33,679 --> 02:16:35,599 ဤဖိုင်ကိုသိမ်းဆည်းရန် 3649 02:16:35,599 --> 02:16:37,760 ၎င်းကို ကျွန်ုပ်၏ ဒက်စ်တော့သို့ ရွှေ့ပါ၊ ထို့ကြောင့် ရွှေ့ပါ။ 3650 02:16:37,760 --> 02:16:39,280 keylogger.h 3651 02:16:39,280 --> 02:16:42,398 root လုပ်ပြီး desktop ကိုသွားပါ။ 3652 02:16:42,398 --> 02:16:44,080 ငါ့ desktop မှာရပြီဆိုတာနဲ့ ငါလုပ်မယ်။ 3653 02:16:44,080 --> 02:16:46,638 ကျွန်ုပ်၏လမ်းညွှန်ချက်များကို ပြောင်းပါ။ 3654 02:16:46,638 --> 02:16:48,799 ထိုနည်းအားဖြင့် သင်သည် သတိပြုမိပေမည်။ 3655 02:16:48,799 --> 02:16:50,478 ဒါအမှန်ပဲ။ 3656 02:16:50,478 --> 02:16:53,040 ကျွန်ုပ်တို့၏ keylogger ဖြစ်သည့် ဖိုင်တွင် မရှိပါ။ 3657 02:16:53,040 --> 02:16:55,599 dot c တိုးချဲ့မှု 3658 02:16:55,599 --> 02:16:57,679 အခု သူ့မှာ dot c မရှိရတဲ့ အကြောင်းရင်း 3659 02:16:57,679 --> 02:16:59,599 သက်တမ်းတိုးရခြင်းမှာ ကျွန်ုပ်တို့ အမှန်တကယ်ပင် ဖြစ်သည်။ 3660 02:16:59,599 --> 02:17:00,638 သွားမယ်။ 3661 02:17:00,638 --> 02:17:03,280 ၎င်းကိုတင်သွင်းပါ သို့မဟုတ် ကျွန်ုပ်တို့၏အတွင်း၌ ထည့်သွင်းပါ။ 3662 02:17:03,280 --> 02:17:07,280 နောက်တံခါးက စာကြည့်တိုက်တစ်ခုအနေနဲ့ 3663 02:17:07,280 --> 02:17:09,599 အခု ငါတို့ ဘယ်လိုပါဝင်တယ်ဆိုတာ ငါတို့သိနေပြီ။ 3664 02:17:09,599 --> 02:17:11,599 ငါတို့ရဲ့အနောက်တံခါးက စာကြည့်တိုက်တွေရှိရင် 3665 02:17:11,599 --> 02:17:13,599 i nano ငါ့အနောက်တံခါးမှာ မင်းတွေ့လိမ့်မယ်။ 3666 02:17:13,599 --> 02:17:14,398 အစ 3667 02:17:14,398 --> 02:17:16,558 ကျွန်တော်တို့မှာ အဲဒီထုတ်ပြန်ချက်တွေထဲမှာ မှန်ပါတယ်။ 3668 02:17:16,558 --> 02:17:17,599 ဒီမှာ 3669 02:17:17,599 --> 02:17:19,519 အားလုံးလည်း သတိပြုမိကြပေမည်။ 3670 02:17:19,519 --> 02:17:21,840 ယင်းတို့အနက်မှ ထုတ်ပြန်ချက်တွင် dot h ရှိသည်။ 3671 02:17:21,840 --> 02:17:23,599 သူတို့ကို တိုးချဲ့ပါ။ 3672 02:17:23,599 --> 02:17:26,000 ဤ h သည် အခြေခံအားဖြင့် header ကို ကိုယ်စားပြုသည်။ 3673 02:17:26,000 --> 02:17:28,080 ကျွန်ုပ်တို့သည် အချို့သောလုပ်ဆောင်ချက်များကို အသုံးပြုနေသည်ဟု ဆိုလိုသည်။ 3674 02:17:28,080 --> 02:17:30,398 ကျွန်ုပ်တို့၏ backdoor ပရိုဂရမ်၏အတွင်းပိုင်း 3675 02:17:30,398 --> 02:17:32,558 ဤခေါင်းစဉ်များ ဤနေရာတွင် 3676 02:17:32,558 --> 02:17:34,638 အဲဒီတော့ အတိအကျလုပ်မယ်။ 3677 02:17:34,638 --> 02:17:37,599 ဒီတစ်ခါတော့ အတူတူပါပဲ။ 3678 02:17:37,599 --> 02:17:40,240 ကျွန်ုပ်တို့၏ကိုယ်ပိုင် ခေါင်းစီးကို ထည့်သွင်းပါ။ 3679 02:17:40,240 --> 02:17:43,840 ငါတို့ကိုယ်တိုင် ခေါင်းစီးလို့ခေါ်တယ်။ 3680 02:17:44,318 --> 02:17:45,599 ကီးလော့ဂ်ဂါ 3681 02:17:45,599 --> 02:17:47,200 အစက်ဇ 3682 02:17:47,200 --> 02:17:49,840 ဒါကြောင့် သင်ရိုက်ထည့်တဲ့ပုံစံကို ကျွန်တော်တို့ ထည့်သွင်းထားပါတယ်။ 3683 02:17:49,840 --> 02:17:52,638 hashtag ပြီးရင် include statement ပေါ့။ 3684 02:17:52,638 --> 02:17:54,718 သငျသညျ double quotes ကိုဖွင့်ပြီးတော့ 3685 02:17:54,718 --> 02:17:56,638 keylogger.h ကိုပိတ်လိုက်ပါ။ 3686 02:17:56,638 --> 02:17:58,240 နှစ်ဆကိုးကား 3687 02:17:58,240 --> 02:18:01,040 သို့မှသာ ကျွန်ုပ်တို့သည် log function ကိုဝင်ရောက်နိုင်မည်ဖြစ်သည်။ 3688 02:18:01,040 --> 02:18:05,519 ကျွန်ုပ်တို့၏ keylogger ၏အတွင်းတွင် ကုဒ်ရေးထားသည်။ 3689 02:18:05,679 --> 02:18:08,318 ကောင်းပြီ ဒါဆို အခုပဲ သွားကြရအောင် 3690 02:18:08,318 --> 02:18:10,718 ဆင်း 3691 02:18:10,718 --> 02:18:14,558 ၎င်းလုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ မည်သို့ဝင်ရောက်နိုင်သည်ကို ကြည့်ရှုပါ။ 3692 02:18:14,558 --> 02:18:16,879 ပထမဆုံး ငါတို့ တောက်လျှောက်သွားမယ်။ 3693 02:18:16,879 --> 02:18:19,200 else statement ရဲ့ အထက်မှာပဲ ရှိပြီး၊ 3694 02:18:19,200 --> 02:18:20,879 တခြားဟာတွေရှိရင် ဖန်တီးမယ်။ 3695 02:18:20,879 --> 02:18:24,318 statement က ဒီမှာ so else if 3696 02:18:24,318 --> 02:18:26,080 ဒီမှာ ငါတို့ ရိုးရိုးရှင်းရှင်းပဲ သွားမယ်။ 3697 02:18:26,080 --> 02:18:28,558 ထုံးစံအတိုင်း command များကို ကျွန်ုပ်တို့နှင့် နှိုင်းယှဉ်ပါ။ 3698 02:18:28,558 --> 02:18:32,080 keylogger ဆိုတော့ string နဲ့ ယှဉ်တယ်။ 3699 02:18:32,080 --> 02:18:34,879 နှစ်ထပ်ကြားတွင် ကွင်းစကွင်းပိတ်များကိုဖွင့်ပါ။ 3700 02:18:34,879 --> 02:18:36,799 ကျွန်ုပ်တို့သည် command ကိုသတ်မှတ်ရန်လိုအပ်သည်ကိုးကား 3701 02:18:36,799 --> 02:18:39,040 execute လုပ်ချင်တာနဲ့ ရိုက်ချင်တယ် 3702 02:18:39,040 --> 02:18:41,280 တကယ့် keylogger ဆိုတော့ ဒီကိစ္စမှာ ကျွန်တော်တို့ လုပ်နိုင်ပါတယ်။ 3703 02:18:41,280 --> 02:18:43,679 ကီးလော့ဂ်ဖြစ်သည့် ရိုးရှင်းသော command ကိုသုံးပါ။ 3704 02:18:43,679 --> 02:18:46,879 အသုံးပြုသူ၏အချိန်မရွေး၊ 3705 02:18:46,879 --> 02:18:49,200 ဆာဗာက ဒီအမိန့်ကို ထည့်သွင်းပေးပါလိမ့်မယ်။ 3706 02:18:49,200 --> 02:18:51,200 backdoor ကို ပို့လိုက်ပါ။ 3707 02:18:51,200 --> 02:18:54,080 ဤ keylog.start နှင့် နှိုင်းယှဉ်ပါမည်။ 3708 02:18:54,080 --> 02:18:55,040 ကြားခံ 3709 02:18:55,040 --> 02:18:57,200 အဲဒါက တကယ်ဖြစ်နေတာကို သတိထားမိလိမ့်မယ်။ 3710 02:18:57,200 --> 02:18:59,120 ညီမျှပြီးရင် ၎င်းကို စတင်ပါလိမ့်မယ်။ 3711 02:18:59,120 --> 02:19:01,840 နောက်ခံတွင်ရှိသော keylogger 3712 02:19:01,840 --> 02:19:04,318 ဒါကြောင့် ဒါကို ကျွန်တော်တို့ ကြားခံတွေနဲ့ နှိုင်းယှဉ်နေပါတယ်။ 3713 02:19:04,318 --> 02:19:07,920 ပြီးတော့ စာလုံး 12 လုံးကို နှိုင်းယှဉ်ပြီး အဆင်ပြေပါတယ်။ 3714 02:19:07,920 --> 02:19:09,359 ဒါကိုလည်း သေချာအောင်လုပ်ဖို့ လိုပါတယ်။ 3715 02:19:09,359 --> 02:19:11,200 သုညနှင့် ညီတူညီမျှ 3716 02:19:11,200 --> 02:19:14,718 အဲဒါဆိုရင် ကျွန်တော်တို့ စတင်ဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။ 3717 02:19:14,718 --> 02:19:16,080 ကီးလော့ဂ်ဂါ 3718 02:19:16,080 --> 02:19:18,799 ဒါဖြင့် ဘယ်လိုလုပ်ရင် ကောင်းမလဲ ဆိုတာကို သတိရပါ။ 3719 02:19:18,799 --> 02:19:21,359 အဲဒါကို ကျနော်တို့က လည်ပတ်စေချင်တယ်။ 3720 02:19:21,359 --> 02:19:23,439 နောက်ခံမို့လို့ ဆက်လုပ်လို့ရတယ်။ 3721 02:19:23,439 --> 02:19:25,040 တွင် မတူညီသော command များကို လုပ်ဆောင်သည်။ 3722 02:19:25,040 --> 02:19:27,200 ဒီကြားထဲမှာ ငါတို့လုပ်နိုင်တဲ့ တစ်ခုတည်းသောနည်းလမ်းပဲ။ 3723 02:19:27,200 --> 02:19:29,920 တကယ်လုပ်ရင် အဲဒါကို ငါတို့ ဖန်တီးတယ်။ 3724 02:19:29,920 --> 02:19:31,040 ချည် 3725 02:19:31,040 --> 02:19:33,120 ဒီတော့ ကျွန်တော်တို့က သွားမယ့် thread တစ်ခုကို ဖန်တီးတယ်။ 3726 02:19:33,120 --> 02:19:36,558 ကျွန်ုပ်တို့၏ keylogger ကို သီးခြားစီ လုပ်ဆောင်ပါ။ 3727 02:19:36,558 --> 02:19:38,638 ယခု ကျွန်ုပ်တို့သည် ဖိုင်တစ်ခုအတွင်း၌ ကြိုးများကို မည်သို့ဖန်တီးမည်နည်း။ 3728 02:19:38,638 --> 02:19:40,080 c အစီအစဉ် 3729 02:19:40,080 --> 02:19:42,398 ကောင်းပြီ၊ ပထမဦးစွာကျွန်ုပ်တို့သည် a ကိုသတ်မှတ်ရန်လိုအပ်သည်။ 3730 02:19:42,398 --> 02:19:43,599 ကိုင်တွယ် 3731 02:19:43,599 --> 02:19:45,920 ထိုလက်ကိုင်သည် လက်ကိုင်ဖြစ်လိမ့်မည်။ 3732 02:19:45,920 --> 02:19:47,599 ငါတို့ရဲ့ ကြိုးက ရိုးရိုးရှင်းရှင်းပဲ သွားမယ်။ 3733 02:19:47,599 --> 02:19:49,120 အဲဒါကို thread လို့ခေါ်တယ်။ 3734 02:19:49,120 --> 02:19:51,280 ယခု ငါတို့သည် ဤအရာကို ညီမျှအောင်ပြုလုပ်မည်။ 3735 02:19:51,280 --> 02:19:53,840 function တစ်ခုရဲ့တန်ဖိုးကို ပြန်ပေးတယ်။ 3736 02:19:53,840 --> 02:19:54,960 ဖန်တီးပါ။ 3737 02:19:54,960 --> 02:19:57,359 ချည် 3738 02:19:57,359 --> 02:19:59,200 ၎င်းသည် thread function ကိုဖန်တီးလိမ့်မည်။ 3739 02:19:59,200 --> 02:20:01,439 parameters ပေါင်းများစွာကို အရင်ယူပါ။ 3740 02:20:01,439 --> 02:20:03,120 null ဟု သတ်မှတ်ပါမည်။ 3741 02:20:03,120 --> 02:20:05,200 ဒုတိယတစ်ခုက သုညဖြစ်မယ် အခုငါတို့မဟုတ်ဘူး။ 3742 02:20:05,200 --> 02:20:07,359 ပြင်ပအရာတစ်ခုခုကို သတ်မှတ်ခြင်း။ 3743 02:20:07,359 --> 02:20:09,120 ကျွန်ုပ်တို့လုပ်ဆောင်လိုသော အမှန်တကယ်လုပ်ဆောင်ချက် 3744 02:20:09,120 --> 02:20:11,520 ချည်နှောင်ထားသောကြောင့် အခြားအရာအားလုံး ဖြစ်လိမ့်မည်။ 3745 02:20:11,520 --> 02:20:13,439 null သို့မဟုတ် သုညမျှသာ 3746 02:20:13,439 --> 02:20:15,359 တတိယအမှန်တကယ်အငြင်းအခုံသို့မဟုတ် 3747 02:20:15,359 --> 02:20:17,840 parameter သည် function ၏အမည်ဖြစ်သည်။ 3748 02:20:17,840 --> 02:20:20,720 ၎င်းသည် သော့လော့ဂ်ကို လုပ်ဆောင်မည်ဖြစ်သည်။ 3749 02:20:20,720 --> 02:20:22,319 ဒါကြောင့် မလုပ်ခင်မှာ လုပ်ဖို့လိုတယ်။ 3750 02:20:22,319 --> 02:20:23,840 သေချာတာကတော့ ကျနော်တို့ နာမည်ကို သတ်မှတ်ပါတယ်။ 3751 02:20:23,840 --> 02:20:25,840 လုပ်ဆောင်ချက်မှန်ကန်တဲ့အတွက် သွားစစ်ဆေးကြည့်ရအောင် 3752 02:20:25,840 --> 02:20:27,760 function နာမည်ကဘာလဲ 3753 02:20:27,760 --> 02:20:28,840 ကယ်ကြစို့ 3754 02:20:28,840 --> 02:20:32,080 ဤ nano သည် ကျွန်ုပ်တို့၏ keylogger ဖြစ်သည်။ 3755 02:20:32,080 --> 02:20:34,000 function ၏အမည်ကိုကျွန်ုပ်တို့မြင်နိုင်သည်။ 3756 02:20:34,000 --> 02:20:36,080 log သည် g နှစ်ခုရှိသည်။ 3757 02:20:36,080 --> 02:20:38,080 အိုကေ ဒါဆို ဒါက function နာမည်ပါ။ 3758 02:20:38,080 --> 02:20:40,160 ကျွန်ုပ်တို့၏ အတွင်းပိုင်းကို သတ်မှတ်ရန် လိုအပ်ပါသည်။ 3759 02:20:40,160 --> 02:20:42,319 thread function ကိုဖန်တီးပါ။ 3760 02:20:42,319 --> 02:20:43,680 ဒါကိုပိတ်လိုက်ရအောင် 3761 02:20:43,680 --> 02:20:46,960 ငါတို့နောက်ကွယ်ကိုပြန်သွားပါ။ 3762 02:20:47,359 --> 02:20:50,640 else if statement ကို ဆင်းလိုက်ပါ။ 3763 02:20:50,640 --> 02:20:51,680 ဒီမှာ 3764 02:20:51,680 --> 02:20:54,560 တတိယ ဘောင်တစ်ခုအနေဖြင့် ကျွန်ုပ်တို့ ရိုးရိုးရှင်းရှင်း သတ်မှတ်ပါသည်။ 3765 02:20:54,560 --> 02:20:55,439 ရုံ 3766 02:20:55,439 --> 02:20:57,040 မှတ်တမ်း 3767 02:20:57,040 --> 02:20:58,479 အဆင်ပြေပါတယ်။ 3768 02:20:58,479 --> 02:21:00,000 ဒါကြောင့် 3769 02:21:00,000 --> 02:21:02,399 ကျန်တဲ့ parameter တွေက ရိုးရှင်းပါတယ်။ 3770 02:21:02,399 --> 02:21:04,640 null 3771 02:21:04,880 --> 02:21:05,920 ၀ယ်တယ်။ 3772 02:21:05,920 --> 02:21:07,280 null 3773 02:21:07,280 --> 02:21:09,760 ဒါကြောင့် တခြားဘာကိုမှ မသတ်မှတ်ပါဘူး။ 3774 02:21:09,760 --> 02:21:11,600 ဒီဖန်တီးမှုကို အမှန်တကယ် ပြီးသွားတဲ့အခါ 3775 02:21:11,600 --> 02:21:15,200 thread ကတော့ go to ပဲသုံးလို့ရပါတယ်။ 3776 02:21:15,200 --> 02:21:17,600 ခုန် 3777 02:21:17,920 --> 02:21:20,399 အစမှပြန်ခုန်ချနိုင်ရန် 3778 02:21:20,399 --> 02:21:23,359 ကျွန်တော်တို့ရဲ့ နေစဉ်မှာ true loop နဲ့ a ကို စောင့်ပါ။ 3779 02:21:23,359 --> 02:21:24,880 ဒုတိယအမိန့် 3780 02:21:24,880 --> 02:21:27,040 အိုကေ ဒါဆို 3781 02:21:27,040 --> 02:21:28,800 ဒါကို သိမ်းကြရအောင် 3782 02:21:28,800 --> 02:21:30,800 ယုံသည်ဖြစ်စေ မယုံသည်ဖြစ်စေ ဒါတွေအားလုံးပါပဲ။ 3783 02:21:30,800 --> 02:21:32,800 ဒီတစ်ခုပဲလုပ်ရမှာ 3784 02:21:32,800 --> 02:21:35,439 ကျွန်ုပ်တို့၏ keylogger စတင်ရန်အတွက် စာကြောင်းတစ်ကြောင်း 3785 02:21:35,439 --> 02:21:37,600 နောက် video မှာ ကျွန်တော်တို့ ဘာတွေ သွားနေလဲ။ 3786 02:21:37,600 --> 02:21:39,600 လုပ်ရမှာက အကုန်လုံးကို စစ်ဆေးမယ်။ 3787 02:21:39,600 --> 02:21:42,000 ကျွန်ုပ်တို့၏ပရိုဂရမ်တွင် ထပ်လောင်းလုပ်ဆောင်ချက်များနှင့် 3788 02:21:42,000 --> 02:21:44,479 ကျွန်ုပ်တို့၏ဆာဗာကို ကျွန်ုပ်တို့၏ဆာဗာမှစ၍ အပ်ဒိတ်လုပ်ပါ။ 3789 02:21:44,479 --> 02:21:47,040 ယခုတွင် ပေးပို့နိုင်သည့် စွမ်းရည်သာ ရှိသေးသည်။ 3790 02:21:47,040 --> 02:21:49,040 ပစ်မှတ်က လုပ်ဆောင်မယ့် command တွေ 3791 02:21:49,040 --> 02:21:51,439 ဤအရာများနှင့် ကျွန်ုပ်တို့ မွမ်းမံပြင်ဆင်ထားခြင်းမရှိပါ။ 3792 02:21:51,439 --> 02:21:53,120 သီးခြားအမိန့်များ 3793 02:21:53,120 --> 02:21:54,640 ဒါကြောင့် နောက်တစ်ကြိမ်လုပ်မယ်။ 3794 02:21:54,640 --> 02:21:56,880 video လုပ်ပြီးရင် ငါတို့သွားမယ်။ 3795 02:21:56,880 --> 02:22:00,479 ကျွန်ုပ်တို့၏အနောက်တံခါးကို နောက်ဆုံးစမ်းသပ်မှုပြုလုပ်ပါ။ 3796 02:22:00,479 --> 02:22:02,720 ဒါကြောင့် ဒီသင်ခန်းစာလေးကို သင်နှစ်သက်မယ်လို့ မျှော်လင့်ပါတယ်။ 3797 02:22:02,720 --> 02:22:05,040 နောက်သင်ခန်းစာမှာတွေ့မယ်။ 3798 02:22:05,040 --> 02:22:05,840 နှုတ်ဆက်ပါတယ်။ 3799 02:22:05,840 --> 02:22:07,600 အားလုံးကို အခုပဲ ကြိုဆိုပါတယ်။ 3800 02:22:07,600 --> 02:22:09,920 backdoor ပြီးသွားပါပြီ။ 3801 02:22:09,920 --> 02:22:12,240 ကျွန်ုပ်တို့၏ဆာဗာကို အချိန်နှင့်တပြေးညီ update လုပ်ပါ။ 3802 02:22:12,240 --> 02:22:14,479 ထို့နောက်ကျွန်ုပ်တို့၏အစီအစဉ်ကိုစမ်းသပ်ပါ။ 3803 02:22:14,479 --> 02:22:16,479 ဒီတော့ ငါတို့ဆာဗာကို nano ရအောင် 3804 02:22:16,479 --> 02:22:19,600 အခု ငါတို့မှာ ဘာတွေရှိလဲ ကြည့်ရအောင် 3805 02:22:19,600 --> 02:22:21,439 ကျွန်ုပ်တို့တွင် function ၏အဓိကအစိတ်အပိုင်းရှိသည်။ 3806 02:22:21,439 --> 02:22:23,359 ကုဒ်နံပါတ်တပ်ထားပြီး ကျွန်ုပ်တို့ လုပ်ရမည့်အရာမရှိပါ။ 3807 02:22:23,359 --> 02:22:25,520 ဒါတွေအားလုံး ဒီမှာပဲ ပြောင်းလဲသွားလိမ့်မယ်။ 3808 02:22:25,520 --> 02:22:27,280 ဒီအတိုင်းပဲနေပါ။ 3809 02:22:27,280 --> 02:22:29,200 ကျွန်ုပ်တို့ update လုပ်ရန်လိုအပ်သည်မှာ တစ်ခုတည်းသောအရာဖြစ်သည်။ 3810 02:22:29,200 --> 02:22:32,319 မှန်ကန်တဲ့ function တွေရှိတုန်းဗျ။ 3811 02:22:32,319 --> 02:22:34,720 အဲဒီတော့ အခုလောလောဆယ်မှာ နှစ်ယောက်ပဲရှိတယ်။ 3812 02:22:34,720 --> 02:22:37,120 q statement ဖြစ်သည့် အခါ၊ 3813 02:22:37,120 --> 02:22:39,840 ပရိုဂရမ်နဲ့ တခြားဟာတွေကို နှုတ်ထွက်ချင်ပါတယ်။ 3814 02:22:39,840 --> 02:22:41,760 ကျွန်ုပ်တို့ လက်ခံရယူလိုသော ကြေညာချက် 3815 02:22:41,760 --> 02:22:43,600 အဆိုပါအမိန့်မှတုံ့ပြန်မှု 3816 02:22:43,600 --> 02:22:46,319 ပစ်မှတ်ကို ကွပ်မျက်သည်။ 3817 02:22:46,319 --> 02:22:48,319 ဒါပေမယ့် ငါတို့က ထွက်သွားရင် မင်းသတိထားမိလိမ့်မယ်။ 3818 02:22:48,319 --> 02:22:51,439 ဤကဲ့သို့သောဥပမာနှင့် execute ကြိုးစားပါ။ 3819 02:22:51,439 --> 02:22:54,240 keylog start command 3820 02:22:54,240 --> 02:22:56,240 ကျွန်ုပ်တို့သည် keylog start command ကိုပေးပို့ပါမည်။ 3821 02:22:56,240 --> 02:22:58,720 ဒီမှာ ပြီးရင် အဲဒါကို နှိုင်းယှဉ်မယ်။ 3822 02:22:58,720 --> 02:23:01,520 q နှင့် keylog start သည် ကြားခံမဟုတ်ပေ။ 3823 02:23:01,520 --> 02:23:04,080 q နှင့် ညီသောကြောင့် ၎င်းသည် ဤသို့သွားလိမ့်မည်။ 3824 02:23:04,080 --> 02:23:06,399 အခြားထုတ်ပြန်ချက်နှင့်ကျွန်ုပ်တို့သည်ဆက်လက်တည်ရှိလိမ့်မည်။ 3825 02:23:06,399 --> 02:23:08,720 ဤနေရာ၌ လက်ခံသည့်လုပ်ဆောင်ချက် 3826 02:23:08,720 --> 02:23:11,920 ကျွန်ုပ်တို့၏ပစ်မှတ်ထံမှ တုံ့ပြန်မှုကို စောင့်မျှော်နေပါသည်။ 3827 02:23:11,920 --> 02:23:13,680 ဒါ​ပေမယ့်​ ခုချိန်​ထိ မင်းသိ​နေပြီ​လေ။ 3828 02:23:13,680 --> 02:23:15,760 keylog underscore start function ဆိုတာကို ကျွန်တော်တို 3829 02:23:15,760 --> 02:23:18,080 ငါတို့ရဲ့ နောက်ဖေးတံခါးက အတွင်းထဲမှာ မစွမ်းဆောင်ဘူး။ 3830 02:23:18,080 --> 02:23:21,359 မည်သည့် output ကိုမဆို ကျွန်ုပ်တို့ထံ ပြန်လည်ရယူပါ။ 3831 02:23:21,359 --> 02:23:23,840 ဒါကြောင့် ဒီပရိုဂရမ်ပျက်သွားလိမ့်မယ်။ 3832 02:23:23,840 --> 02:23:26,080 ဒီကြေညာချက်ကိုရောက်တာနဲ့ 3833 02:23:26,080 --> 02:23:27,840 ပျက်မသွားဘဲ ကပ်နေလိမ့်မယ်။ 3834 02:23:27,840 --> 02:23:29,920 အကြောင်းပြန်ကြားချက်ကို ဘယ်တော့မှ လက်ခံမှာ မဟုတ်ဘူး။ 3835 02:23:29,920 --> 02:23:32,080 ကျွန်ုပ်တို့၏ သော့မှတ်တမ်းကို အမှတ်အသားပြုသည့် စတင်လုပ်ဆောင်ချက် 3836 02:23:32,080 --> 02:23:34,880 ကျွန်ုပ်တို့၏ဆာဗာသို့ မည်သည့်အခါမျှ အကြောင်းပြန်မပေးပါ။ 3837 02:23:34,880 --> 02:23:36,880 အဲဒီတော့ အဲဒါကို ဘယ်လိုပြင်ရမလဲဆိုတာကို ကြည့်ရမယ်။ 3838 02:23:36,880 --> 02:23:38,560 ကောင်းပြီ ငါတို့က အဲဒါကို ပြင်မယ်။ 3839 02:23:38,560 --> 02:23:41,439 ဤနေရာတွင် ဤ jump statement ကိုအသုံးပြုခြင်း။ 3840 02:23:41,439 --> 02:23:43,520 command တစ်ခုပြီးတစ်ခု ပြင်မယ်။ 3841 02:23:43,520 --> 02:23:46,000 jump statement ၏အကူအညီဖြင့် 3842 02:23:46,000 --> 02:23:48,399 အရင်ဆုံး cd command နဲ့သွားကြည့်ရအောင် 3843 02:23:48,399 --> 02:23:50,080 မဟုတ်လို့ရှိရင် 3844 02:23:50,080 --> 02:23:52,960 ညှို့နှိုင်း 3845 02:23:54,240 --> 02:23:56,080 ၏ 3846 02:23:56,080 --> 02:23:58,720 cd အမိန့် 3847 02:23:58,720 --> 02:24:01,760 ဤနေရာ၌ နေရာလွတ်ထည့်ကြောင်း သေချာပါစေ။ 3848 02:24:01,760 --> 02:24:03,359 ဘာကြောင့် လိုအပ်လဲ ဆိုတာ ရှင်းပြထားပြီးသားပါ။ 3849 02:24:03,359 --> 02:24:04,399 အဲဒါ 3850 02:24:04,399 --> 02:24:06,720 ၎င်းကို ကြားခံနှင့် နှိုင်းယှဉ်ပါသည်။ 3851 02:24:06,720 --> 02:24:08,880 ပထမဆုံး စာလုံးသုံးလုံးရှိရပါမယ်။ 3852 02:24:08,880 --> 02:24:11,120 သုည နှင့် အညီအမျှ အညီအမျှ ဖွင့်ပါမည်။ 3853 02:24:11,120 --> 02:24:13,439 ဤကွင်းများ 3854 02:24:13,439 --> 02:24:15,840 ပြီးတော့ ငါတို့ အခုလုပ်စရာတွေ ကျန်သေးတယ်။ 3855 02:24:15,840 --> 02:24:19,040 go to jump ဟုရိုက်ပါ။ 3856 02:24:19,520 --> 02:24:20,319 အဆင်ပြေပါတယ်။ 3857 02:24:20,319 --> 02:24:22,240 ဒီတော့ ဒါက ငါတို့လုပ်စရာရှိတာ အကုန်ပဲ။ 3858 02:24:22,240 --> 02:24:24,160 ကျွန်တော်တို့ directory ကိုပြောင်းတဲ့အခါကတည်းက 3859 02:24:24,160 --> 02:24:26,560 ငါတို့ရဲ့ နောက်ဖေးတံခါးထဲမှာ မရှိဘူး။ 3860 02:24:26,560 --> 02:24:28,800 output က ငါတို့ဆီ ပြန်ပို့နေတယ်။ 3861 02:24:28,800 --> 02:24:31,439 server ထို့ကြောင့်ကျွန်ုပ်တို့လုပ်ရန်လိုအပ်သည်မှာအားလုံးဖြစ်သည်။ 3862 02:24:31,439 --> 02:24:33,600 ငါတို့ကို တွန်းအားပေးမယ့် ခုန်ဆီကို ပြန်သွားပါ။ 3863 02:24:33,600 --> 02:24:35,840 နောက် command အတွက် 3864 02:24:35,840 --> 02:24:37,439 ပြီးရင် အဲဒါကို ထပ်ပြီး ပြောင်းလဲနိုင်ပါတယ်။ 3865 02:24:37,439 --> 02:24:39,120 directory ကို ပြန်ပြီး ပေါ်လာပါလိမ့်မယ်။ 3866 02:24:39,120 --> 02:24:42,160 နောက်ထပ် command တစ်ခုအတွက် ကျွန်တော်တို့ကို တစ်ကြိမ်ထပ်လုပ်ပါ။ 3867 02:24:42,160 --> 02:24:44,000 ဒီတော့ ကျွန်တော်တို့လည်း လုပ်ရမယ့် command ပါ။ 3868 02:24:44,000 --> 02:24:46,640 add သည် keylog start command ဖြစ်သည်။ 3869 02:24:46,640 --> 02:24:49,920 ညှို့နှိုင်းကြည့်မယ်။ 3870 02:24:52,319 --> 02:24:54,960 ကီးလော့ဂ် အမှတ်အသား စတင်သည်။ 3871 02:24:54,960 --> 02:24:57,040 ကြားခံနှင့်အတူ 3872 02:24:57,040 --> 02:24:59,680 စာလုံး 12 လုံး အရွယ်အစားနဲ့ ပါရှိပါတယ်။ 3873 02:24:59,680 --> 02:25:01,600 သုညနှင့် အညီအမျှ ညီမျှစေရန် 3874 02:25:01,600 --> 02:25:03,200 ပြီးတော့ ငါတို့လည်း ဒီလိုပဲ ဖျော်ဖြေကြမယ်။ 3875 02:25:03,200 --> 02:25:05,439 အရာ 3876 02:25:05,600 --> 02:25:08,960 ခုန်ဖို့သွားမယ်။ 3877 02:25:08,960 --> 02:25:11,280 ယခု ကျွန်ုပ်တို့သည် အမှန်တကယ် ဆက်လက်တည်ရှိနေသည့် အမိန့်အတွက် ဖြစ်သည်။ 3878 02:25:11,280 --> 02:25:13,680 ထဲမှာရှိလို့ ဒီလိုလုပ်ဖို့ မလိုပါဘူး။ 3879 02:25:13,680 --> 02:25:15,600 အထဲမှာ ကုဒ်ရေးထားတဲ့ boot run function ပါ။ 3880 02:25:15,600 --> 02:25:17,520 ကျွန်ုပ်တို့၏ နောက်ဖေးတံခါးကို ဖန်တီးပေးသည်။ 3881 02:25:17,520 --> 02:25:19,760 registry key နဲ့ ဒါတွေအားလုံးဟာ တကယ်ပါ။ 3882 02:25:19,760 --> 02:25:21,760 တုံ့ပြန်ချက်ကို ကျွန်ုပ်တို့ထံ ပြန်လည်ပေးပို့သည်။ 3883 02:25:21,760 --> 02:25:24,479 server ထို့ကြောင့်ထို command ဖြင့်ကျွန်ုပ်တို့ 3884 02:25:24,479 --> 02:25:26,319 ရိုးရိုးရှင်းရှင်းပဲ ဆက်သွားနိုင်ပါတယ်။ 3885 02:25:26,319 --> 02:25:29,120 တုံ့ပြန်မှုကို လက်ခံရရှိရန်နှင့် ၎င်းကို ပရင့်ထုတ်ရန် 3886 02:25:29,120 --> 02:25:31,439 ကျွန်ုပ်တို့၏မျက်နှာပြင် 3887 02:25:31,439 --> 02:25:33,600 ဒီတော့ ဒါက ဒီအတွက်ပဲ ဖြစ်လိမ့်မယ်။ 3888 02:25:33,600 --> 02:25:35,040 ဆာဗာ 3889 02:25:35,040 --> 02:25:37,520 နောက် video မှာ ဘယ်လိုမျိုးလဲဆိုတာ ကြည့်ရအောင် 3890 02:25:37,520 --> 02:25:39,840 ကျွန်ုပ်တို့၏ ပရိုဂရမ်များနှင့် စမ်းသပ်မှုနှစ်ခုလုံးကို စုစည်းနိုင်သည်။ 3891 02:25:39,840 --> 02:25:41,840 သူတို့အလုပ်ရှိမရှိကြည့်ရန် 3892 02:25:41,840 --> 02:25:43,680 သူတို့ မှန်မှန်ကန်ကန် လုပ်နိုင်ရင် ကျွန်တော်တို့ စီမံခန့်ခွဲတယ်။ 3893 02:25:43,680 --> 02:25:45,439 တတ်နိုင်သမျှ ဖြေရှင်းဖို့ 3894 02:25:45,439 --> 02:25:47,680 ပြီးသွားပါပြီ။ 3895 02:25:47,680 --> 02:25:49,359 တကယ်က ပိုခက်အောင်လုပ်တာ။ 3896 02:25:49,359 --> 02:25:52,240 ဥပမာအားဖြင့် ဖုံးကွယ်ခြင်း စသည်တို့ကို သိရှိနိုင်သည်။ 3897 02:25:52,240 --> 02:25:55,680 pdf ဖိုင်တစ်ခုသို့ သို့မဟုတ် ပုံတစ်ခု သို့မဟုတ် တစ်ခုခုသို့ 3898 02:25:55,680 --> 02:25:57,920 ကျွန်တော်တို့လိုချင်တဲ့ ဖိုင်အမျိုးအစားနဲ့ အဲဒီနောက်မှာ 3899 02:25:57,920 --> 02:25:59,680 အဲဒါကို ဘယ်လိုမျိုး တကယ်လုပ်နိုင်မလဲ ဆိုတာ ကြည့်ကြမယ်။ 3900 02:25:59,680 --> 02:26:02,399 အချို့ကို လုပ်ဆောင်ခြင်းဖြင့် သိရှိနိုင်မှု နည်းပါးသည်။ 3901 02:26:02,399 --> 02:26:05,280 manual obfuscation အဆင်ပြေတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ 3902 02:26:05,280 --> 02:26:07,760 စောင့်ကြည့်ပြီး နောက်လာမည့်ဟောပြောပွဲမှာ တွေ့မယ်။ 3903 02:26:07,760 --> 02:26:08,640 နှုတ်ဆက်ပါတယ်။ 3904 02:26:08,640 --> 02:26:11,359 အိုကေ ဒါဆို နောက်ဆုံးတော့ ကျွန်တော်တို့ စုစည်းဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။ 3905 02:26:11,359 --> 02:26:13,600 ကျွန်တော်တို့ရဲ့ နောက်ဆုံးထုတ်ကုန်ကို ဘယ်လိုမြင်လဲ။ 3906 02:26:13,600 --> 02:26:14,960 လုပ်ဆောင်သည်။ 3907 02:26:14,960 --> 02:26:16,720 ယခု ကျွန်ုပ်တို့သည် မည်ကဲ့သို့ အမိန့်ပေးသည်ကို သိနေပြီဖြစ်သည်။ 3908 02:26:16,720 --> 02:26:19,120 သူတို့ကို ဘယ်လို compile လုပ်မလဲ ဆိုတာကို ကျွန်တော်တို့ရဲ့ စုစည်းမှု 3909 02:26:19,120 --> 02:26:21,920 server နဲ့ backdoor ဆိုတော့ ငါမသွားဘူး။ 3910 02:26:21,920 --> 02:26:23,600 ငါတို့လုပ်နေတဲ့အသေးစိတ်အချက်အလက်တွေကို 3911 02:26:23,600 --> 02:26:25,359 အခုအချိန်မှာ ကျွန်တော်တို့က ရိုးရိုးရှင်းရှင်းပဲ ဖျော်ဖြေနေပါတယ်။ 3912 02:26:25,359 --> 02:26:27,200 ကျွန်ုပ်တို့ရိုက်ထည့်သော တူညီသော command များ 3913 02:26:27,200 --> 02:26:28,960 compile လုပ်ဖို့ အတွက် ပထမ 3914 02:26:28,960 --> 02:26:31,840 ကျွန်ုပ်တို့၏ ပရိုဂရမ်၏ စွမ်းဆောင်ရည် သို့မဟုတ် ပထမဆုံး စမ်းသပ်မှု 3915 02:26:31,840 --> 02:26:33,520 ဒါကြောင့် ပထမဆုံးအနေနဲ့ ကျွန်တော်တို့ စတင်တော့မယ်။ 3916 02:26:33,520 --> 02:26:36,000 ကျွန်ုပ်တို့၏ဆာဗာဖြင့် ဤအရာအတွက် ကျွန်ုပ်တို့သိပါသည်။ 3917 02:26:36,000 --> 02:26:38,240 server သည် ရိုးရှင်းသော command တစ်ခုဖြစ်သည်။ 3918 02:26:38,240 --> 02:26:41,359 gcc server.c နှင့် dash o တို့အတွက် 3919 02:26:41,359 --> 02:26:43,439 output name နဲ့ ကျနော်တို့က ရိုးရိုးရှင်းရှင်းပဲ ဖြစ်နေတာ 3920 02:26:43,439 --> 02:26:45,600 ၎င်းကိုဆာဗာဟုခေါ်ဆိုရန် 3921 02:26:45,600 --> 02:26:48,240 ဤနေရာကို နှိပ်၍ Enter နှိပ်၍ မတွေ့ပါ။ 3922 02:26:48,240 --> 02:26:51,600 ကျွန်ုပ်တို့၏ ပရိုဂရမ်အတွင်းရှိ မည်သည့် အမှားအယွင်းမဆို ကြုံတွေ့နိုင်သည်။ 3923 02:26:51,600 --> 02:26:53,760 error တစ်ခုခုနဲ့ ကြုံရင် ရပါတယ်။ 3924 02:26:53,760 --> 02:26:56,000 error နဲ့ ဖတ်ရုံပါပဲ။ 3925 02:26:56,000 --> 02:26:58,240 error က ဘယ်မှာရှိတယ်ဆိုတာ လွယ်လွယ်ရှာပါ။ 3926 02:26:58,240 --> 02:27:00,240 သင့်ကုဒ်၏အတွင်းပိုင်း 3927 02:27:00,240 --> 02:27:02,080 Error က ဘယ်မှာရှိမှန်း မသိနိုင်ပါ။ 3928 02:27:02,080 --> 02:27:04,160 q a မှာ တင်ထားဖို့ သေချာပါစေ။ 3929 02:27:04,160 --> 02:27:06,399 သင့်ကုဒ်၏ ဖန်သားပြင်ဓာတ်ပုံပါသည့် အပိုင်း 3930 02:27:06,399 --> 02:27:08,800 အဲဒါကို ရှာတွေ့အောင် ငါကူညီပေးမယ်။ 3931 02:27:08,800 --> 02:27:10,960 ဒါဆို ငါတို့ server ကို စုစည်းလိုက်ရအောင် 3932 02:27:10,960 --> 02:27:13,200 သွား၍ ငါတို့နောက်တံခါးကို ပြုစုလော့ 3933 02:27:13,200 --> 02:27:16,240 ကျွန်ုပ်တို့သည် i-686 နှင့် စတင်သည်။ 3934 02:27:16,240 --> 02:27:18,240 အကြောင်းပြချက်က ငါတို့ကြောင့်ပဲ။ 3935 02:27:18,240 --> 02:27:20,720 ကျွန်ုပ်တို့၏ backdoor ကို 32-bit အဖြစ်စုစည်းပါ။ 3936 02:27:20,720 --> 02:27:22,160 အစီအစဉ် 3937 02:27:22,160 --> 02:27:24,800 ဒါဆို command တစ်ခုလုံးကို လုပ်ကြည့်ရအောင် 3938 02:27:24,800 --> 02:27:26,880 ဒီမှာ ဆိုရင် သတိထားမိလိမ့်မယ်။ 3939 02:27:26,880 --> 02:27:29,600 ရိုးရိုး i-686 လို့ရိုက်လိုက်ပါ။ 3940 02:27:29,600 --> 02:27:32,080 ပြီးရင် w နဲ့ နှိပ်လိုက်ရင် ပေါ်လာလိမ့်မယ်။ 3941 02:27:32,080 --> 02:27:34,319 ဤအမိန့်ကို အလိုအလျောက် ပြီးမြောက်စေသည်။ 3942 02:27:34,319 --> 02:27:36,080 နောက်ဆုံးပြီးရင် လုပ်စရာတွေ ကျန်သေးတယ်။ 3943 02:27:36,080 --> 02:27:39,040 dash သည် gcc ထည့်သည်။ 3944 02:27:39,040 --> 02:27:41,520 ပြီးတာနဲ့ dash လို့ရိုက်ထည့်လို့ရပါတယ်။ 3945 02:27:41,520 --> 02:27:42,240 o 3946 02:27:42,240 --> 02:27:44,240 ကျွန်ုပ်တို့အတွက် output name ဖြစ်လိမ့်မည်။ 3947 02:27:44,240 --> 02:27:46,560 backdoor လို့ခေါ်မယ်။ 3948 02:27:46,560 --> 02:27:49,840 နောက်ဆုံးထုတ်ကုန် 3949 02:27:50,080 --> 02:27:51,439 dot exe 3950 02:27:51,439 --> 02:27:53,359 ပြီးမှ သတ်မှတ်ဖို့ လိုပါတယ်။ 3951 02:27:53,359 --> 02:27:54,960 အဲဒါ c file ရဲ့ နာမည်ပါ။ 3952 02:27:54,960 --> 02:27:56,840 ကျွန်ုပ်တို့၏အမှု၌ပြုစုခြင်း။ 3953 02:27:56,840 --> 02:27:59,439 backdoor.c နဲ့ အဲဒါတွေကို သတ်မှတ်ပေးဖို့ လိုပါတယ်။ 3954 02:27:59,439 --> 02:28:01,600 တတ်နိုင်သမျှ စာကြည့်တိုက်နှစ်ခု၊ 3955 02:28:01,600 --> 02:28:03,200 ဤ program ကို compile လုပ်နိူင်သည်။ 3956 02:28:03,200 --> 02:28:06,080 windows နဲ့ အဲဒီ စာကြည့်တိုက် နှစ်ခု ရှိတယ်။ 3957 02:28:06,080 --> 02:28:08,960 lw inet 3958 02:28:08,960 --> 02:28:12,960 နှင့် lw sock32 3959 02:28:12,960 --> 02:28:14,399 သင်၏ enter ကိုနှိပ်ပါ။ 3960 02:28:14,399 --> 02:28:17,280 ပြီးတော့ error တွေ ရောက်သွားတာကို တွေ့နိုင်တယ်။ 3961 02:28:17,280 --> 02:28:19,840 ဒီတော့ error က ဘာပြောလဲ ကြည့်ရအောင် 3962 02:28:19,840 --> 02:28:22,640 ၎င်းသည် ရှေ့တွင် အစက်နှင့် ကော်မာကို မျှော်လင့်ထားသည်။ 3963 02:28:22,640 --> 02:28:25,680 boot run လုပ်ဆောင်ချက်၏အတွင်းဘောင်များ 3964 02:28:25,680 --> 02:28:27,120 အဲဒါကိုပြင်ရအောင် 3965 02:28:27,120 --> 02:28:29,359 ငါတို့ရဲ့အနောက်တံခါးကို nano လုပ်မယ်။ 3966 02:28:29,359 --> 02:28:31,120 ကျွန်တော်တို့ရဲ့ boot run function ကိုသွားပါ။ 3967 02:28:31,120 --> 02:28:33,040 ဒီမှာ အစမှာ 3968 02:28:33,040 --> 02:28:34,960 ပျောက်ဆုံးနေသော အစက်နှင့် ဘယ်မှာရှိသည်ကို ရှာဖွေပါ။ 3969 02:28:34,960 --> 02:28:37,840 ဒီမှာ ကော်မာ ရှိတယ်၊ 3970 02:28:37,840 --> 02:28:40,000 ဒီနေရာက ငါတို့ ပျောက်နေတာ 3971 02:28:40,000 --> 02:28:43,600 အဲဒါကို ဒီမှာထည့်ကြည့်ရအောင် 3972 02:28:45,439 --> 02:28:47,760 ဤပရိုဂရမ်ကို ctrl o သိမ်းဆည်းပါ။ 3973 02:28:47,760 --> 02:28:50,880 ထွက်ရန် ctrl x ကိုရိုက်ထည့်ပြီး compile လုပ်ပါ။ 3974 02:28:50,880 --> 02:28:53,439 တူညီသော command ကိုအသုံးပြုပြီးတစ်ကြိမ်ထပ်နှိပ်ပါ။ 3975 02:28:53,439 --> 02:28:55,040 သင်၏ဝင်ရောက်ပါ။ 3976 02:28:55,040 --> 02:28:58,160 မှန်ကန်စွာ အလုပ်လုပ်ပုံရသည်။ 3977 02:28:58,160 --> 02:29:00,880 ဒီလိုမျိုး တစ်ခုခုရပြီဆိုတာနဲ့ 3978 02:29:00,880 --> 02:29:04,000 ဒါက exe ဖိုင်အမျိုးအစားပါ။ 3979 02:29:04,000 --> 02:29:06,560 icon ၏ 3980 02:29:06,560 --> 02:29:08,399 ငါမင်းကိုချက်ချင်းပြောမယ် ဒါကမဖြစ်ဘူး။ 3981 02:29:08,399 --> 02:29:10,560 တခါတရံ အမှန်တကယ် အလုပ်ဖြစ်လို့ 3982 02:29:10,560 --> 02:29:13,040 compilation ပျက်သွားပြီး compile မလုပ်ပါဘူး။ 3983 02:29:13,040 --> 02:29:15,439 ထို့ကြောင့် ဤအရာကို သင်ရလျှင် လုံးလုံးလျားလျား ဖြစ်၏။ 3984 02:29:15,439 --> 02:29:17,359 သင် kel ကို အသုံးပြုနေလျှင် ဤနေရာတွင် အိုင်ကွန် 3985 02:29:17,359 --> 02:29:19,439 linux သေချာအောင်သင်ပါ။ 3986 02:29:19,439 --> 02:29:21,359 တစ်ဖန်ပြန်လည်ပေါင်းစည်းပါ။ 3987 02:29:21,359 --> 02:29:22,960 ဒါဆို ငါပဲ ဖျက်လိုက်မယ်။ 3988 02:29:22,960 --> 02:29:25,359 finalproduct.exe 3989 02:29:25,359 --> 02:29:27,840 ပြီးလျှင် command ကို နောက်တစ်ကြိမ်ပြန် run ပါ။ 3990 02:29:27,840 --> 02:29:30,640 ယခု ကျွန်ုပ်တွင် နောက်ဆုံးထုတ်ကုန်ရှိသည်။ 3991 02:29:30,640 --> 02:29:33,760 မှန်ကန်သော exe icon နှင့် ဤအရာပါရှိသည်။ 3992 02:29:33,760 --> 02:29:35,600 တစ်ခုအလုပ်လုပ်လိမ့်မယ်။ 3993 02:29:35,600 --> 02:29:38,160 ဒါမှမဟုတ် အနည်းဆုံးတော့ အဆင်ပြေမယ်လို့ မျှော်လင့်ပါတယ်။ 3994 02:29:38,160 --> 02:29:40,399 ကျွန်ုပ်တို့၏အတွင်း၌ ထိုနောက်ဆုံးထုတ်ကုန်ကို လွှဲပြောင်းပါ။ 3995 02:29:40,399 --> 02:29:43,120 usb drive နှင့်ကျွန်ုပ်တို့၏ windows 10 တွင်၎င်းကိုစမ်းသပ်ပါ။ 3996 02:29:43,120 --> 02:29:44,160 စက် 3997 02:29:44,160 --> 02:29:47,760 ကျွန်ုပ်၏ usb drive ကိုတင်သွင်းပါမည်။ 3998 02:29:48,640 --> 02:29:50,399 ဒါဆို ငါဘာလုပ်မလဲ ငါသွားမယ်။ 3999 02:29:50,399 --> 02:29:52,960 နောက်ဆုံးထုတ်ကုန်ကို မီဒီယာသို့ ရွှေ့ရန် 4000 02:29:52,960 --> 02:29:56,960 root လုပ်ပြီးရင် ငါ့ usb drive ရဲ့ နာမည် 4001 02:29:56,960 --> 02:30:00,479 ပြီးရင် usb drive ကိုဖြုတ်လိုက်မယ်။ 4002 02:30:00,479 --> 02:30:02,560 ပြီးလျှင် ဤမျက်နှာပြင်ကို စတင်လိုက်ပါ။ 4003 02:30:02,560 --> 02:30:04,720 ငါသည်ငါ့ဆာဗာကို run လိမ့်မယ်ဒါကြောင့်စောင့်ပါလိမ့်မယ်။ 4004 02:30:04,720 --> 02:30:06,479 အဝင်ချိတ်ဆက်မှုများ 4005 02:30:06,479 --> 02:30:10,160 ပြီးရင် usb drive ကိုသွားမယ်။ 4006 02:30:11,280 --> 02:30:14,560 နောက်ဆုံးထုတ်ကုန်ကိုရှာပါ။ 4007 02:30:14,960 --> 02:30:17,040 ဒီမှာပါ 4008 02:30:17,040 --> 02:30:20,240 ၎င်းကို desktop ပေါ်တွင် paste လုပ်ပါ။ 4009 02:30:21,040 --> 02:30:23,760 ပြေးပါ။ 4010 02:30:24,080 --> 02:30:26,479 ဒါကြောင့် ဘာမှမဖြစ်ဘူး လို့ မြင်လိုက်ကြရအောင် 4011 02:30:26,479 --> 02:30:28,720 ကျွန်ုပ်တို့၏ k linux စက်သို့သွားပါ။ 4012 02:30:28,720 --> 02:30:30,160 ပြီးတော့ ငါတို့ လုပ်နိုင်မယ် မထင်ဘူး။ 4013 02:30:30,160 --> 02:30:31,920 ချိတ်ဆက်မှုပြန်ရရင် ကြည့်ရအောင် 4014 02:30:31,920 --> 02:30:35,359 ငါတို့က cds တွေကို ထိန်းချုပ်ရတော့မှာလား။ 4015 02:30:35,359 --> 02:30:37,520 ပြီးတော့ ငါ့မှာ တကယ်ရှိခဲ့တဲ့ ပထမဆုံးအရာ 4016 02:30:37,520 --> 02:30:39,200 ip ကို စစ်ကြည့်ဖို့ စိတ်ကူးထားတယ်။ 4017 02:30:39,200 --> 02:30:41,439 ကျွန်ုပ်၏ cal linux စက်၏လိပ်စာ 4018 02:30:41,439 --> 02:30:45,479 ဒါကြောင့် ip address က 192.168.1.6 ဖြစ်ပါတယ်။ 4019 02:30:45,520 --> 02:30:46,800 ဒါက ငါတို့လုပ်သင့်တဲ့အရာပဲ။ 4020 02:30:46,800 --> 02:30:49,200 စုစည်းမှုမပြုမီတွင်ပင် စစ်ဆေးခဲ့သည်။ 4021 02:30:49,200 --> 02:30:51,200 ဒီတော့ ငါတွေးနေတာက တကယ့်အစစ် 4022 02:30:51,200 --> 02:30:53,840 compilation နဲ့ compilation မတူဘူး။ 4023 02:30:53,840 --> 02:30:57,760 ip address ဆိုတော့ တောက်လျှောက် သွားကြည့်ရအောင် 4024 02:30:57,760 --> 02:31:02,600 ဤနေရာတွင် ကျွန်ုပ်တို့သည် ဤ 2.1.6 ကို ပြောင်းလဲရန် လိုအပ်ပါသည်။ 4025 02:31:03,439 --> 02:31:05,920 သိမ်းဆည်းပါ။ 4026 02:31:06,000 --> 02:31:08,399 ကဲ သွားကြရအောင် 4027 02:31:08,399 --> 02:31:10,240 server လည်းပါပါတယ်။ 4028 02:31:10,240 --> 02:31:12,000 ဆာဗာတွင် ip တူညီသောကြောင့်ဖြစ်သည်။ 4029 02:31:12,000 --> 02:31:14,560 လိပ်စာက 1.8 ဖြစ်ပြီး၊ 4030 02:31:14,560 --> 02:31:17,200 ၎င်းကို 1.6 သို့ပြောင်းပါ။ 4031 02:31:17,200 --> 02:31:19,040 ၎င်းကို နှစ်ဆစစ်ဆေးရန်လည်း သေချာစေပါ။ 4032 02:31:19,040 --> 02:31:20,880 ports တွေလည်း အတူတူပဲလား။ 4033 02:31:20,880 --> 02:31:23,520 ပရိုဂရမ် နှစ်ခုလုံးမှာ လုပ်ပြီးတာနဲ့ အဲဒါကို ကျွန်တော်တို့ လုပ်ပါတယ်။ 4034 02:31:23,520 --> 02:31:25,840 ကျွန်ုပ်တို့၏ ပရိုဂရမ်များကို ပြန်လည်ပေါင်းစည်းနိုင်စေရန် ဆောင်ရွက်ပေးပါသည်။ 4035 02:31:25,840 --> 02:31:27,600 စုစည်းထားသည့် ဆာဗာကို ဖယ်ရှားပါ။ 4036 02:31:27,600 --> 02:31:29,200 ဆာဗာဗားရှင်း 4037 02:31:29,200 --> 02:31:31,359 ပြီးတော့ ငါ တူညီတဲ့ command နှစ်ခုကို သုံးမယ်။ 4038 02:31:31,359 --> 02:31:33,280 compile လုပ်ဖို့အရင်ကသုံးတယ်။ 4039 02:31:33,280 --> 02:31:36,160 ဒီအစီအစဉ်နှစ်ခု 4040 02:31:38,960 --> 02:31:40,319 အဆင်ပြေပါတယ်။ 4041 02:31:40,319 --> 02:31:42,399 ဒါကြောင့် ဒီမှာသူတို့ကို တစ်ကြိမ်ထပ်ပြီးရပြီ။ 4042 02:31:42,399 --> 02:31:45,920 ဒါကိုပဲ ကော်ပီလုပ်ကြည့်ရအောင် 4043 02:31:48,319 --> 02:31:50,160 ဒါကို ရင်ဆိုင်ရင်းနဲ့ 4044 02:31:50,160 --> 02:31:53,040 ငါဒီဖိုင်ကိုဖျက်ပစ်မယ်။ 4045 02:31:53,040 --> 02:31:55,200 လည်ပတ်နေတုန်းမို့ ကျွန်တော်တို့ သွားဖို့လိုတယ်။ 4046 02:31:55,200 --> 02:31:57,359 တကယ်သတ်ဖို့တာဝန်မန်နေဂျာ 4047 02:31:57,359 --> 02:31:59,200 တကယ်ချိတ်ဆက်ဖို့ ကြိုးစားနေတာကြောင့်ပါ။ 4048 02:31:59,200 --> 02:32:02,439 192.168.1.8 သို့ 4049 02:32:02,479 --> 02:32:05,120 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏သော့သို့ ip လိပ်စာကို ပြောင်းပါသည်။ 4050 02:32:05,120 --> 02:32:07,200 linux စက်ဆိုတော့ ကျွန်တော်တို့ ရှာရတော့မယ်။ 4051 02:32:07,200 --> 02:32:10,200 finalproduct.exe 4052 02:32:11,439 --> 02:32:13,120 ဒီမှာပါ 4053 02:32:13,120 --> 02:32:16,080 32-bit ဗားရှင်းနှင့် လုပ်ငန်းကို ယခု ကျွန်ုပ်တို့ လုပ်ဆောင်နိုင်ပါပြီ။ 4054 02:32:16,080 --> 02:32:17,920 ဒါကိုဖျက်ပါ 4055 02:32:17,920 --> 02:32:20,160 ပြီးတာနဲ့ ငါတို့ ဖိုင်နယ်ကို ရွှေ့နိုင်တယ်။ 4056 02:32:20,160 --> 02:32:22,720 ထုတ်ကုန်ကို media root လုပ်ပြီး usb မှာထည့်ပါ။ 4057 02:32:22,720 --> 02:32:24,720 မောင်း 4058 02:32:24,720 --> 02:32:26,800 အဲဒါကို နောက်တစ်ကြိမ် ဖြုတ်လိုက်တဲ့အတွက် ကျွန်တော်တို့ သိပါတယ်။ 4059 02:32:26,800 --> 02:32:28,720 လုပ်ငန်းစဉ် 4060 02:32:28,720 --> 02:32:31,439 server ကို run 4061 02:32:31,680 --> 02:32:34,000 အလုပ်ဖြစ်မဖြစ် စစ်ဆေးကြည့်ရအောင် 4062 02:32:34,000 --> 02:32:37,240 အခုချက်ချင်း 4063 02:32:42,080 --> 02:32:45,120 ကောင်းပြီ ဒါဆို double click နှိပ်လိုက်ပါ။ 4064 02:32:45,120 --> 02:32:47,120 ဘာမှမဖြစ်ဘူးထင်ရပေမယ့် အဲ့လို 4065 02:32:47,120 --> 02:32:49,439 kali linux ကိုသွားကြည့်လို့ရတယ်။ 4066 02:32:49,439 --> 02:32:51,200 ချိတ်ဆက်မှုကို windows 10 မှပြန်လည်ရယူပါ။ 4067 02:32:51,200 --> 02:32:53,120 ip လိပ်စာနှင့်အတူစက် 4068 02:32:53,120 --> 02:32:56,000 192.168.1.4 4069 02:32:56,000 --> 02:32:57,920 ဒီတော့ အရင်ဆုံး execute လုပ်ကြည့်ရအောင် 4070 02:32:57,920 --> 02:32:59,359 ပုံမှန်အမိန့်များ 4071 02:32:59,359 --> 02:33:02,160 ငါဘယ်သူလဲလို့ ရိုက်ထည့်လိုက်ရင် 4072 02:33:02,160 --> 02:33:05,040 ကျွန်ုပ်တို့သည် output ipconfig ကိုရရှိသည်။ 4073 02:33:05,040 --> 02:33:07,439 စမ်းကြည့်လို့ရအောင် output လည်းရထားပါတယ်။ 4074 02:33:07,439 --> 02:33:09,359 အချို့သော netstat အမိန့်များ 4075 02:33:09,359 --> 02:33:11,760 အဲဒါအတွက် ထွက်ပေါက်လည်း ရတယ်၊ 4076 02:33:11,760 --> 02:33:13,359 အဲဒီမှာ ရိုက်ထည့်လိုက်ရုံပါပဲ။ 4077 02:33:13,359 --> 02:33:15,359 လက်ရှိလုပ်ဆောင်နေတဲ့ ရလဒ်ကို ကျွန်တော်တို့ ရရှိပါတယ်။ 4078 02:33:15,359 --> 02:33:17,120 directory တွေ အကုန်လုံးကို တွေ့နိုင်တယ်။ 4079 02:33:17,120 --> 02:33:18,880 အထဲမှာ ဖိုင်တစ်ခု သွားကြည့်ရအောင် 4080 02:33:18,880 --> 02:33:20,640 လမ်းညွှန်ဗျာ။ 4081 02:33:20,640 --> 02:33:22,960 အဲဒီမှာ တစ်ခါရိုက်ပြီး အခုချက်ချင်းရိုက်ပါ။ 4082 02:33:22,960 --> 02:33:25,359 ငါတို့က လမ်းညွှန်တစ်ခုထဲမှာ ရှိတယ်ဆိုတော့ သွားကြရအောင် 4083 02:33:25,359 --> 02:33:28,399 ကျွန်ုပ်တို့၏ desktop သို့ ပြန်သွားရန် 4084 02:33:29,760 --> 02:33:32,880 ကျွန်ုပ်တို့၏ keylogger ကို စတင်ရန် ကြိုးစားကြပါစို့ 4085 02:33:32,880 --> 02:33:34,880 ဒါကြောင့် ငါမလုပ်ခင် ရိုးရိုးရှင်းရှင်းပဲ လုပ်မယ်။ 4086 02:33:34,880 --> 02:33:36,800 ဤနေရာတွင် notepad ဖိုင်ကိုဖွင့်ပါ။ 4087 02:33:36,800 --> 02:33:38,960 ကျွန်ုပ်တို့သည် ကျပန်းအရာအချို့ကို ရိုက်ထည့်ပါမည်။ 4088 02:33:38,960 --> 02:33:40,560 ကျွန်ုပ်တို့၏ ကီးလော့ဂ်ဂါ ရှိ၊ မရှိ ကြည့်ရှုပါ။ 4089 02:33:40,560 --> 02:33:42,240 ၎င်းကိုဖမ်းရန်စီမံပါ။ 4090 02:33:42,240 --> 02:33:46,080 ဒါကြောင့် keylog မှာ underscore လို့ရိုက်လိုက်ရင် start ပါ။ 4091 02:33:46,080 --> 02:33:48,160 ကျွန်ုပ်တို့သည် မှန်ကန်သော အချက်ပြမှုကို ပြန်လည်ရရှိမည်ဖြစ်သည်။ 4092 02:33:48,160 --> 02:33:50,000 ဒုတိယ command နဲ့ ပို့လို့ရတဲ့နေရာ 4093 02:33:50,000 --> 02:33:52,080 ဒုတိယ command ပေးပို့ပါက၊ 4094 02:33:52,080 --> 02:33:53,520 output ဆိုတော့ ကျွန်တော်တို့က execute လုပ်နေတုန်းပါပဲ။ 4095 02:33:53,520 --> 02:33:55,359 အမိန့်ပေးသော်လည်း ဤသော့မှတ်တမ်းကို အမှတ်အသားပြုသည်။ 4096 02:33:55,359 --> 02:33:57,280 start တွင် key logger ကိုစတင်ခဲ့သည်။ 4097 02:33:57,280 --> 02:33:59,680 ပစ်မှတ်စက် 4098 02:33:59,680 --> 02:34:02,319 ဒါကြောင့် ငါပြန်သွားပြီး စာရိုက်ရရင် 4099 02:34:02,319 --> 02:34:03,359 တစ်ခုခု 4100 02:34:03,359 --> 02:34:04,800 မင်္ဂလာပါကမ္ဘာလောက 4101 02:34:04,800 --> 02:34:06,840 အဲဒါကို ချက်ချင်း သတိထားမိလိမ့်မယ်။ 4102 02:34:06,840 --> 02:34:10,240 windows.txt ဖိုင်သည် ဤနေရာတွင် ဖွင့်ပါသည်။ 4103 02:34:10,240 --> 02:34:11,520 ငါ့ desktop 4104 02:34:11,520 --> 02:34:13,680 ငါအလိုအလျောက်ဖန်တီးခဲ့တာမဟုတ်ဘူး။ 4105 02:34:13,680 --> 02:34:16,080 ဒီနေရာနဲ့ အခုဖန်တီးထားတာ 4106 02:34:16,080 --> 02:34:18,160 ဒီ keystroke တွေအားလုံးကို ငါရေးတယ်။ 4107 02:34:18,160 --> 02:34:20,640 ကျွန်ုပ်၏ကီးဘုတ်အတွင်း၌ထည့်ပါ။ 4108 02:34:20,640 --> 02:34:22,960 ဒါဆို ငါ့စကားဝှက်နဲ့ သွားကြည့်ရအောင် 4109 02:34:22,960 --> 02:34:24,800 သည် 4110 02:34:24,800 --> 02:34:26,080 စကားဝှက် 4111 02:34:26,080 --> 02:34:29,120 one two three နဲ့ shift use ဆိုတော့ 4112 02:34:29,120 --> 02:34:30,880 အာမေဍိတ်အမှတ်အသားကို နိမိတ်ထည့်ပြီးတော့ 4113 02:34:30,880 --> 02:34:35,200 hashtag ပြီးရင် လေးငါးခြောက် 4114 02:34:35,200 --> 02:34:37,280 အဲဒါကို မသိမ်းဘဲ ပိတ်လိုက်မယ်။ 4115 02:34:37,280 --> 02:34:38,800 ဒီထဲကတစ်ခုခု 4116 02:34:38,800 --> 02:34:40,800 ငါတို့ cal ကိုပြန်သွားမလား ကြည့်ရအောင် 4117 02:34:40,800 --> 02:34:42,399 linux စက်ကို စီမံခန့်ခွဲနိုင်ပါ့မလား 4118 02:34:42,399 --> 02:34:45,760 အဲဒီမှာ ထပ်ရိုက်ရင် ရိုက်ပါ။ 4119 02:34:45,760 --> 02:34:47,280 ကျွန်ုပ်သည် ကျွန်ုပ်၏ desktop ပေါ်တွင် ရှိနေသည်ကို သင်မြင်နိုင်သည်။ 4120 02:34:47,280 --> 02:34:49,200 directory နဲ့လည်း တွေ့နိုင်ပါတယ်။ 4121 02:34:49,200 --> 02:34:52,080 windows.txt ဖိုင်အသစ်တစ်ခုရှိပါတယ်။ 4122 02:34:52,080 --> 02:34:54,560 ဘာအကြောင်းအရာတွေလဲဆိုတာ သိနိုင်ဖို့ 4123 02:34:54,560 --> 02:34:56,640 ဤဖိုင်ကို ရိုက်ထည့်ရန် 4124 02:34:56,640 --> 02:34:58,399 ကျွန်ုပ်တို့သည် ရိုးရှင်းသော command ကိုသုံးပါမည်။ 4125 02:34:58,399 --> 02:35:01,600 windows.txt ရိုက်ထည့်ပါ။ 4126 02:35:01,600 --> 02:35:03,359 သင်၏ enter ကိုနှိပ်ပါ။ 4127 02:35:03,359 --> 02:35:05,439 ထွက်လာတဲ့ ရလဒ်ကို ငါတို့တွေ့နိုင်တယ်။ 4128 02:35:05,439 --> 02:35:08,319 ဟယ်လို ကမ္ဘာ ငါ့စကားဝှက်သည် စကားဝှက်ဖြစ်သည်။ 4129 02:35:08,319 --> 02:35:11,200 ပြီးရင် နိမိတ်မှာ အာမေဋိတ် အမှတ်အသား 4130 02:35:11,200 --> 02:35:13,359 ၄၅၆ 4131 02:35:13,359 --> 02:35:15,200 အခုလည်း online ပေါ်မှာပဲ အလုပ်လုပ်တော့မယ်။ 4132 02:35:15,200 --> 02:35:17,920 အသုံးပြုသူအလိုရှိပါက ဥပမာအားဖြင့် စာမျက်နှာများ 4133 02:35:17,920 --> 02:35:20,640 paypal.com လို့ ဆိုကြပါစို့ 4134 02:35:20,640 --> 02:35:22,960 သူတို့ရဲ့ browser ကိုဖွင့်ပါ ငါဒီမှာ 4135 02:35:22,960 --> 02:35:25,120 လက်ရှိတွင် ရဲရင့်သောဘရောက်ဆာကို အသုံးပြုနေသည်။ 4136 02:35:25,120 --> 02:35:29,000 သူတို့က paypal.com ကိုသွားပါ။ 4137 02:35:30,720 --> 02:35:32,560 လော့ဂ်အင်ဝင်ဖို့ ကြိုးစားကြတယ်။ 4138 02:35:32,560 --> 02:35:33,920 အကောင့်ဝင်ရန်ခလုတ် 4139 02:35:33,920 --> 02:35:36,000 ဤနေရာတွင် တစ်စုံတစ်ခုကို သတ်မှတ်ကြသည်။ 4140 02:35:36,000 --> 02:35:38,399 ကျပန်းနှင့် ဤနေရာတွင် သတ်မှတ်ထားသည်။ 4141 02:35:38,399 --> 02:35:40,560 တစ်နှစ်သုံးလေး 4142 02:35:40,560 --> 02:35:42,560 သင့် login ကို ကျွန်ုပ်တို့ နှိပ်ပါ။ 4143 02:35:42,560 --> 02:35:44,399 ဟုတ်ပါတယ် ဒီအကောင့် မရှိပါ။ 4144 02:35:44,399 --> 02:35:46,080 ဒါပေမယ့် ငါတို့ kel linux ကို ပြန်သွားရင်တော့ 4145 02:35:46,080 --> 02:35:48,080 machine နှင့် တူညီသော command ကိုရိုက်ပါ။ 4146 02:35:48,080 --> 02:35:50,479 windows.txt လို့ရိုက်လိုက်ပါ။ 4147 02:35:50,479 --> 02:35:52,960 ဖမ်းယူနိုင်သည်ကို သင်တွေ့ရပါမည်။ 4148 02:35:52,960 --> 02:35:56,080 တကယ့် password နဲ့ username ပါ။ 4149 02:35:56,080 --> 02:35:58,479 အသုံးပြုသူအမည်မှာ ဤ နှင့် ဖြစ်သည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။ 4150 02:35:58,479 --> 02:36:01,920 စကားဝှက်သည် test1234 ဖြစ်သည်။ 4151 02:36:01,920 --> 02:36:04,720 ထို့ကြောင့် ကျွန်ုပ်တို့၏ keylogger သည် မှန်ကန်စွာ အလုပ်လုပ်ပါသည်။ 4152 02:36:04,720 --> 02:36:06,640 သော့လော့ဂ်ဂါ အလုပ်လုပ်သည်ကို ယခု ကျွန်ုပ်တို့ သိပါသည်။ 4153 02:36:06,640 --> 02:36:08,399 ဖန်တီးနိုင်မလားဆိုတာ ကြည့်လိုက်ရအောင် 4154 02:36:08,399 --> 02:36:11,120 persist ကိုအသုံးပြုသောအခါ registry key ကို 4155 02:36:11,120 --> 02:36:12,640 အမိန့် 4156 02:36:12,640 --> 02:36:14,240 ဒီတော့ ငါဘာလုပ်ရမလဲ 4157 02:36:14,240 --> 02:36:15,920 persist command ကို run နေတာက ငါသွားမယ်။ 4158 02:36:15,920 --> 02:36:18,160 windows ညာဘက်ရှိ ကျွန်ုပ်၏ search bar သို့သွားပါ။ 4159 02:36:18,160 --> 02:36:19,040 ဒီမှာ 4160 02:36:19,040 --> 02:36:20,720 run ကိုရိုက်ပါ။ 4161 02:36:20,720 --> 02:36:22,640 ပြီးရင် enter နှိပ်လိုက်ရင် ပွင့်လာပါလိမ့်မယ်။ 4162 02:36:22,640 --> 02:36:24,800 ဒီဝင်းဒိုးလေးကို ကျွန်တော် ရိုက်ထည့်ချင်ပါတယ်။ 4163 02:36:24,800 --> 02:36:26,160 reg တည်းဖြတ်ခြင်း။ 4164 02:36:26,160 --> 02:36:28,479 ok ဒီမှာနှိပ်ပါ။ 4165 02:36:28,479 --> 02:36:30,000 အက်ဒမင်ကို မေးလိမ့်မယ်။ 4166 02:36:30,000 --> 02:36:32,160 အခွင့်ထူးများ ကျွန်ုပ်သည် yes ကိုနှိပ်ပါမည်။ 4167 02:36:32,160 --> 02:36:34,479 အခုပဲ ကျွန်တော်သွားချင်တဲ့နေရာ 4168 02:36:34,479 --> 02:36:37,280 ငါတို့လုပ်ဆောင်ရမယ့်လမ်း 4169 02:36:37,280 --> 02:36:39,359 ကျွန်ုပ်တို့အတွက် ကျွန်ုပ်တို့၏ မှတ်ပုံတင်သော့ကို ဖန်တီးခြင်း။ 4170 02:36:39,359 --> 02:36:40,319 အစီအစဉ် 4171 02:36:40,319 --> 02:36:43,040 ၎င်းသည် hp လက်ရှိအသုံးပြုသူတွင်ဖြစ်သည်။ 4172 02:36:43,040 --> 02:36:46,319 ပြီးရင် software ကိုသွားပါ။ 4173 02:36:46,560 --> 02:36:48,640 ပြီးရင် microsoft ကိုသွားပါ။ 4174 02:36:48,640 --> 02:36:51,600 တလမ်းလုံးဆင်း 4175 02:36:51,600 --> 02:36:53,760 ထို့နောက်သင်ပြတင်းပေါက်သို့သွားပါ။ 4176 02:36:53,760 --> 02:36:58,160 လက်ရှိဗားရှင်းနဲ့ run တာကိုတွေ့ရမှာပါ။ 4177 02:36:58,160 --> 02:37:00,399 ဒါကြောင့်ဒီမှာ 4178 02:37:00,399 --> 02:37:02,399 persist command ကို လုပ်ပြီးတာနဲ့၊ 4179 02:37:02,399 --> 02:37:04,319 အသစ်သော registry value ကိုတွေ့ရပါမည်။ 4180 02:37:04,319 --> 02:37:06,720 hacked ဟုခေါ်သည် 4181 02:37:06,720 --> 02:37:09,040 ဒီတော့ ငါဒီကိုသွားလိုက်ရင် စမ်းကြည့်ရအောင် 4182 02:37:09,040 --> 02:37:11,680 ဆက်နေပါ။ 4183 02:37:12,160 --> 02:37:14,399 enter here ကိုနှိပ်ပြီး my ကိုသွားပါ။ 4184 02:37:14,399 --> 02:37:16,720 မှတ်ပုံတင် 4185 02:37:16,720 --> 02:37:18,880 ပြန်လည်စတင်ရန် f5 ကိုနှိပ်ပါ။ 4186 02:37:18,880 --> 02:37:21,680 registry value အသစ်တစ်ခုဖြစ်နေတာကို တွေ့နိုင်ပါတယ်။ 4187 02:37:21,680 --> 02:37:24,399 ၎င်းကို hacked ဟုခေါ်ပြီး၎င်းတွင်တစ်ခုပါရှိသည်။ 4188 02:37:24,399 --> 02:37:27,920 ကျွန်ုပ်တို့၏နောက်ဆုံးထုတ်ကုန် exe သို့လမ်းကြောင်း 4189 02:37:27,920 --> 02:37:29,359 ဒါကြောင့် အခုပဲ 4190 02:37:29,359 --> 02:37:31,680 ပစ်မှတ်က သူတို့ရဲ့ PC ကို ပိတ်ပစ်ရင်တောင် 4191 02:37:31,680 --> 02:37:34,240 နောက်တစ်ခါ သူတို့က အဲဒါကို ငါတို့ရဲ့ နောက်ကွယ်မှာ စဖွင့်တယ်။ 4192 02:37:34,240 --> 02:37:36,240 ကျွန်ုပ်တို့၏ cal ကို ပြန်လည်ချိတ်ဆက်ရန် ကြိုးစားပါမည်။ 4193 02:37:36,240 --> 02:37:37,840 linux စက် 4194 02:37:37,840 --> 02:37:40,080 ဒါ​ပေမဲ့ မင်း​တို့​တွေ့​ရ​တာ​တစ်​ခု​ရှိ​တယ်။ 4195 02:37:40,080 --> 02:37:42,399 ၎င်းသည် persist command ကိုလုပ်ဆောင်ပြီးသည်နှင့် 4196 02:37:42,399 --> 02:37:44,720 ကျွန်ုပ်တို့သည် အချက်ပြချက်ကို ပြန်မရပါ။ 4197 02:37:44,720 --> 02:37:47,520 ကျွန်ုပ်တို့သည် နောက်ထပ် command များကို လုပ်ဆောင်၍မရပါ။ 4198 02:37:47,520 --> 02:37:49,520 အဲဒီတော့ ဘယ်လိုပြင်ရမလဲဆိုတာ ကြည့်မယ်။ 4199 02:37:49,520 --> 02:37:52,080 အဲဒါက ရိုးရှင်းပြီး ငါတို့လည်း ပြုပြင်ပေးတာပဲလေ။ 4200 02:37:52,080 --> 02:37:54,319 မက်ဆေ့ချ်ကို ဘယ်လိုထည့်ရမလဲဆိုတာ ကြည့်ရမှာပါ။ 4201 02:37:54,319 --> 02:37:56,560 လိုချင်ရင် ပစ်မှတ် 4202 02:37:56,560 --> 02:37:58,479 ဥပမာ ကျွန်တော်တို့ကို အချက်ပေးချင်တယ်ဆိုပါစို့ 4203 02:37:58,479 --> 02:38:01,280 သင် hacked ခံရသော မက်ဆေ့ခ်ျကို ပစ်မှတ်ထားရန် 4204 02:38:01,280 --> 02:38:02,800 ၎င်းသည် သေးငယ်သော အပိုဆောင်းတစ်ခုဖြစ်သည်။ 4205 02:38:02,800 --> 02:38:04,479 ပရိုဂရမ်က မင်းကို ဘယ်လိုလုပ်နိုင်တယ်ဆိုတာ ငါပြမယ်။ 4206 02:38:04,479 --> 02:38:06,880 မကြိုက်ရင် မကြိုက်ရင် လုပ်ပါ။ 4207 02:38:06,880 --> 02:38:08,640 မင်းပစ်မှတ်ကို မလိုချင်ရင် အဲဒါကို လုပ်ပါ။ 4208 02:38:08,640 --> 02:38:10,640 ဟက်ခ်ခံရသည်ဟု စိတ်ကူးရှိပါသလား။ 4209 02:38:10,640 --> 02:38:12,160 မင်း သူတို့ကို နှိုးဆော်လို့ မရဘူး။ 4210 02:38:12,160 --> 02:38:14,319 ဘာကိုမှ သတိမမူမိစေနဲ့ 4211 02:38:14,319 --> 02:38:16,160 သူတို့ ဖောက်ထွင်းခံရတယ်။ 4212 02:38:16,160 --> 02:38:17,200 ဒါကြောင့် ဒီကိုကြည့်ရှုတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ 4213 02:38:17,200 --> 02:38:19,600 သရုပ်ပြမှုအားလုံး မှန်မှန်ကန်ကန် လုပ်ဆောင်သည်။ 4214 02:38:19,600 --> 02:38:21,520 ဒါကို ဘယ်လို ပြင်နိုင်မလဲ ဆိုတာ ကြည့်မယ်။ 4215 02:38:21,520 --> 02:38:23,280 နှင့် command များကို မည်သို့လုပ်ဆောင်နိုင်မည်နည်း။ 4216 02:38:23,280 --> 02:38:25,520 persistence အမိန့်ပြီးနောက် ချက်ချင်း 4217 02:38:25,520 --> 02:38:27,200 နောက်သင်ခန်းစာတွင် 4218 02:38:27,200 --> 02:38:29,359 ဟိုမှာတွေ့မယ်။ 4219 02:38:29,359 --> 02:38:32,000 အားလုံးကို ကြိုဆိုပါတယ် ဒီဗီဒီယိုလေးထဲမှာပါ။ 4220 02:38:32,000 --> 02:38:34,080 မတူညီတဲ့ အရာနှစ်ခုကို တွေ့ပါလိမ့်မယ်။ 4221 02:38:34,080 --> 02:38:36,800 ပထမတစ်ချက်ကတော့ ဘယ်လိုပြုပြင်ရမလဲ 4222 02:38:36,800 --> 02:38:38,960 အရင်သင်ခန်းစာထဲက error တွေ ဘယ်မှာလဲ။ 4223 02:38:38,960 --> 02:38:41,200 persist command ကိုလုပ်ဆောင်ခဲ့သော်လည်း၊ 4224 02:38:41,200 --> 02:38:43,760 ကံမကောင်းစွာပဲ ထိုနေရာတွင် တွဲလျက် ရှိနေခဲ့သည်။ 4225 02:38:43,760 --> 02:38:45,680 နောက်တစ်ခုကို ထည့်ခွင့်မပေးချင်ဘူး။ 4226 02:38:45,680 --> 02:38:47,280 အမိန့် 4227 02:38:47,280 --> 02:38:48,720 နောက်တချက်က ငါတို့သွားမယ်။ 4228 02:38:48,720 --> 02:38:50,800 ပစ်မှတ်ကို မည်ကဲ့သို့ မက်ဆေ့ချ်ပို့နိုင်သည်ကို ကြည့်ပါ။ 4229 02:38:50,800 --> 02:38:54,000 ၎င်းတို့၏ စက်ပစ္စည်းကို ဟက်ခ်ခံရခြင်း ဖြစ်သည်။ 4230 02:38:54,000 --> 02:38:56,560 ဒီတော့ ပထမဆုံးအရာနဲ့ စလိုက်ရအောင် 4231 02:38:56,560 --> 02:38:58,960 ဟဲဟဲ ငါ error ပြင်ပြီးသွားတော့မယ် 4232 02:38:58,960 --> 02:39:01,200 ငါပြန်သွားရင် မင်းကို ငါဘယ်လိုလုပ်ခဲ့တယ်ဆိုတာပြပါ။ 4233 02:39:01,200 --> 02:39:02,960 ဆာဗာ 4234 02:39:02,960 --> 02:39:05,120 ငါထည့်ထားတဲ့အရာကို အတိအကျပြမယ်။ 4235 02:39:05,120 --> 02:39:06,800 အဲဒါကို ချဲ့ကြည့်ရအောင် 4236 02:39:06,800 --> 02:39:09,200 အားလုံးပြန်သွားရင်တော့ နည်းနည်းပိုကောင်းပါတယ်။ 4237 02:39:09,200 --> 02:39:11,680 အောက်လမ်းက ဒီအပိုင်းကို ကျွန်တော့်ဆီ ထည့်လိုက်တယ်။ 4238 02:39:11,680 --> 02:39:12,960 ဆာဗာကုဒ် 4239 02:39:12,960 --> 02:39:14,560 ငါဘာကြောင့်ထည့်ခဲ့ရတာလဲ။ 4240 02:39:14,560 --> 02:39:16,399 သီးခြားတုံ့ပြန်မှုများကို လက်ခံရယူပါ။ 4241 02:39:16,399 --> 02:39:18,479 persist command သည်ဤကြောင့်ဖြစ်သည်။ 4242 02:39:18,479 --> 02:39:20,080 မက်ဆေ့ချ်အားလုံးနှုန်း 4243 02:39:20,080 --> 02:39:21,600 မက်ဆေ့ချ်နှုန်းဖြင့် ထားခဲ့လျှင် 4244 02:39:21,600 --> 02:39:24,319 အားလုံးက ရိုးရိုးရှင်းရှင်းနဲ့ အလုပ်မဖြစ်ပါဘူး။ 4245 02:39:24,319 --> 02:39:26,240 မင်းကို ခွင့်မပြုဘဲ အဲဒီမှာပဲ ထာဝရ ချည်နှောင်ထားတုန်းပဲ။ 4246 02:39:26,240 --> 02:39:27,920 နောက် command ကို execute 4247 02:39:27,920 --> 02:39:30,160 ဒါကြောင့် အခြား elsif statement မှာ ထည့်ထားပါတယ်။ 4248 02:39:30,160 --> 02:39:32,399 ဆက်တိုက်ကို ကြားခံခုနစ်ခုနှင့် နှိုင်းယှဉ်ပါ။ 4249 02:39:32,399 --> 02:39:35,040 အက္ခရာများ ညီမျှလျှင် သုညနှင့် ညီသည်။ 4250 02:39:35,040 --> 02:39:37,600 ငါ ဒီအမိန့်ကို ကော်ပီကူးထားပေမယ့်အစား 4251 02:39:37,600 --> 02:39:40,240 မက်ဆေ့ခ်ျအလေးချိန်သည် အလံအားလုံးကို သုညဟု သတ်မှတ်ထားသည်။ 4252 02:39:40,240 --> 02:39:41,920 ဒါကြောင့် အလံတွေ မပေးဘူး။ 4253 02:39:41,920 --> 02:39:44,640 ပြီးမှ တုံ့ပြန်မှုကို ပုံနှိပ်ပါတယ်။ 4254 02:39:44,640 --> 02:39:47,520 ထို့ကြောင့် ကျွန်ုပ်၏ဆာဗာကုဒ်တွင် ရှိနေသည်။ 4255 02:39:47,520 --> 02:39:50,479 ထည့်ပြီးတာနဲ့ သိမ်းထားလို့ရပါတယ်။ 4256 02:39:50,479 --> 02:39:52,960 ကျွန်ုပ်၏ backdoor code တွင်၊ 4257 02:39:52,960 --> 02:39:54,880 ဘာမှထပ်ထည့်မယ်မထင်ဘူး။ 4258 02:39:54,880 --> 02:39:56,960 function ကဒီအတိုင်းပဲကျန်နေခဲ့တယ်။ 4259 02:39:56,960 --> 02:39:59,280 အရာအားလုံးက အရင်အတိုင်းပါပဲ။ 4260 02:39:59,280 --> 02:40:01,040 တောက်လျှောက်သွားလျှင်လည်း၊ 4261 02:40:01,040 --> 02:40:03,120 အားလုံးလည်း အတူတူပဲ ဖြစ်သင့်တယ် ဒါကြောင့်မို့ပါ။ 4262 02:40:03,120 --> 02:40:06,160 ထို့ကြောင့် bootrun function ကိုသာ execute လုပ်ပါ။ 4263 02:40:06,160 --> 02:40:08,160 ၎င်းသည် elsif ထုတ်ပြန်ချက်၏ အစိတ်အပိုင်းဖြစ်သည်။ 4264 02:40:08,160 --> 02:40:10,399 backdoor ပရိုဂရမ်၏အတွင်းပိုင်း 4265 02:40:10,399 --> 02:40:12,160 ပြီးတော့ boot front function မဖြစ်သေးပါဘူး။ 4266 02:40:12,160 --> 02:40:14,560 လုံးဝပြောင်းလဲသွားတယ်။ 4267 02:40:14,560 --> 02:40:15,520 အဆင်ပြေပါတယ်။ 4268 02:40:15,520 --> 02:40:17,840 ဒါကြောင့် program ကို compile မလုပ်ခင် စကြရအောင် 4269 02:40:17,840 --> 02:40:20,240 အကြောင်းကြားရန် သေးငယ်သော မက်ဆေ့ခ်ျဘောက်စ်ကို ထည့်ပါ။ 4270 02:40:20,240 --> 02:40:22,319 ၎င်းတို့ ဟက်ခ်ခံရသော ပစ်မှတ် 4271 02:40:22,319 --> 02:40:24,880 ဒီတော့ ဘယ်မှာ ဘယ်လို ကုဒ်လုပ်မလဲ။ 4272 02:40:24,880 --> 02:40:26,880 ကောင်းပြီ ငါတို့က ငါတို့ရဲ့ ပင်မထဲကို သွားမယ်။ 4273 02:40:26,880 --> 02:40:29,840 function အားလုံးကို အောက်သို့ ရွှေ့ပါ။ 4274 02:40:29,840 --> 02:40:32,880 အမှန်တကယ် ချိတ်ဆက်မှု အောက်တွင် ရှိသည် 4275 02:40:32,880 --> 02:40:35,520 ပြီးတာနဲ့ ဒီ loop ကို execute လုပ်ပါ။ 4276 02:40:35,520 --> 02:40:37,920 မက်ဆေ့ချ်ဘောက်စ်ကြားတွင် ကုဒ်ပေးလိုပါသည်။ 4277 02:40:37,920 --> 02:40:40,880 ဤ function နှင့် shell ကိုချိတ်ဆက်ပါ။ 4278 02:40:40,880 --> 02:40:43,120 function ဆိုတော့ ကျွန်တော်တို့ တကယ်မဝင်ခင်ပေါ့။ 4279 02:40:43,120 --> 02:40:44,880 ကျွန်ုပ်တို့တောင်းဆိုလိုသော shell function ကို 4280 02:40:44,880 --> 02:40:47,359 အသုံးပြုသူသည် ၎င်းတို့၏ စက်ပစ္စည်းကို ဖောက်ထွင်းခံခဲ့ရသည်။ 4281 02:40:47,359 --> 02:40:49,279 အကယ်၍ သင်ရှိပါက ဤအရာသည် ရွေးချယ်ခွင့်တစ်ခုဖြစ်သည်။ 4282 02:40:49,279 --> 02:40:51,200 ဒါကို မလုပ်ချင်ဘူး။ 4283 02:40:51,200 --> 02:40:53,359 မနေနိုင်ရင် ပိုကောင်းမယ်။ 4284 02:40:53,359 --> 02:40:55,520 အမှန်တကယ်ရှိနေကြောင်း သုံးစွဲသူများအား အသိပေးပါ။ 4285 02:40:55,520 --> 02:40:57,840 ဟက်ခ်ခံရသော်လည်း ဤနည်းလမ်းကို သင်သုံးနိုင်သည်။ 4286 02:40:57,840 --> 02:40:59,760 သင်၏ထိုးဖောက်မှုစမ်းသပ်မှုများကိုလုပ်ဆောင်ရန် 4287 02:40:59,760 --> 02:41:00,960 သင်ပစ်မှတ်ကိုသက်သေပြပါ။ 4288 02:41:00,960 --> 02:41:03,600 သူတို့ကို အောင်မြင်စွာ hack နိုင်ခဲ့သည်။ 4289 02:41:03,600 --> 02:41:05,680 အဲဒီတော့ ရိုးရိုးရှင်းရှင်း လုပ်နိုင်ရင် ဘယ်လိုလုပ်မလဲ။ 4290 02:41:05,680 --> 02:41:08,640 message box မှာ ရိုက်ထည့်ပါ။ 4291 02:41:08,640 --> 02:41:10,800 ပထမအငြင်းအခုံသည် null ဖြစ်လိမ့်မည်။ 4292 02:41:10,800 --> 02:41:13,120 ဒုတိယအငြင်းအခုံသည် စာသားအမျိုးအစားဖြစ်လိမ့်မည်။ 4293 02:41:13,120 --> 02:41:15,439 ထိုငြင်းခုံမှု၏အတွင်းပိုင်းသည် 4294 02:41:15,439 --> 02:41:17,120 ကျွန်ုပ်တို့ထံပေးပို့သော အမှန်တကယ်သတင်းစကား 4295 02:41:17,120 --> 02:41:19,920 ပစ်မှတ်သည် ကျွန်ုပ်တို့၏ကိစ္စတွင် သင့်အား သတ်မှတ်ပေးပါမည်။ 4296 02:41:19,920 --> 02:41:21,439 စက်ကိရိယာ 4297 02:41:21,439 --> 02:41:24,399 ဖောက်ထွင်းခံခဲ့ရသည်။ 4298 02:41:24,399 --> 02:41:26,160 အာမေဋိတ်သုံးခု 4299 02:41:26,160 --> 02:41:28,720 ဒုတိယ အငြင်းအခုံ သို့မဟုတ် ခွင့်လွှတ်မှု ပေးခဲ့သည်။ 4300 02:41:28,720 --> 02:41:31,840 တတိယအငြင်းအခုံသည် အခြားစာသားအမျိုးအစားဖြစ်လိမ့်မည်။ 4301 02:41:31,840 --> 02:41:34,880 ၎င်းသည် အမှန်တကယ် ခေါင်းစီးအမည် ဖြစ်လိမ့်မည်။ 4302 02:41:34,880 --> 02:41:36,479 အချက်ပြရမယ့် ဝင်းဒိုး 4303 02:41:36,479 --> 02:41:38,720 ပစ်မှတ်က ငါဘာလဲဆိုတာ မင်းမြင်လိမ့်မယ်။ 4304 02:41:38,720 --> 02:41:40,479 ပြောချင်တာက ဒီမှာ ရိုက်ထည့်လိုက်ရုံပါပဲ။ 4305 02:41:40,479 --> 02:41:42,840 ဥပမာ windows 4306 02:41:42,840 --> 02:41:45,680 installer လုပ်ပြီး ဒီအတိုင်းထားလိုက်ပါ။ 4307 02:41:45,680 --> 02:41:46,800 ငါအားလုံး 4308 02:41:46,800 --> 02:41:49,040 ငါလုပ်စရာရှိတာက တကယ့်အစစ်အမှန်ကို ဖန်တီးဖို့ပဲ။ 4309 02:41:49,040 --> 02:41:51,439 ပစ်မှတ်ကို icon နှင့် ok ခလုတ် 4310 02:41:51,439 --> 02:41:53,040 နှိပ်နိုင်ပါလိမ့်မယ်။ 4311 02:41:53,040 --> 02:41:55,840 အဲဒါလုပ်ဖို့ mb လို့ ရိုက်ထည့်လိုက်မယ်။ 4312 02:41:55,840 --> 02:41:57,439 အမှတ်ကောင်းပါ။ 4313 02:41:57,439 --> 02:41:59,920 ၎င်းသည် ok ခလုတ်ကို ကိုယ်စားပြုသည်။ 4314 02:41:59,920 --> 02:42:01,920 စံပြတင်းပေါက်ဝင်းဒိုး 4315 02:42:01,920 --> 02:42:03,680 စံနှုန်းကိုလည်း သတ်မှတ်ပေးချင်ပါတယ်။ 4316 02:42:03,680 --> 02:42:06,800 အိုင်ကွန် error ဖြစ်တာကြောင့် ပိုက်ကို ရိုက်ထည့်ပါ။ 4317 02:42:06,800 --> 02:42:10,160 ဒေါင်လိုက်မျဉ်းပြီးရင် mb အောက်ကို အမှတ်ပေးပါ။ 4318 02:42:10,160 --> 02:42:12,399 icon အမှား 4319 02:42:12,399 --> 02:42:15,040 အဆုံးတွင် dot n ကော်မာ 4320 02:42:15,040 --> 02:42:17,279 ဒါကိုသိမ်းဖို့ ctrl o 4321 02:42:17,279 --> 02:42:20,000 ctrl x ကိုထွက်ပြီး နှစ်ခုလုံးကို compile လုပ်ကြည့်ရအောင် 4322 02:42:20,000 --> 02:42:22,319 ပရိုဂရမ်တွေကို နောက်တစ်ကြိမ်ထပ်လုပ်ပါ။ 4323 02:42:22,319 --> 02:42:23,120 ဒါကြောင့် 4324 02:42:23,120 --> 02:42:24,880 ငါဒီကိုသွားလျှင် 4325 02:42:24,880 --> 02:42:26,640 အရင် command တွေကို အရင်ရှာပါ။ 4326 02:42:26,640 --> 02:42:29,920 server အားလုံးကို compile လုပ်ပါ။ 4327 02:42:30,240 --> 02:42:32,160 ထို့နောက် program ကို a အဖြစ် compile လုပ်ပါ။ 4328 02:42:32,160 --> 02:42:34,479 finalproduct.exe 4329 02:42:34,479 --> 02:42:37,359 enter here ကိုနှိပ်ပါ။ 4330 02:42:38,080 --> 02:42:39,840 အခုပဲ လွှဲပေးတော့မယ်။ 4331 02:42:39,840 --> 02:42:42,880 အဲဒါကို စမ်းသပ်ဖို့အတွက် 4332 02:42:44,399 --> 02:42:47,520 ဒါကြောင့် ငါနောက်ဆုံးထုတ်ကုန်ကို ကူးယူမယ်။ 4333 02:42:47,520 --> 02:42:50,800 media root နဲ့ usb drive ထဲမှာ 4334 02:42:50,800 --> 02:42:53,990 usb drive ကိုဖြုတ်လိုက်ပါ။ 4335 02:42:53,990 --> 02:42:55,520 [ဂီတ] 4336 02:42:55,520 --> 02:42:57,600 ဒီမှာ ကျွန်တော်တို့ အဲဒါကို paste လုပ်မယ်။ 4337 02:42:57,600 --> 02:43:00,399 ကျွန်ုပ်တို့၏ desktop 4338 02:43:05,200 --> 02:43:08,240 ဒီမှာပါ 4339 02:43:08,240 --> 02:43:09,760 ယခု ကျွန်ုပ်တို့ ၎င်းကို လုပ်ဆောင်နိုင်ပြီဖြစ်သည်။ 4340 02:43:09,760 --> 02:43:11,920 ငါတို့မပြေးခင် ငါ့မှာ တကယ်ရှိတယ်။ 4341 02:43:11,920 --> 02:43:15,040 Task Manager ကိုဖွင့်ပြီး ကျွန်ုပ်၏ registry ကိုဖွင့်ပါ။ 4342 02:43:15,040 --> 02:43:17,760 တည်းဖြတ်ဖွင့်လို့ရှိရင် ဒီမှာကြည့်လို့ရတယ်။ 4343 02:43:17,760 --> 02:43:20,240 မှတ်ပုံတင်ရန်သော့မရှိပါ။ 4344 02:43:20,240 --> 02:43:23,200 ငါတို့ရဲ့ ပရိုဂရမ်က မလည်ပတ်ဘူး။ 4345 02:43:23,200 --> 02:43:25,680 Task manager ရဲ့အတွင်းပိုင်းကို နှစ်ဆရရင် 4346 02:43:25,680 --> 02:43:26,960 ၎င်းကိုနှိပ်ပါ။ 4347 02:43:26,960 --> 02:43:29,120 ကွပ်မျက်ခံရသည်နှင့်ကျွန်ုပ်တို့၌၎င်းကိုရှာဖွေကြကုန်အံ့ 4348 02:43:29,120 --> 02:43:31,920 အလုပ်မန်နေဂျာ 4349 02:43:34,160 --> 02:43:36,960 ဒီတော့ ဒါက နောက်ဆုံးထုတ်ကုန် 32-bit ပါ။ 4350 02:43:36,960 --> 02:43:39,600 register key မဖန်တီးရသေးပါ။ 4351 02:43:39,600 --> 02:43:42,399 ကျွန်ုပ်တို့၏ဆာဗာကိုစတင်ကြပါစို့ 4352 02:43:42,399 --> 02:43:44,479 ငါသွားလျှင်ဤအမှားကိုသင်ကြားလိမ့်မည်။ 4353 02:43:44,479 --> 02:43:47,040 သင်ဤဝင်းဒိုးကိုပြန်သတိပေးလိမ့်မည်။ 4354 02:43:47,040 --> 02:43:49,359 windows installer မင်းရဲ့ device ပြီးပြီ။ 4355 02:43:49,359 --> 02:43:50,479 ဖောက်ထွင်းခံရသည်။ 4356 02:43:50,479 --> 02:43:52,560 x ကိုနှိပ်နိုင်သလို ကလစ်နှိပ်နိုင်ပါတယ်။ 4357 02:43:52,560 --> 02:43:53,600 အိုကေ 4358 02:43:53,600 --> 02:43:56,080 ဒီတော့ ဒါက ပျော်စရာလေးတစ်ခုပဲ။ 4359 02:43:56,080 --> 02:43:57,840 မလုပ်ရင် အဲဒါလုပ်ဖို့ မလိုဘူး။ 4360 02:43:57,840 --> 02:43:58,880 လိုချင်တယ်။ 4361 02:43:58,880 --> 02:44:00,560 ငါ့ရဲ့ kill linux ကို ပြန်သွားရင် 4362 02:44:00,560 --> 02:44:02,479 စက်နှင့် command ကို execute 4363 02:44:02,479 --> 02:44:05,120 အရာအားလုံးက ပုံမှန်အားဖြင့် ipconfig အလုပ်လုပ်ပါလိမ့်မယ်။ 4364 02:44:05,120 --> 02:44:06,800 သူတို့ ip address ပေးမယ်။ 4365 02:44:06,800 --> 02:44:09,200 command နဲ့ directory ပေးပါလိမ့်မယ်။ 4366 02:44:09,200 --> 02:44:12,160 လိုချင်ရင် ဆက်ပြေးနိုင်ပါတယ်။ 4367 02:44:12,160 --> 02:44:14,720 ဤနေရာကို နှိပ်၍ တုံ့ပြန်ချက်ကို ယခု ကျွန်ုပ်တို့ ရရှိပါသည်။ 4368 02:44:14,720 --> 02:44:17,040 ဒါကို မြဲမြံအောင် ဖန်တီးပါလို့ ပြောတယ်။ 4369 02:44:17,040 --> 02:44:20,160 ငါ့ရဲ့ registry ကို ရောက်သွားရင် ငါတို့ကို refresh လုပ်လိုက်ပါ။ 4370 02:44:20,160 --> 02:44:22,800 စွဲမြဲစွာဖန်တီးထားသည်ကို တွေ့မြင်နိုင်သည်။ 4371 02:44:22,800 --> 02:44:25,040 registry key နဲ့ value ကိုတွေ့နိုင်ပါတယ်။ 4372 02:44:25,040 --> 02:44:26,560 ငါတို့ရဲ့ နောက်ကွယ်မှာ 4373 02:44:26,560 --> 02:44:29,279 ပြီးတော့ တခြား တစ်ကြိမ်လည်း ထပ်ပြီး execute လုပ်နိုင်ပါတယ်။ 4374 02:44:29,279 --> 02:44:30,840 လိုချင်ရင် အမိန့်ပေးတယ်။ 4375 02:44:30,840 --> 02:44:32,720 သို့ 4376 02:44:32,720 --> 02:44:34,720 directory ကိုလည်းပြောင်းပါ။ 4377 02:44:34,720 --> 02:44:37,439 ဒါကြောင့် အရာအားလုံး ပြီးပြည့်စုံသွားပါပြီ။ 4378 02:44:37,439 --> 02:44:39,439 ကျွန်ုပ်တို့၏ တံခါးပေါက်မှာ ပြီးသွားပါပြီ။ 4379 02:44:39,439 --> 02:44:41,279 နောက် video မှာ သင်ဘယ်လိုလုပ်နိုင်တယ်ဆိုတာ ပြပေးမယ်။ 4380 02:44:41,279 --> 02:44:43,040 ၎င်းကို သိရှိနိုင်မှု နည်းပါးစေသည်။ 4381 02:44:43,040 --> 02:44:44,560 ဗိုင်းရပ်စ်များ 4382 02:44:44,560 --> 02:44:46,319 အခုပဲ windows ကို သတိထားမိရင် 4383 02:44:46,319 --> 02:44:48,640 နောက်ခံလူ နောက်ဆုံးဗားရှင်းကို ရှာမတွေ့ပါ။ 4384 02:44:48,640 --> 02:44:50,560 သူ့မှာ Antivirus မရှိဘူးဆိုတော့ မလုပ်နိုင်ဘူး။ 4385 02:44:50,560 --> 02:44:52,800 ဒါ​ပေမယ့်​ ကျွန်​​တော်​ ဒီမှာ တကယ်​ကို ပြ​နေတယ်​ 4386 02:44:52,800 --> 02:44:54,479 နောက် video နှစ်ခုမှာ ပြပေးပါမယ်။ 4387 02:44:54,479 --> 02:44:56,240 ကွဲပြားခြားနားသောနည်းပညာများကိုသင်အသုံးပြုနိုင်ပါသည်။ 4388 02:44:56,240 --> 02:44:58,720 Antivirus အများစုကို ကျော်ဖြတ်ပါ။ 4389 02:44:58,720 --> 02:45:00,960 ဒါကြောင့် ငါမင်းကိုတွေ့ပြီး ဂရုစိုက်ဖို့မျှော်လင့်ပါတယ်။ 4390 02:45:00,960 --> 02:45:02,000 နှုတ်ဆက်ပါတယ်။ 4391 02:45:02,000 --> 02:45:03,200 နှုတ်ဆက်ပါတယ်။ 4392 02:45:03,200 --> 02:45:05,840 အားလုံးကို ကြိုဆိုပြီး ဘယ်လိုပုံစံလဲ ကြည့်လိုက်ရအောင် 4393 02:45:05,840 --> 02:45:08,000 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ malware များကို အသွင်တူအောင် ဖုံးကွယ်ထားနိုင်သည်။ 4394 02:45:08,000 --> 02:45:09,920 အခြားဖိုင်အမျိုးအစား 4395 02:45:09,920 --> 02:45:12,560 ဒီတော့ ငါတို့ ဘယ်လို အသွင်ပြောင်းနိုင်မလဲ ဆိုတာ ငါတို့ မြင်ပြီးပြီ။ 4396 02:45:12,560 --> 02:45:15,439 ကျွန်ုပ်တို့၏ malware တစ်ခုအပါအဝင် exe ဖိုင်တစ်ခုဖြစ်သည်။ 4397 02:45:15,439 --> 02:45:17,600 ကျွန်ုပ်တို့ သင်တန်းအစတွင် ပုံ 4398 02:45:17,600 --> 02:45:19,439 ဤတွင်ကျွန်ုပ်တို့အသုံးပြုခဲ့သောဖိုင်သုံးခု 4399 02:45:19,439 --> 02:45:21,600 ပုံတစ်ပုံနှင့် အိုင်ကွန်တို့ဖြစ်သည်။ 4400 02:45:21,600 --> 02:45:24,960 ပုံကိုယ်တိုင်နှင့် ဟုတ်ပါတယ်၊ ကျွန်ုပ်တို့၏ malware 4401 02:45:24,960 --> 02:45:27,680 ကျွန်တော်တို့ ဒီဝဘ်ဆိုဒ်ကို ဒီမှာသုံးတယ်။ 4402 02:45:27,680 --> 02:45:29,680 iconconvert.com 4403 02:45:29,680 --> 02:45:32,800 ကျွန်ုပ်တို့၏ jpeg ပုံကို ico ဖိုင်သို့ ပြောင်းရန် 4404 02:45:32,800 --> 02:45:34,800 ထို့ကြောင့် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့နှင့် တူညီသောအိုင်ကွန်ရှိနိုင်သည်။ 4405 02:45:34,800 --> 02:45:36,080 ပုံ 4406 02:45:36,080 --> 02:45:37,840 ဒါပေမယ့် အခု ငါတို့ ဘယ်လိုလုပ်နိုင်လဲ ကြည့်ရအောင် 4407 02:45:37,840 --> 02:45:40,560 အခြားဖိုင်အမျိုးအစားများကိုဖန်တီးပါ။ 4408 02:45:40,560 --> 02:45:41,680 ဒါကြောင့် 4409 02:45:41,680 --> 02:45:44,319 ဒီမှာ ငါတို့မှာ exe ဖိုင်ရှိတယ်။ 4410 02:45:44,319 --> 02:45:46,640 pdf တစ်ခုကို ဖန်တီးချင်တယ် ဆိုကြပါစို့ 4411 02:45:46,640 --> 02:45:48,080 ဖိုင်ကိုထုတ်လိုက်ပါ။ 4412 02:45:48,080 --> 02:45:51,200 ငါ့ဖိုင်တွေကို ငါရောက်သွားရင် ဒီမှာ 4413 02:45:51,200 --> 02:45:53,840 နှင့် icon များ 4414 02:45:53,840 --> 02:45:56,000 တင်ပြချက်အစီရင်ခံစာ pdf ရှိပါမည်။ 4415 02:45:56,000 --> 02:45:59,040 ထိုးဖောက်စမ်းသပ်မှုအချို့ကိုဖွင့်သည့်ဖိုင် 4416 02:45:59,040 --> 02:46:01,760 တင်ပြချက် အစီရင်ခံစာကို ဖွင့်ကြည့်လိုက်ပါ။ 4417 02:46:01,760 --> 02:46:03,840 သတ္တိ 4418 02:46:03,840 --> 02:46:05,760 ဤတွင်၎င်းသည်၎င်း၏ပုံသဏ္ဌာန်ဖြစ်သည်။ 4419 02:46:05,760 --> 02:46:07,760 အင်တာနက်ကနေ ဒေါင်းလုဒ်လုပ်ထားတာပါ။ 4420 02:46:07,760 --> 02:46:10,000 အဲဒါကို ကျွန်တော်တို့ရဲ့ malware အဖြစ် သုံးတော့မယ်။ 4421 02:46:10,000 --> 02:46:11,760 ကျွန်ုပ်တို့၏ malware ကို ဖန်တီးပါမည်။ 4422 02:46:11,760 --> 02:46:14,000 pdf ဖိုင်တစ်ခုရရန် ဤ pdf ဖိုင်ကိုဖွင့်ပါ။ 4423 02:46:14,000 --> 02:46:17,120 icon နှင့်ကျွန်ုပ်တို့၏ backdoor ကိုစတင်ရန် 4424 02:46:17,120 --> 02:46:18,479 နောက်ခံ 4425 02:46:18,479 --> 02:46:20,399 တစ်ခုရှိတာကို ငါတို့ဘယ်လိုလုပ်ရမလဲ ကြည့်ရအောင် 4426 02:46:20,399 --> 02:46:23,040 iconfinder ဟုခေါ်သော ဝဘ်ဆိုဒ် 4427 02:46:23,040 --> 02:46:25,439 အခမဲ့အိုင်ကွန်အချို့ရှိသည်။ 4428 02:46:25,439 --> 02:46:27,040 ဒါလေးကိုနှိပ်ရင်ဒေါင်းလို့ရပါတယ်။ 4429 02:46:27,040 --> 02:46:29,200 ဝဘ်ဆိုဒ် 4430 02:46:29,200 --> 02:46:31,840 ကျွန်ုပ်တို့၏ အိုင်ကွန်များကို ရှာဖွေရန် ကျွန်ုပ်အား ပြောပြပါမည်။ 4431 02:46:31,840 --> 02:46:33,600 ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ malware ကိုကြည့်ရှုလိုသောကြောင့်ဖြစ်သည်။ 4432 02:46:33,600 --> 02:46:35,520 pdf ဖိုင်တစ်ခုလို ကျွန်တော်တို့ ရိုက်ထည့်တော့မယ်။ 4433 02:46:35,520 --> 02:46:38,160 ဒီမှာ pdf ပါ။ 4434 02:46:38,160 --> 02:46:41,439 ငါတို့က ဒီမှာ အခမဲ့ သွားချင်တယ်။ 4435 02:46:41,439 --> 02:46:43,760 ဤသည်မှာ အခမဲ့ pdf အိုင်ကွန်များ အားလုံးဖြစ်သည်။ 4436 02:46:43,760 --> 02:46:45,840 ဒေါင်းလုဒ်လုပ်ပြီး အသုံးပြုနိုင်ပါတယ်။ 4437 02:46:45,840 --> 02:46:47,600 အခုအချိန်မှာ အဲဒါတွေ တစ်ခုခုကို သုံးလို့ရတယ်။ 4438 02:46:47,600 --> 02:46:49,920 ငါတို့လိုချင်ပေမယ့် ဥပမာနဲ့ သွားကြည့်ရအောင် 4439 02:46:49,920 --> 02:46:51,279 ဒီတစ်ခု 4440 02:46:51,279 --> 02:46:54,080 ဒါကြောင့် ဒီ pdf အစစ်အမှန်ကို သင်သတိထားမိပါလိမ့်မယ်။ 4441 02:46:54,080 --> 02:46:56,560 cfg အနေဖြင့်သော်လည်းကောင်းဒေါင်းလုဒ်လုပ်ရန်လာပါသည်။ 4442 02:46:56,560 --> 02:46:58,160 သို့မဟုတ် spng 4443 02:46:58,160 --> 02:46:59,520 ဒါဆို download this ကိုနှိပ်လိုက်ပါမယ်။ 4444 02:46:59,520 --> 02:47:01,120 png 4445 02:47:01,120 --> 02:47:02,960 ဘယ်မှာသိမ်းချင်လဲလို့မေးလိမ့်မယ်။ 4446 02:47:02,960 --> 02:47:06,000 ကျွန်ုပ်၏ဒက်စ်တော့ပေါ်တွင်ပြောပါမည်။ 4447 02:47:06,000 --> 02:47:08,479 png ကို အမှန်တကယ် သိမ်းဆည်းထားသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။ 4448 02:47:08,479 --> 02:47:09,520 ပုံ 4449 02:47:09,520 --> 02:47:12,240 ထို့ကြောင့် ဤဖိုင်ကို ကျွန်ုပ်တို့အတွက် အသုံးမပြုနိုင်ပါ။ 4450 02:47:12,240 --> 02:47:13,279 အိုင်ကွန် 4451 02:47:13,279 --> 02:47:15,120 ငါတို့က ငါတို့ကိုသုံးပြီး အဲဒါကို ပြောင်းရမယ်။ 4452 02:47:15,120 --> 02:47:17,359 converter ဖြစ်တဲ့အတွက်ကြောင့် ဖိုင်တစ်ခုကို မှန်မှန်ကန်ကန် ရွေးပါမယ်။ 4453 02:47:17,359 --> 02:47:20,160 ဒီမှာ 4454 02:47:20,160 --> 02:47:23,359 ဤနေရာတွင် ကျွန်ုပ်တို့၏ pdf icon ကိုရှာပါ။ 4455 02:47:23,359 --> 02:47:25,920 upload လုပ်ပါ။ 4456 02:47:26,000 --> 02:47:29,760 64 x 64 ကိုရွေးပြီး အောက်ကိုဆင်းပါ။ 4457 02:47:29,760 --> 02:47:32,319 ico သို့ပြောင်းပါ။ 4458 02:47:32,319 --> 02:47:34,640 ငါတို့သွားပြီးတော့ မင်းရဲ့အိုင်ကွန်တွေကို ဒေါင်းလုဒ်လုပ်မယ်။ 4459 02:47:34,640 --> 02:47:37,760 ၎င်းကိုကျွန်ုပ်တို့၏ desktop ပေါ်တွင်သိမ်းဆည်းလိမ့်မည်။ 4460 02:47:37,760 --> 02:47:39,920 ဒီတော့ ဒါက ငါတို့ရဲ့အိုင်ကွန်က အောင်မြင်သွားပြီ 4461 02:47:39,920 --> 02:47:41,760 ဒေါင်းလုဒ်လုပ်ပြီး အခုပဲ ကျွန်တော်တို့ လုပ်နိုင်ပါပြီ။ 4462 02:47:41,760 --> 02:47:43,439 ကျွန်ုပ်တို့၏ဖိုင်ကိုဖန်တီးပါ။ 4463 02:47:43,439 --> 02:47:45,279 ဒါကြောင့် ဒီနေရာမှာ ကျွန်တော်တို့ လိုအပ်တာတစ်ခုရှိတယ်။ 4464 02:47:45,279 --> 02:47:47,359 ကျွန်ုပ်တို့လိုအပ်သော ဒုတိယအချက် 4465 02:47:47,359 --> 02:47:50,960 ငါတို့လိုအပ်သောတတိယအရာ 4466 02:47:51,200 --> 02:47:53,200 ဒီတော့ ဘယ်ဟာကို ဒီမှာ စစ်ဆေးကြည့်ရအောင် 4467 02:47:53,200 --> 02:47:55,840 ဖိုင်အမျိုးအစားက ဒီလိုပါ။ 4468 02:47:55,840 --> 02:47:57,359 ဒါက Ico ဆိုတော့ ဒါက ကျွန်တော်တို့ ဖြစ်နေတယ်။ 4469 02:47:57,359 --> 02:47:59,520 ဒီနှစ်ခုကို ရွေးသုံးကြည့်ရအောင် 4470 02:47:59,520 --> 02:48:02,399 ဖိုင်များထည့်၍ archive ကိုနှိပ်ပါ။ 4471 02:48:02,399 --> 02:48:04,399 ဒါကြောင့် ဒီအတွက် နောက်တစ်ကြိမ် သင်လိုအပ်ပါလိမ့်မယ်။ 4472 02:48:04,399 --> 02:48:06,640 winrar သွင်းပြီးပါပြီ။ 4473 02:48:06,640 --> 02:48:08,240 ဒါဆို ခေါ်ကြရအောင် 4474 02:48:08,240 --> 02:48:11,240 report.pdf.exe 4475 02:48:11,359 --> 02:48:13,359 အလိုအလျောက်မြင်ရလိမ့်မည်။ 4476 02:48:13,359 --> 02:48:16,080 ဤနေရာတွင် sfx archive ကိုဖန်တီးပြီးစစ်ဆေးပါ။ 4477 02:48:16,080 --> 02:48:19,920 ကျွန်ုပ်တို့သည် အဆင့်မြင့် sfx ရွေးချယ်မှုများသို့ သွားပါမည်။ 4478 02:48:19,920 --> 02:48:22,319 ဤနေရာတွင် setup type ကိုသွားပါ။ 4479 02:48:22,319 --> 02:48:23,920 တကယ်လိုချင်တဲ့ဖိုင်ထဲက 4480 02:48:23,920 --> 02:48:25,840 အရင်ဆုံး execute လုပ်ပါ။ 4481 02:48:25,840 --> 02:48:27,760 ဒါကို မလုပ်ခင် ငါ ဒါကို ရွှေ့မယ်။ 4482 02:48:27,760 --> 02:48:29,359 ပြတင်းပေါက် 4483 02:48:29,359 --> 02:48:32,160 ဤဖိုင်၏အမည်ကိုကော်ပီကူးယူဒါကြောင့်ထိန်းချုပ် c 4484 02:48:32,160 --> 02:48:34,479 ကူးယူရန် 4485 02:48:34,479 --> 02:48:36,880 အခု ကျွန်တော် sfx options ကိုသွားမယ်။ 4486 02:48:36,880 --> 02:48:38,000 တည်ဆောက်သည် 4487 02:48:38,000 --> 02:48:39,439 နာမည်ကို paste လုပ်ပါ။ 4488 02:48:39,439 --> 02:48:41,279 add.pdf 4489 02:48:41,279 --> 02:48:43,120 ပြီးတော့ ငါတို့လိုချင်တဲ့ နောက်တစ်ခု 4490 02:48:43,120 --> 02:48:45,040 execute သည် နောက်ဆုံးဖြစ်သည်။ 4491 02:48:45,040 --> 02:48:48,720 ထုတ်ကုန် dot exe 4492 02:48:48,960 --> 02:48:51,279 အိုကေ ဒါဆို ငါတို့လိုချင်တဲ့ Modes အောက်မှာ ကလစ်လိုက်ပါ။ 4493 02:48:51,279 --> 02:48:53,439 unpack ပေါ်မှာ ယာယီ folder နဲ့ ကျွန်တော်တို 4494 02:48:53,439 --> 02:48:55,600 hide all ကိုလည်း စစ်ဆေးစေချင်ပါတယ်။ 4495 02:48:55,600 --> 02:48:56,880 အဆင့်မြင့်တဲ့အောက်မှာ ဘာမှမရှိဘူး။ 4496 02:48:56,880 --> 02:48:58,560 တကယ်လုပ်ဖို့လိုတယ်။ 4497 02:48:58,560 --> 02:49:01,359 ဒီတော့ ဒီ module ကိုသွားကြည့်ရအောင် 4498 02:49:01,359 --> 02:49:04,399 လိုင်စင်စာသားနဲ့ အိုင်ကွန်မှာ ဘာမှမရှိပါဘူး။ 4499 02:49:04,399 --> 02:49:07,040 load sfx icon အောက်တွင် ကျွန်ုပ်တို့သည် file မှနေ၍ 4500 02:49:07,040 --> 02:49:10,960 browse ကိုနှိပ်ချင်ရင် ကျွန်တော်တို့ရဲ့ icon ကိုရွေးပါ။ 4501 02:49:10,960 --> 02:49:13,120 update ကိုသွားပြီး Extract ကိုနှိပ်ပါ။ 4502 02:49:13,120 --> 02:49:15,040 ဖိုင်များကို အပ်ဒိတ်လုပ်ပြီး နှိပ်ပါ။ 4503 02:49:15,040 --> 02:49:17,279 ဖိုင်အားလုံးကို overwrite လုပ်ပါ။ 4504 02:49:17,279 --> 02:49:19,200 အားလုံးသတ်မှတ်ပြီးရင် နှိပ်လို့ရပါတယ်။ 4505 02:49:19,200 --> 02:49:21,359 ဒီမှာ ok နဲ့ ငါတို့လည်း ဒီမှာနှိပ်လို့ရပါတယ်။ 4506 02:49:21,359 --> 02:49:23,200 အိုကေ 4507 02:49:23,200 --> 02:49:24,880 စက္ကန့်အနည်းငယ်အတွင်း ကျွန်ုပ်တို့ ဤအရာကို ရရှိမည်ဖြစ်သည်။ 4508 02:49:24,880 --> 02:49:27,600 အိုင်ကွန်ပါရှိမည့် pdf ဖိုင်ကို သတင်းပို့ပါ။ 4509 02:49:27,600 --> 02:49:29,439 ကျွန်ုပ်တို့ ဒေါင်းလုဒ်လုပ်ထားသည့်အရာနှင့် မည်သည့်အရာများ ပါမည်နည်း။ 4510 02:49:29,439 --> 02:49:32,560 report.pdf ဟုခေါ်သည်။ 4511 02:49:32,560 --> 02:49:36,080 အကယ်၍ ကျွန်ုပ်တို့သည် ကျွန်ုပ်၏တာဝန်မန်နေဂျာကို စတင်ပါက၊ 4512 02:49:36,880 --> 02:49:38,560 ကျွန်ုပ်တို့၏ ပရိုဂရမ်ရှိမရှိ စစ်ဆေးပါမည်။ 4513 02:49:38,560 --> 02:49:40,560 နောက်ခံမှာ စတင်ခဲ့တာဆိုတော့ ကျွန်တော်တို့ 4514 02:49:40,560 --> 02:49:42,560 kelly linux ကိုသုံးစရာမလိုပါဘူး။ 4515 02:49:42,560 --> 02:49:44,479 ဒါကြောင့် အခုအချိန်မှာ နောက်ဆုံးထုတ်ကုန် မရှိပါဘူး။ 4516 02:49:44,479 --> 02:49:48,160 နောက်ခံတွင်လည်ပတ်နေသည်။ 4517 02:49:49,040 --> 02:49:50,960 ဒါပေမယ့် ဒီဖိုင်ကို နှစ်ချက်နှိပ်လိုက်ရင် အဲဒါကို 4518 02:49:50,960 --> 02:49:53,200 pdf ဖိုင်ကို ကျွန်တော်တို့ ဖွင့်သင့်တယ်။ 4519 02:49:53,200 --> 02:49:55,439 embedded malware ထဲဝင်ပြီး ဒီမှာ ငါတို့တွေ့နိုင်တယ်။ 4520 02:49:55,439 --> 02:49:57,840 ဒီမှာဖွင့်နေတယ်။ 4521 02:49:57,840 --> 02:49:59,600 pdf ဖိုင် အောင်မြင်သွားပါပြီ။ 4522 02:49:59,600 --> 02:50:01,840 ဖွင့်ထားလို့ အခုချက်ချင်း ပိတ်လိုက်ရတယ်။ 4523 02:50:01,840 --> 02:50:04,640 ကျွန်ုပ်တို့၏ malware လည်း လည်ပတ်နေသလား ကြည့်ရအောင် 4524 02:50:04,640 --> 02:50:07,439 ဤတွင်၎င်းသည်နောက်ဆုံးထုတ်ကုန် 32-bit ဖြစ်သည်။ 4525 02:50:07,439 --> 02:50:09,520 နောက်ခံတွင်ပြေး 4526 02:50:09,520 --> 02:50:11,760 နောက်တစ်ကြိမ်တွင် မည်သည့်အရာကိုမျှ ပြသခြင်းမရှိပါ။ 4527 02:50:11,760 --> 02:50:13,760 ပစ်မှတ် ဒက်စ်တော့ 4528 02:50:13,760 --> 02:50:16,800 ဒါကြောင့် ဒါကို ပိတ်လိုက်ကြရအောင် 4529 02:50:17,920 --> 02:50:20,080 နောက်တစ်ခုက သင်လုပ်နိုင်တဲ့ အရာပါ။ 4530 02:50:20,080 --> 02:50:22,160 သင်တကယ်အသုံးဝင်နိုင်တယ်ဆိုရင် 4531 02:50:22,160 --> 02:50:24,399 ပစ်မှတ်စက်သို့ဝင်ရောက်ခွင့်ရှိသည်။ 4532 02:50:24,399 --> 02:50:26,399 google chrome ကို ဖန်တီးနိုင်ပါတယ်။ 4533 02:50:26,399 --> 02:50:28,240 ဒီ malware ကြောင့် chrome တစ်ခု လိုအပ်ပါလိမ့်မယ်။ 4534 02:50:28,240 --> 02:50:31,279 ဒါမှမဟုတ် firefox shortcut နဲ့ ကျွန်တော့်မှာ အခွင့်အရေးတစ်ခုရှိတယ်။ 4535 02:50:31,279 --> 02:50:32,479 ဒီမှာ 4536 02:50:32,479 --> 02:50:35,200 သိမ်းထားတဲ့နေရာကို ရှာကြည့်ရအောင် 4537 02:50:35,200 --> 02:50:37,200 အိုကေ ဒါဆို အိုင်ကွန်တွေမှာ ဖြစ်နိုင်ပါတယ်။ 4538 02:50:37,200 --> 02:50:39,439 ဒီမှာ ၊ ဒီမှာ ငါ့ Chrome 4539 02:50:39,439 --> 02:50:42,560 ဖြတ်လမ်းလင့်ခ်ကို ကျွန်ုပ်၏ဒက်စ်တော့တွင် ကူးထည့်ပါမည်။ 4540 02:50:42,560 --> 02:50:44,240 ငါလုပ်ဖို့လိုအပ်သမျှ 4541 02:50:44,240 --> 02:50:46,880 ကျွန်ုပ်၏ iconfinder ဝဘ်ဆိုက်သို့ သွားရန်လိုအပ်ပါသလား။ 4542 02:50:46,880 --> 02:50:48,240 ဒီမှာရိုက်ပါ။ 4543 02:50:48,240 --> 02:50:50,720 chrome 4544 02:50:50,720 --> 02:50:52,960 free ကိုနှိပ်ပြီး ကြိုက်နှစ်သက်ရာကို ရွေးချယ်နိုင်ပါတယ်။ 4545 02:50:52,960 --> 02:50:55,680 သင်လိုချင်သော chrome အိုင်ကွန် 4546 02:50:55,680 --> 02:50:58,080 အနက်ရောင်က အပြာရောင်နဲ့ သင်လား။ 4547 02:50:58,080 --> 02:51:00,080 ပုံမှန်သွားလို့ရပါတယ်။ 4548 02:51:00,080 --> 02:51:02,240 ဒီတော့ ငါတို့က သာမာန်တစ်ခုနဲ့ သွားမယ်။ 4549 02:51:02,240 --> 02:51:03,920 ဒါက ဒီတစ်ခုလား ဒါလား ငါမသိဘူး။ 4550 02:51:03,920 --> 02:51:05,760 တစ်ခု၊ ဒါပေမယ့် တကယ်အရေးမကြီးပါဘူး။ 4551 02:51:05,760 --> 02:51:08,000 အဲဒီထဲက တစ်ခုခုကို နှိပ်ပြီး ဒေါင်းလုဒ်လုပ်ပါ။ 4552 02:51:08,000 --> 02:51:09,840 png 4553 02:51:09,840 --> 02:51:13,040 သင်၏ desktop ပေါ်တွင်သိမ်းဆည်းပါ။ 4554 02:51:13,840 --> 02:51:16,000 icon converter သို့သွားပါ။ 4555 02:51:16,000 --> 02:51:19,439 ဖိုင်တစ်ခုကို ရွေးပြီး အပေါ်ဘက်အထိ ဆွဲချလိုက်ပါ။ 4556 02:51:19,439 --> 02:51:22,560 ဤသည်မှာ ကျွန်ုပ်တို့၏အိုင်ကွန် သို့မဟုတ် png ပုံရိပ်ဖြစ်သည်။ 4557 02:51:22,560 --> 02:51:24,800 ဖန်တီးချင်တဲ့ icon ကို ရွေးလိုက်ရအောင် 4558 02:51:24,800 --> 02:51:27,600 အဲဒါကို တင်တယ်။ 4559 02:51:27,600 --> 02:51:31,120 64 x64 သို့သွားပါ ၎င်းကိုသတ်မှတ်ထားပြီးဖြစ်သည်။ 4560 02:51:31,120 --> 02:51:33,600 ico ကိုပြောင်းပါ။ 4561 02:51:33,600 --> 02:51:36,399 Download your icons ကိုနှိပ်လိုက်ကြရအောင် 4562 02:51:36,399 --> 02:51:38,560 ၎င်းကို desktop ပေါ်တွင်လည်းသိမ်းဆည်းပါ။ 4563 02:51:38,560 --> 02:51:41,439 ငါတို့ရှိသမျှသည် သွားကြပြီ။ 4564 02:51:41,439 --> 02:51:43,680 အခုလုပ်စရာတွေ ကျန်သေးတယ်။ 4565 02:51:43,680 --> 02:51:45,120 icon လေးပါ။ 4566 02:51:45,120 --> 02:51:47,279 ကျွန်ုပ်တို့သည် chrome ဖြတ်လမ်းကို ရွေးရန် လိုအပ်သည်။ 4567 02:51:47,279 --> 02:51:50,479 နှင့် နောက်ဆုံးထုတ်ကုန် ဖြတ်လမ်း 4568 02:51:50,479 --> 02:51:53,120 add to archive ကိုသွားပါ။ 4569 02:51:53,120 --> 02:51:54,960 အရင်ကလို chrome လို့ ခေါ်ရအောင် 4570 02:51:54,960 --> 02:51:58,560 c dot exe ဖြင့် 4571 02:51:58,560 --> 02:52:00,319 ငါတို့သည် ရှေ့သို့သွား၍၊ 4572 02:52:00,319 --> 02:52:02,000 အလိုအလျောက် စစ်ဆေးပေးမည်ကို သတိပြုမိပါလိမ့်မည်။ 4573 02:52:02,000 --> 02:52:04,319 ကျွန်ုပ်တို့မလုပ်သော်လည်း sfx archive ကိုဖန်တီးပါ။ 4574 02:52:04,319 --> 02:52:07,520 exe မှလွဲ၍ အခြား extension များရှိသည်။ 4575 02:52:07,520 --> 02:52:09,359 ဒီတော့ အဆင့်မြင့်ကို သွားကြည့်ရအောင် 4576 02:52:09,359 --> 02:52:11,840 sfx ရွေးစရာများအဖြစ် အရာအားလုံးကို သတ်မှတ်ပါ။ 4577 02:52:11,840 --> 02:52:12,960 အရင်က 4578 02:52:12,960 --> 02:52:15,040 ပထမဦးဆုံး chrome ကိုစတင်လိုပါသည်။ 4579 02:52:15,040 --> 02:52:16,560 dot exe 4580 02:52:16,560 --> 02:52:20,240 ထို့နောက် နောက်ဆုံးထုတ်ကုန်ကို စတင်လိုပါသည်။ 4581 02:52:20,240 --> 02:52:21,840 dot exe 4582 02:52:21,840 --> 02:52:23,439 အခြားအရာအားလုံးကို ကျွန်ုပ်တို့ သတ်မှတ်ပါမည်။ 4583 02:52:23,439 --> 02:52:26,080 အရင်က 4584 02:52:26,640 --> 02:52:30,080 စာသားနှင့် သင်္ကေတသည် သင်၏ chrome အိုင်ကွန်ကို ရွေးချယ်ပါ။ 4585 02:52:30,080 --> 02:52:32,800 update extract overwrite on here ကိုနှိပ်ပါ။ 4586 02:52:32,800 --> 02:52:33,680 အိုကေ 4587 02:52:33,680 --> 02:52:35,600 နောက်တစ်ကြိမ် ok 4588 02:52:35,600 --> 02:52:38,479 ဤနေရာတွင် ကျွန်ုပ်တို့၏ chrome malware ရှိသည်။ 4589 02:52:38,479 --> 02:52:40,399 ယခု သင်လုပ်နိုင်သည်မှာ သင်ယူနိုင်ပြီဖြစ်သည်။ 4590 02:52:40,399 --> 02:52:42,800 ဒီ row Malware ထဲမှာ ထည့်လိုက်ပါ။ 4591 02:52:42,800 --> 02:52:45,359 Taskbar ရှိရင် အခုလုပ်နိုင်ပါတယ်။ 4592 02:52:45,359 --> 02:52:47,520 ပစ်မှတ်စက်သို့ဝင်ရောက်ခွင့် 4593 02:52:47,520 --> 02:52:49,120 အစစ်အမှန် google ကို ပင်ဖြုတ်မည်လား။ 4594 02:52:49,120 --> 02:52:50,880 chrome ဒီမှာ 4595 02:52:50,880 --> 02:52:52,319 ပြီးမှ ပစ်မှတ်ကို ပြန်ရောက်သွားတယ်။ 4596 02:52:52,319 --> 02:52:54,319 သူတို့စက်ကို သူတို့သွားချင်တာ 4597 02:52:54,319 --> 02:52:57,040 internet က google chrome ကို နှိပ်တယ်။ 4598 02:52:57,040 --> 02:52:58,800 google chrome က အရာအားလုံးကို ဖွင့်ပေးတယ်။ 4599 02:52:58,800 --> 02:53:01,359 ပုံမှန်အားဖြင့် chrome ဖွင့်နေပုံရသည်။ 4600 02:53:01,359 --> 02:53:03,439 အကယ်၍ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏တာဝန်မန်နေဂျာထံသို့ သွားပါ။ 4601 02:53:03,439 --> 02:53:05,279 ဤနေရာတွင် ကျွန်ုပ်တို့ သတိပြုမိနိုင်ပါသည်။ 4602 02:53:05,279 --> 02:53:08,399 နောက်ခံတွင် ကျွန်ုပ်တို့၏ malware သည် လည်ပတ်နေပါသည်။ 4603 02:53:08,399 --> 02:53:11,439 ဒီတော့ ဒါက နောက်ဆုံးထုတ်ကုန် 32-bit ဖြစ်ပါတယ်။ 4604 02:53:11,439 --> 02:53:13,359 ဒီစက်ပေါ်မှာ လည်ပတ်နေတယ်။ 4605 02:53:13,359 --> 02:53:15,120 ဒါကြောင့် တစ်ကြိမ် အောင်မြင်စွာ စတင်ခဲ့ပါတယ်။ 4606 02:53:15,120 --> 02:53:16,319 ကျွန်ုပ်တို့၏ malware 4607 02:53:16,319 --> 02:53:18,880 ကောင်းပြီ ဒါဆို အဲဒါနဲ့ ပတ်သက်လိမ့်မယ်။ 4608 02:53:18,880 --> 02:53:21,520 ဖိုင်တစ်ခုအဖြစ်သို့ပြောင်းခြင်း၏တူညီသောနိယာမ 4609 02:53:21,520 --> 02:53:23,279 အခြားဖိုင်တစ်ခုသည် အခြားဖိုင်တစ်ခုအတွက်ဖြစ်သည်။ 4610 02:53:23,279 --> 02:53:25,840 ဖန်တီးလိုပါက ဥပမာဖြင့် ရိုက်ပါ။ 4611 02:53:25,840 --> 02:53:26,479 တစ်ခု 4612 02:53:26,479 --> 02:53:29,200 သင့်တွင် ကျွန်ုပ်တို့၏ malware ကို ထည့်သွင်းရန် mp3 ဖိုင် 4613 02:53:29,200 --> 02:53:30,960 ကျွန်တော်တို့ လုပ်ခဲ့တဲ့ လုပ်ငန်းစဉ်အတိုင်းပဲ လုပ်မှာပါ။ 4614 02:53:30,960 --> 02:53:33,920 jpeg pdf နှင့် google chrome တို့နှင့်အတူ 4615 02:53:33,920 --> 02:53:35,680 ဒါကြောင့် အရာအားလုံးဟာ ဖိုင်တိုင်းအတွက် အတူတူပါပဲ။ 4616 02:53:35,680 --> 02:53:37,760 type နဲ့ ပတ်သက်ရင် ဒါပဲဖြစ်လိမ့်မယ်။ 4617 02:53:37,760 --> 02:53:40,560 သင်ခန်းစာနဲ့ ဒီသင်တန်းအတွက်လည်း မျှော်လင့်ပါတယ်။ 4618 02:53:40,560 --> 02:53:42,640 မင်းတကယ် သဘောကျခဲ့တယ် ငါ မင်း သင်ယူခဲ့မယ်လို့ မျှော်လင့်ပါတယ်။ 4619 02:53:42,640 --> 02:53:45,040 c programming နဲ့ အသစ်အဆန်းတစ်ခုခု 4620 02:53:45,040 --> 02:53:47,040 ထပ်ပြီးကြည့်ရှုပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ 4621 02:53:47,040 --> 02:53:49,200 တခြားသင်တန်းတစ်ခုခုမှာ တွေ့မယ်။ 4622 02:53:49,200 --> 02:53:51,760 နှုတ်ဆက်ပါတယ်။ 601572

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.