Monday, April 29, 2013

Харуул занги 2-р үе Reverse

Reverse бүлэгт нийт 5-н даалгавартай бөгөөд харин тэмцээний явцад эдгээрийн 2 нь л нээгдсэн юм.

1. Тэрэг (100 оноо)
101. Тэд цэргүүд хатиран одов. Хуагчин эмгэн, бөөр алаг үхрээ гуядаж, яаравчлан явах гэтэл тэрэгний тэнхлэг хугарав. Тэнхлэг хугарсан учир, явганаар ойд дутааж оръё гэж байтал, хойноос мөн цэргүүд Бэлгүтэйн эхийг сундалж, хоёр хөлий нь санжуулан давхиж ирээд, "Энэ тэргэн дотор юу байна?" гэж асуувал, Хуагчин эмгэн өгүүлрүүн: "Унгас бий" гэв. Тэр цэргүүдийн ахмад нь өгүүлрүүн: "Дүү нар бууж үзэгтүн" гэвэл, бусад нь бууж хаалттай тэрэгний хаалгыг нээвэл, дотор нь хатан сууж байна. Түүнийг тэрэгнээс чирч гаргаад Хуагчин хоёуланг сундалж Тэмүжиний хойноос өвсний налархайгаар мөшгөж, Бурхан халдун өөд гарав.

Файлыг тат! (татах файлыг нь вирусны эсрэг програмууд вирус гэж илрүүлээд байгаа тул нууц үг бүхий zip файлаар тавилаа. Нууц үг: sesi)

//____________________________________________________________________________//
SOLUTION:
Уг файл нь жижиг exe файл бөгөөд зөвхөн 64 бит-н систем дээр ажилладаг бололтой. Нээхэд дараах интерфэйс угтах бөгөөд ердөө 1 textbox, 12 button-с бүрдэж байв. Өөр дээрээ монгол бичгээр бичсэн (0-9 хүртэлх) тоотой товчлуур дээр дарах бүрд өөрийн утгаа textbox-д нэмэх бөгөөд алилгах, шалгах гэсэн нэмэлт 2 товчтой байв.


Гол зорилго нь зөв тоог бичээд шалгах товчийг дарвал flag-г маань гаргаж өгөх бололтой. Иймээс disassembler ашиглан програмын эх кодыг илүү доод түвшний буюу бараг assemler кодыг нь харъя.
Уг програмын(form) үндсэн функцуудыг дээрх зурагт харуулав. btn0_Click-с btn9_Click хүртэлх нь тоотой товчлуурууд дээрх дарагдах үед дуудагдах функцууд гэдэг нь ойлгомжтой. Бидний сонирхох ёстой функ нь шалгах товчыг дарах буюу btnCheck_Click-г функц юм.

Уг btnCheck_Click функцыг нээж харахад call tereg::frmMain::btnValue буюу өөр нэгэн btnValue функцыг дуудсан байна.


btnValue функц нь ямар нэгэн нөхцөл шалгалтууд хийсний үр дүнд "RmxhZzogVHV1a2hfM25kMzNzXzNraDNsZDNn" болон "0KLSr9Kv0YUg0Y3QvdC00Y3RjdGBINGN0YXRjdC70LTRjdCzIQ==" гэсэн 2 текстийг decode хийж MessageBox-р харуулж буй нь харагдаж байна. Decode функцыг нь харвал Base64 нууцлалын алгоритм ашиглаж байсан бөгөөд ==-р төгсснийг нь харвал андашгүй юм.

Эдгээрийг текстүүдийг decode хийвэл
"Түүх эндээс эхэлдэг!"
"Flag: Tuukh_3nd33s_3kh3ld3g" тус тус гарч байлаа. Ингээд бидний хайж байсан уг даалгаврын флаг маань "Tuukh_3nd33s_3kh3ld3g".



//____________________________________________________________________________//

2. Жамуха (200 оноо)
118. Тэмүжин Жамуха хоёр янаг найртай байж, нэгэн жил хагас хамт сууж, нэгэн өдөр тэр нутгаас нүүе гэлцэж, зуны тэргүүн сарын арван зургааны улаан тэргэл (дүгрэг сартай) өдөр нүүв. Тэмүжин Жамуха хоёр, тэрэгнүүдийн урд явж байтал Жамуха өгүүлрүүн:

"Тэмүжин анд аа!
Ууланд шахан бууя.
Адуучинд гэр болтугай!
[Ай зөв үү? А.то.]
Голд шахан бууя
Хоньчин хургачин нарт
Хоол болтугай!
[Хориггүй биш үү? А.то.] гэв.

(Хагас нь адууны бэлчээрийг таатж ууланд бууя, хагас нь хонины бэлчээрийг татаж голд бууя гэсэн үг бололтой). Тэмүжин, Жамухын энэ үгийг ухан ядаж хариу юу ч хэлсэнгүй хоцроод нүүдлийн тэргийг хүлээж Өэлүн эхэд өгүүлрүүн:

"Жамуха анд надад хэлэв:
Ууланд шахан бууя,
Адуучинд гэр болтугай!
Ай зөв үү?
Голд шахан бууя,
Хоньчин хургачин нарт
Хоол болтугай!
Хориггүй биш үү?

гэж өгүүлэв. Би энэ үгийг ухаж ядаж хариу юу ч эс хэлэв. Эхээс асууя гэж ирэв би" гэв.

Файлыг тат!

5 comments:

  1. tereg daalgavaryn file link ni ajillahgui bn. pls !!!

    ReplyDelete
    Replies
    1. Файлыг нь одоо байршуулчихлаа :)

      Delete
  2. "Тэрэг" даалгавар дээр татах файл нь 1 exe файл байсан юм л даа. Тэр нь вирус байсан болохоор antivirus маань устгаад хаячихжээ. Оролцсон бусад багуудаас энэ файлыг олж аваад тавихыг хичээнээ.

    ReplyDelete
  3. uuchlaarai end ashiglasn program tools inhe talaar medeelel ogj bolhu

    ReplyDelete
    Replies
    1. Энэ тэрэг даалгаврын хувьд PEBrowse64 гээд tool ашигласан байгаа.

      Delete