Binary Analysis 101

Post ေတြကို password protected လုပ္ထားပါတယ္။ ေရာင္းစားဖို႕အစီအစဥ္မရွိေပမဲ့ အရမ္းအေပါစားလဲမဆန္ခ်င္လို႕ျဖစ္ပါတယ္။ တကယ္ေသခ်ာလုပ္မယ္ဆိုတဲ့သူေတြကိုပဲ က်ေနာ္ Password ေပးဖို႕ဆံုးျဖတ္ထားပါတယ္။

Goal

က်ေနာ္က Reverse Engineering ကိုထင္သေလာက္မရပါဘူး ၊ စာေတြဖတ္တဲ့အခါမွာလဲ သိပ္ျပီးေတာ့အားရတယ္လို႕မရွိဘူး ၊ အဓိကအဆိုးဆံုးကေတာ့ အလြတ္ရမေနတာေတြလဲပါမွာေပါ့။ Exploit Development တုန္းက လုပ္ခဲ့တဲ့ RE ဆိုတာက တကယ္ေတာ့ Memory Analysis ေလာက္သာပါဝင္ခဲ့တာပါ။ အမ်ားၾကီးလုပ္ရဦးမယ္လုိ႕ က်ေနာ္ယူဆပါတယ္။ Linux Binary Exploitation ျပီးတဲ့အခါ Binary Analysis ဘက္ကိုလွည့္တဲ့သေဘာပါ ၊ က်ေနာ္႕မွာ အခုလို အခ်ိန္ေပးေလ့လာဖို႕ စိတ္ကူးရွိခဲ့တာေတာ့ၾကာပါျပီ။ စိတ္ကူးအတိုင္းရတဲ့ထိကိုလုပ္သြားမွာျဖစ္ပါတယ္ ၊ ဒီမွာေတာ့ က်ေနာ္ေလ့လာခဲ့တဲ့ ပံုစံေတြ အကုန္လံုးလိုလို ေရးသြားမွာျဖစ္ပါတယ္။

Important *** တစ္ခုေတာ့ ၾကိဳေျပာခ်င္ပါတယ္ ၊ ဒီ Series ဟာ က်ေနာ္လုပ္မယ္လို႕ စိတ္ကူးျပီး က်ေနာ္ထင္တဲ့အတိုင္းေတြလုပ္မွာပါ။ က်ေနာ္႕အေနနဲ႕ အဲဒါေတြ လုပ္ရင္ရမွာလားဆိုတာေတာင္ အတတ္မေျပာနိုင္ပါဘူး။ ***

Before you Begin

ဒါကိုေလ့လာမယ္လို႕စိတ္ကူးထားတဲ့သူေတြက ေအာက္ကလိုအေျခခံေလးတြေတာ့ သိထားျပီးသားျဖစ္ဖို႕လိုပါတယ္။ မဟုတ္ရင္ေတာ့ ဘာေတြျဖစ္ေနမွန္းမသိပဲျဖစ္ေနပါဦးမယ္။

  • Linux သံုးဖူးတဲ့သူျဖစ္ရပါမယ္
  • Operating System ဘယ္လိုေတြအလုပ္လုပ္တယ္ဆိုတာ နားလည္ထားရမယ္
  • Basic of C Programming
  • Assembly codes ေတြကို ဖတ္တတ္ရပါမယ္။

Who should learn with me?

ဒါကိုေလ့လာတာက Exploit Development ေရာ ၊ Cracking ေရာ အတြက္ အဆင္ေျပသြားမယ္လို႕ က်ေနာ္ယံုၾကည့္ပါတယ္။ ဒါေၾကာင့္ အဲ့ဒီ Topic ေတြကိုစိတ္ဝင္စားတဲ့သူေတြအေနနဲ႕ေတာ့ သင့္ေတာ္ပါတယ္။ တစ္ခုေတာ့ရွိတယ္ ၊ ဒီလို Topic ေတြက English ဘာသာနဲ႕ဆိုအမ်ားၾကီးရွိပါတယ္။ ဒီေတာ့ က်ေနာ္က က်ေနာ္နားလည္ခဲ့တဲ့ေနရာေတြကေန ျပန္ျပီး ဒီမွာ Sharing ျပန္လုပ္တာျဖစ္ပါတယ္။

How to request access?

ဒီေတာ့ Password ခံထားတာျဖစ္တဲ့အတြက္ ေလ့လာမယ္လို႕စိတ္ကူးရွိတဲ့သူက thinbashane@gmail.com ကို Mail ပို႕ျပီး ေမးျမန္းနိင္ပါတယ္။ ေရာင္းတာမဟုတ္ပါဘူး ။ ေဆြးေႏြးခ်င္တာရယ္ ၊ အလကားရျပီးေရာ လုပ္မွာလဲမဟုတ္ ၊ လိုအပ္တဲ့ အေျခခံလဲမရွိေသးတဲ့သူေတြကိုအာရံုမေနာက္ေစခ်င္လို႕ပါ။

Forum မဟုတ္ေပမဲ့ Comment မွာ က်ႊန္ေတာ္တို႕ေဆြးေႏြးၾကတာေပါ့ ၊ Mail ပို႕တဲ့ အခါ ဘယ္သူဘယ္ဝါဆိုတာေလးေတာ့ ထည့္မိတ္ဆက္ေပးၾကပါဦး။

Current Progress

စလံုးေရစပဲရွိပါေသးတယ္ ၊ ေအာက္မွာ ဘယ္ထိျပီးေနျပီဆိုတဲ့ List ေလးလုပ္ထားပါတယ္။ ဘာေတြလုပ္မယ္ဆိုတာ အတိအက်မရွိပါဘူး ။ လိုအပ္သလိုေလ့လာျပီးျပန္ေရးေပးသြားမွာပါ။

Exploit Devlepment မွာတုန္းက gdb တို႕ gdb-peda တို႕ကိုသံုးခဲ့တာျဖစ္တယ္ ၊ ဒီတစ္ခါေတာ့ radare2 ကိုသံုးျပီးေလ့လာမွာျဖစ္ပါတယ္ ၊ Radare2 ဟာ Linux အတြက္ေတာ့ လူၾကိုက္အမ်ားဆံုး Reverse Engineering Framework တစ္ခုျဖစ္တဲ့အျပင္ ၊ Maintainence ေတြ ၊ အသံုးဝင္မယ္ံ Plugins ေတြ ၊ ေလ့လာဖို႕အတြက္ေနရာေတြ ၊ Conference ေတြေတာင္ ရွိပါတယ္။ ဒါေၾကာင့္ က်ေနာ္ေတာ့ radare2 ကိုသံုးျပီးေလ့လာဖို႕ဆံုးျဖတ္လိုက္တာျဖစ္ပါတယ္

Lessons

  1. The Basics of Radare2
  2. More familiar with Radare2
  3. Debugging Commands in Radare2
  4. Back to the Requirements
  5. Reverse Engineering Hello World Program
  6. Reverse Engineering Data Types
  7. Reverse Engineering Operators
  8. Reverse Engineering I/O
  9. Reverse Engineering Flow Control
  10. Reverse Engineering Functions
  11. Learning from Megabeets
  12. Coming soon!

Thanks list

ေလ့လာခဲ့တဲ့ေနရာေတြကို ဒီေအာက္မွာ Thanks list အေနနဲ႕ စီထားေပးပါမယ္။

Radare2 Reference

Other Reference