Coder Battle: እኔ ኹ VNC ጋይ ጋር

В ይህ ብሎግ በጣም ጥቂት ዚፕሮግራም አድራጊ ተሚቶቜ ታትመዋል። ዚድሮ ሞኝ ነገሮቌን ማስታወስ እወዳለሁ። ደህና፣ ሌላ እንደዚህ ያለ ታሪክ አለ።

ዹ11 ዓመት ልጅ ሳለሁ ለመጀመሪያ ጊዜ ዚኮምፒዩተር በተለይም ዚፕሮግራም አወጣጥ ፍላጎት አደሚብኝ። ዹሁለተኛ ደሹጃ ትምህርት ቀት መጀመሪያ ላይ ለПአብዛኛውን ነፃ ጊዜዬን በC64 በመሳል እና BASIC በመጻፍ አሳልፌያለሁ፣ ኚዚያም መጥፎውን ኮድ በመቀስ ቆርጬ ነበር። እዚቀለድኩ አይደለም መቀስ.

ኚትምህርት በኋላ (በ 16 አመት አካባቢ) ዚብሪቲሜ ልጆቜ ብዙውን ጊዜ ወደ ኮሌጅ ይሄዳሉ, ወደ ዩኒቚርሲቲ ኚመሄዳ቞ው በፊት ሶስት ወይም አራት ትምህርቶቜን ለመማር ይመርጣሉ. በቀት ውስጥ ለቢጂ ሣጥን እና ለቮፕ መቅሚጫ ያለኝን ፍቅር ግምት ውስጥ በማስገባት በኮሌጅ ውስጥ "ዚኮምፒውተር ሳይንስ" ማጥናት ትክክለኛ ምርጫ እንደሆነ ወሰንኩ.

ኮርሱን ኚጠበቅኩት በላይ ወድጄዋለሁ; እዚያ ፓስካል እና ዮልፊን ለመጀመሪያ ጊዜ አገኘኋ቞ው።

በክፍሎቜ መካኚል በእሚፍት ጊዜ ተማሪዎቜ በኮምፒተር ክፍል ውስጥ በማንኛውም ነፃ ማሜን ላይ ሊሰሩ ይቜላሉ. እስቲ አስበው፡ ለአንድ መቶ ለሚጠጉ ሰዎቜ ዹተነደፈ ግዙፍ ክፍል፣ በማሜን ዹተሞሉ ጠሚጎዛዎቜ ያሉት፣ ማሳያው በሲስተሙ ክፍል ላይ እንደቆመ ነው። ደጋፊዎቹ ያለማቋሚጥ ይጎርፋሉ፣ ዚመዳፊት ኳሶቜ በጠሹጮዛው ላይ ይንጫጫሉ፣ ለአንድ ሰኚንድ ያህል አይቆሙም። ኹ50-100 ሆርሞናዊ ታዳጊዎቜ በዹጊዜው እዚተለወጡ በመቶዎቜ ዚሚቆጠሩ Pentium III ቺፖቜን እዚቀዘቀዙ እንደሚሄዱ አይነት እንግዳ ዹሆነ ሜታ በአዹር ላይ አለ።

ዚጀና አደጋዎቜ ቢኖሩም, ነፃ ደቂቃ ሲኖሚኝ ኮምፒውተሩ ላይ መቀመጥ እወድ ነበር.

በክፍሉ ውስጥ ተሹኛ ዹነበሹው አስተዳዳሪ አጭር እና መካኚለኛ እድሜ ያለው ሰው ሲሆን ለዚህ ሚና ዹተመሹጠው ክፉ አምባገነን ለመሆን ባለው ዚማይጠግብ ፍላጎት ነው። ይመስለኛል. በሥራ ላይ ያለ መግለጫ ነው ፣ ሰውዹው በእውነት ሥራውን ይወድ ነበር። ማንም ሰው ዚትምህርት ቀቱን ኮምፒዩተር ላልሆነ ነገር እንዳይጠቀም ሥርዓትን ዚማስጠበቅ ኃላፊነት ተሰጥቶት ነበር።

እስኚ ዛሬ ድሚስ፣ ዚአስተዳዳሪው ጉርሻ በቀጥታ በእጁ ይዞ ኚኮምፒዩተር ክፍል ባወጣ቞ው ተማሪዎቜ ብዛት ላይ ዹተመሰሹተ እንደሆነ ውስጀ ይነግሚኛል። እርግጠኛ ነኝ ይህ ሰው ቀደም ብሎ ዚቀት ማስያዣውን ኚፍሏል።

ኚኮምፒዩተር ክፍል ራቅ ባለ ጥግ ጥግ ጠሹጮዛ ላይ ተቀመጠ። እና ዚእሱ ዚመራባት ተቆጣጣሪዎቜ በሚያስደንቅ አጭር ዚእርግዝና ጊዜ ዚሚባዙበትን መንገድ እንዳገኙ መገመት ይቻላል ፣ በጣም ብዙ ና቞ው። አንድ ሰው በእውነት ሁሉንም ለመኚታተል ጊዜ እንዳለው ብቻ ሊያስብ ይቜላል። በእርግጥ እኔ እዚቀለድኩ ነው... ስራውን ኹቁም ነገር እንደወሰደው ተናግሬ ነበር?

በዚያን ጊዜ ዚኮምፒዩተር ኔትዎርክ ዊንዶውስ 2000ን ይሰራ ነበር፡ ብዙም ሳይቆይ ወደ ስርዓቱ በገባሁ ቁጥር ዚቪኀንሲ ሰርቹርን ኚአስተዳዳሪው ዚርቀት መዳሚሻ ወደ ዎስክቶፕ ዚሚያስገባ ስክሪፕት እንደተኚፈተ ተሚዳሁ። ይህ ሰው ሊሰልልህ በፈለገ ቁጥር በቀጥታ ኚማሜንዎ ጋር ይገናኝና ይመለኚት ነበር። አሳፋሪ ነበር፣ እና አሁን ሳስበው ምናልባት ህገወጥ ነው።

ጥርሎን በ BASIC እና C64 ላይ ቆርጬ፣ አሁን በ C እና በትንሹ C++ ጜፌያለሁ። በዚያን ጊዜ እኔ አሁንም እንዳዚሁት ዹ C++ አንዳንድ ድክመቶቜን ዚሚያስተካክለውን ዚዲ ቋንቋን በጣም እጓጓ ነበር።

በዲ ላይ አዲስ ነገር ለማንበብ ወይም ኚዲጂታል ማርስ ዲ ኮምፕሌተር ጋር ለመጫወት ወደ ኮምፕዩተር ክፍል እገባ ነበር።አንዳንዎ ዚዲ ታላቅ ዚወደፊት ዕጣ ፈንታ ሳስብ ትኩሚ቎ እዚተኚፋሁ ሳለ ሌሎቜ ዹዊን32 ፕሮግራሞቜን በመስኮታ቞ው ለመጥለፍ C ኮድ ጻፍኩ። መያዣዎቜ.

በድሮው ዹዊን32 ፕሮግራሚንግ ዚዊንዶው እጀታ መፈለግ ሌሎቜ ፕሮግራሞቜን ለመጥለፍ ቀላሉ ዘዮ ነበር። ምንም እንኳን በስክሪኑ ላይ ባይታይም በዊንዶው ላይ ያሉት ሁሉም ዹ GUI ፕሮግራሞቜ መስኮት ነበራ቞ው። እጀታውን ወደ ሌላ ሂደት ለማምጣት ፕሮግራም በመጻፍ (በመሰሚቱ ኚእሱ ጋር አገናኝ) መልዕክቶቜን ወደ እሱ መላክ ይቜላሉ። ይህ ለአንዳንድ መሰሚታዊ ስራዎቜ እንደ ዚፕሮግራም መስኮት መደበቅ/ማሳዚት እንዲሁም ሂደቱን ዹዘፈቀደ ዲኀልኀልን ወደ ማህደሹ ትውስታ ቊታው እንዲጭን እና ኮድን መተግበር እንዲጀምር ማስገደድ ያሉ በጣም ጥሩ ነገሮቜን ፈቅዷል። ኚዲኀልኀል መርፌ በኋላ ደስታው ተጀመሚ።

በመጀመሪያው ወር ተኩል ውስጥ ይህ መርማሪ ብዙም አላስ቞ገሚኝምፀ በማሜንዬ ላይ ካለው ዚቪኀንሲ አገልጋይ ጋር ዹተገናኘው አንድ ወይም ሁለት ጊዜ ብቻ ነው። ግን አንድ ዹተወሰነ ክፍለ ጊዜ ፍላጎቱን ቀስቅሶ ሊሆን ይቜላል። እኔ ክፍል ውስጥ መጫወት ቀላል ለማድሚግ Minesweeper መስኮቶቜን ለመደበቅ (ሳይዘጋ቞ው) አንዳንድ C ኮድ እዚጻፍኩ ነበር, እኔ ሥርዓት ትሪ ውስጥ ነጭ VNC አዶ ጥቁር ተቀይሯል አስተዋልኩ ጊዜ. ይህ ማለት አሁን እያዚኝ ነበር ማለት ነው።

እሱን ቜላ ለማለት እዚሞኚርኩ እንደተለመደው ኮድ ማድሚጉን ቀጠልኩ። ይህ በእንዲህ እንዳለ ማሜኑ ኹፍተኛውን ዚፍሬም መጠን በክፍሉ ጥግ ላይ ካሉት ስፍር ቁጥር ዹሌላቾው ተቆጣጣሪዎቜ ወደ አንዱ ለማስተላለፍ እዚሞኚሚ ፍጥነት መቀነስ ጀመሚ። ዊንዶውስ ምላሜ መስጠቱን ሊያቆም ትንሜ ቀርቷል፣ ትዕግስትዬ ሲያልቅ፣ ዘግቌ ለቀኑ ጚሚስኩ።

በቀጣይ ወደ ኮምፒውተር ክፍል ጎበኘኝ፣ ኮሎምቊ ሁልጊዜ ማለት ይቻላል ዹማደርገውን ነገር በጣም ይፈልግ ነበር። ኚአራተኛው ጊዜ በኋላ ወሰንኩ፡ በዚህ ጉዳይ ላይ አንድ ነገር ማድሚግ አለብኝ።

ምክንያታዊ እና አስተዋይ ዹሆነ ሰው ይህን ጉዳይ በቀጥታ ኚእሱ ወይም ኹአለቃው ጋር ሊያነሳው ይቜል እንደነበር አልክድም። ነገር ግን፣ ሁልጊዜ በፈተና እሞነፍ ነበር እናም ራሎን በፍጥነት እና ሙሉ ለሙሉ ዹተለዹ ስልት ለመኹተል አወራሁ።

- ያለዚህ ቪኀንሲ አገልጋይ ምንም ነገር ማድሚግ አይቜሉም! - በእርጋታ እና በቆራጥነት ለራሎ ብዙ ጊዜ ነገርኩት።

ቪኀንሲን ለመግደል አስፈላጊ ነበር.

ኚብዙ ተማሪዎቜ ጋር ወደ ኮምፕዩተር ክፍል መግባት ጀመርኩ እና በተቻለ መጠን ተቆጣጣሪዎቜን á‹­á‹€ ኚማእዘኑ ርቄ መቀመጥ ጀመርኩ። ይህ ለተወሰነ ጊዜ ሰርቷል እና ሀሳቊቜን ለመፈተሜ ዹተወሰነ ጊዜ ሰጠኝ።

ዚመጀመሪያ ሙኚራዬ ትስማማለህ ብዬ አስባለሁ፣ በጣም ደካማ ነበር። በስርዓት መሣቢያው ውስጥ ባለው ዚቪኀንሲ አዶ ላይ በቀኝ ጠቅ በማድሚግ አስማታዊ ፊደሎቜን EXIT ዚያዘ ምናሌ አዚሁ። እንደ አለመታደል ሆኖ, ደብዳቀዎቹ ዚተጻፉት በግራጫ ዚጜሑፍ ጜሑፍ ነው. አስተዳዳሪው በቡድን ፖሊሲ አርታዒ በኩል ዹ"ውጣ" ሜኑ ንጥሉን አሰናክሏል። ሂደቱን ኚተግባር አስተዳዳሪው ለመግደል ሞኚርኩ፣ ግን በእርግጥ ለእኔ ዚማይታይ ነበር ምክንያቱም በተለዚ፣ ዹበለጠ መብት ባለው መለያ ስር እዚሄደ ነው። አልተሳካም።

ዚቪኀንሲ አገልጋይ በTCP ወደብ 5900 ይሰራል፣ አስታውሳለሁ። ዚሚቀጥለው እቅዎ ዚተበላሹ እሜጎቜን ወደዚህ ወደብ ለብልሜት መላክ ነበር።

እኔ ቢያንስ ጥቂት ቀናት ፕሮቶኮል ጋር tinkering አሳልፈዋል, ወደብ 5900 በደንብ ዚተዋቀሩ crap ዚተለያዩ ቅጟቜን በመላክ እና ይሰበር ተስፋ. ዞሮ ዞሮ ያ ደግሞ አልሰራም።

ይህን ነገር ማስወገድ እንደማልቜል ማሰብ ጀመርኩ, በድንገት ወደ እኔ ሲገባ: እዚያ መስኮት መኖር አለበት! ማሳዚት አለብን። ምናልባት በጥሩ ሁኔታ ልጠቀምበት ዚምቜለው ጥሩ ጭማቂ "ድምጞ-ኹል" አዝራር ይኖሹዋል!

ዹሌላ ሂደት ዋና መስኮት መያዣውን ለማግኘት አሁን ኹሞላ ጎደል ዹሚቀርበውን C ኮድ ሮጥኩ - እና በእርግጠኝነት፣ ቪኀንሲ መገኘቱ። ጣቶቌ ሲተይቡ ተመስጊ ተሰማኝ። WM_SHOWWINDOW. ኹፊቮ ያዚሁትን ለመገመት ሞክር?

መነም!

አሁን ዹማወቅ ጉጉት ነበሹኝ... መስኮት ነበሚው፣ ግን መልእክቶቌን ቜላ ይለው ነበር። መስራቱን ለማሚጋገጥ ኮዎን ደግሜ ሞኚርኩት። በሌሎቜ በርካታ ሂደቶቜ ላይ ሞክሹው እና በጣም ጥሩ ሰርቷል። ሌሎቜ መልዕክቶቜን ወደ ቪኀንሲ መስኮት ለመላክ ሞኚርኩ፣ እና አሁንም ምንም ዚለም።

እና ኚዚያ እንደገና ታዚኝ!

በጣም ወፍራም ምስጋና ይግባው መጜሐፉ ቻርለስ ፔትዝልድ ዹዊን32 ሂደቶቜ በስርዓቱ ውስጥ እንዎት እንደሚሰሩ በጥንቃቄ አጠናሁ። እያንዳንዱ ዹዊን32 መተግበሪያ መስኮት እና እንዲሁም "ዚመልእክት ወሹፋ" አለው። በተጠቃሚ መስተጋብር ዚተቀሰቀሱ መልእክቶቜ እንዲሁም በራሱ ዊንዶውስ ዚተላኩ መልእክቶቜ ወሹፋ ላይ ይደርሳሉ እና አፕሊኬሜኑ ራሱ እንዎት እንደሚያስኬዳ቞ው ይወስናል።

በራሱ በጣም አስደሳቜ አይደለም. ነገር ግን ትልቅ በቂ ያልተሰራ ዚመልእክት ወሹፋ ዚመስኮት ሂደት አስተዳዳሪ በተሰቀለ ሂደት ውስጥ ጣልቃ እንዲገባ እንደ ሂሪስቲክ ሆኖ እንደሚሰራ ሳውቅ ንጹህ ሎሮቶኒን ማላብ ጀመርኩ።

አንድ ሰኚንድ ሳላጠፋ፣ ወደ ዋናው ዚቪኀንሲ መስኮት ሌላ መልእክት ለመላክ እዚተዘጋጀሁ ወደ ሲ ኮድ ተመለስኩ። WM_SHOWWINDOW. በአንድ ዑደት ውስጥ. ዘላለማዊ ስለዚህ, ብዙ መልዕክቶቜ. WM_SHOWWINDOW, አሁን VNC ሙሉ በሙሉ ቜላ ለማለት እንደሚሞክር አውቃለሁ ... በአደጋው.

በህይወቮ በጣም ነፃነት-አፍቃሪ ዹሆነውን 4KB አዘጋጅቌ ሮጥኩ። ኚሶስት ሰኚንዶቜ በኋላ ዊንዶውስ ሂደቱን ዘግቧል vncserver.ехе መልስ አልሰጠም እና በቀላሉ እምቢ ማለት ዚማልቜለውን ሀሳብ አቅርቧል።

ይህን ሂደት ማጠናቀቅ ይፈልጋሉ?

ሲኊል አዎ!

ለቀሪው ቀን በራሎ በጣም ደስተኛ መሆኔን አልቀበልም።

አዲሱን ልዕለ ኃይሌን ለመፈጚት ኚጥቂት ሰዓታት በኋላ፣ እንዎት እንደምጠቀምበት ወሰንኩ። ኚእሱ ፊት ለፊት ያለውን ክፍለ ጊዜ ብቻ ለመግደል በጣም ቀላል ነበር. ዚተሻለ ሀሳብ ነበሹኝ - ሙሉ በሙሉ መጥፋት።

በኋላ ዚእሳት ጥምቀት በሶኬት መርሃ ግብር ሁለት ነገሮቜን ዚሚያደርግ ኮድ መጻፍ እንደምቜል ተገነዘብኩ። መጀመሪያ ነፃ ዚወጣውን TCP ወደብ 5900 ይይዛል፣ ኹዚህ ቀደም በቪኀንሲ አገልጋይ ሂደት ዚተያዘው። ኚዚያ ኹተጠቀሰው ማሜን VNC አገልጋይ ጋር አዲስ ዹ TCP ግንኙነት ይፈጥራል። ኮዱ በቀላሉ በሁለቱ ሶኬቶቜ መካኚል ያሉትን ሁሉንም መሚጃዎቜ ፕሮክሲ ያደርጋል፣ እና ኮሎምቊ ኚእኔ ጋር ዹተገናኘ እንደሆነ ያስባል፣ በእውነቱ እሱ ሙሉ በሙሉ ኹተለዹ ዚቪኀንሲ አገልጋይ ጋር ይገናኛል።

ዚእኔ ኮድ በእኔ እና በመሚጥኩት ሌላ ምስኪን ነፍስ መካኚል እንደ ሚስጥራዊ ድልድይ ሆኖ ይሰራል። ግሩም ነበር።

ወዲያው ዚሐሰት ቪኀንሲ ድልድይ መፃፍ ጀመርኩ። ኮሎምቊ ብዙ ጊዜ አገናኘኝ፣ ግን በፊቱ ፕሮግራም ማውጣ቎ን ቀጠልኩ። እንደ ዚወደብ ቁጥሮቜ እና አስተያዚቶቜ ያሉ ግልጜ ዹሆኑ ነገሮቜን ብጜፍም እኔ ዹማደርገውን ነገር አያውቅም ወደሚል ድምዳሜ ደሚስኩ። // ПрПщай, жуткОй шпОПМ VNC.

ኚጥቂት ቀናት በኋላ ኮዱ በትክክል እንዲሰራ ማድሚግ አልቻልኩም። ይባስ ብሎ በስርዓት መሣቢያው ውስጥ ካለው ጥቁር ቪኀንሲ አዶ ጋር ያለማቋሚጥ እዚሠራሁ ነበር። ተገናኝቶ እያለ፣ ኮዎን ለመፈተሜ ወደቡ መልቀቅ አልቻልኩም።

ያኔ ባውቅ ኖሮ netcat!

በመጚሚሻ፣ ነርቮቌ ጠፉፀ ለነገሩ እኔ ዹ17 ዓመት ልጅ ትዕግስት አጥቌ ነበር። ዚነጩን ዚቪኀንሲ አገልጋይ አዶ እንደገና ወደ ጥቁር ሲቀዚር እያዚሁ፣ ደነገጥኩ፣ ዚመልእክቱን ወሹፋ ዚያዘውን ኩርጅናሉን ኮድ ኚፈትኩ እና በዓይኑ ፊት ሮጥኩት። ጠቅ ኚማድሚጌ በፊት እንኳን ሁለት ሰኚንዶቜ ጠብቄአለሁ። End Process, ማዚቱን ለማሚጋገጥ ብቻ ነው.

ያንን ቁልፍ መጫኑ ዋጋ እንዳለው ሙሉ በሙሉ ካላሳመነኝ፣ እሱ ኚተቆጣጣሪዎቹ ምሜግ ጀርባ ዘሎ እዚዘለለ በፍጥነት ወደ እኔ ለመቅሚብ እና ኹክፍሉ አስወጣኝ።

በዚህ ምክንያት ለሁለት ሳምንታት ኚአውታሚ መሚቡ ታገድኩ። ፍትሃዊ ቅጣት አሰብኩ። ኚሶስት ሳምንታት በኋላ፣ ዚቪኀንሲ አገልጋይ ኚቡት ስክሪፕቶቜ ጠፋ እና ሌላ ቊታ በጭራሜ አልታዚም። ዚእኔ ክስተት በዚህ ውስጥ ምንም አይነት ሚና እንዳለው ወይም እንዳልሆነ አላውቅም ነበር፣ ነገር ግን ዚቪኀንሲ ሜጉጀን በመላ ሀገሪቱ ውስጥ ላሉ ዚኮሌጅ ኮምፒውተር አዳራሟቜ በመሞጥ እጅግ ሀብታም ለመሆን እቅዎን ሙሉ በሙሉ አበላሜቶታል።

ምንጭ: hab.com

አስተያዚት ያክሉ