মূল কনটেন্টে যান
এআই টিউটোরিয়াল

CS2 External ESP দিয়ে নিরাপদে একটি Windows গেম ওভারলে আর্কিটেকচার অধ্যয়ন করুন

এই টিউটোরিয়ালে রিপোজিটরিটির শুধুমাত্র Windows-সমর্থিত external overlay আর্কিটেকচার, কনফিগারেশন মডেল, সেটআপ প্রক্রিয়া, ডায়াগনস্টিক এবং দায়িত্বশীল অফলাইন ব্যবহারের ব্যাখ্যা দেওয়া হয়েছে। এতে userland মেমরি পড়া, signature resolution, world-to-screen projection, layered window এবং সুরক্ষিত বা পাবলিক সার্ভারে সফটওয়্যারটি ব্যবহার না করে সমস্যা সমাধানের বিষয়গুলো বোঝার ওপর গুরুত্ব দেওয়া হয়েছে।

CS2 External ESP দিয়ে Windows গেম ওভারলে আর্কিটেকচার নিরাপদে অধ্যয়ন

এই প্রকল্পটি যা করে

CS2 External ESP হলো Windows userland overlay প্রকল্প, যা মেমরি পড়া, world-to-screen projection এবং স্বচ্ছ layered window নিয়ে শিক্ষামূলক গবেষণা হিসেবে উপস্থাপিত। এটি গেমের প্রসেসে কোড inject না করে একটি পৃথক executable হিসেবে চলে এবং মানবপাঠ্য JSON ফাইলসমৃদ্ধ একটি local configuration directory ব্যবহার করে।

রিপোজিটরিতে Windows 10 ও Windows 11-এর জন্য সমর্থন, self-contained executable, external overlay presenter, signature-based offset resolution, diagnostic logging এবং একাধিক visual ও interface module-এর কথা বলা হয়েছে। প্রকল্পটি একটি সুরক্ষিত বাণিজ্যিক গেমের সঙ্গে কাজ করে বলে এটি কেবল code review, offline experimentation, অথবা এমন private environment-এ ব্যবহার করুন যেখানে প্রত্যেক অংশগ্রহণকারী ও administrator স্পষ্টভাবে সম্মতি দিয়েছেন।

গুরুত্বপূর্ণ: VAC-secured matchmaking, Faceit, ESEA বা অন্যান্য সুরক্ষিত public service-এ এই সফটওয়্যার চালাবেন না। External tool আচরণের মাধ্যমে শনাক্ত হতে পারে, এবং online-এ এগুলো ব্যবহার করলে account বা session penalty হতে পারে।

আর্কিটেকচার কীভাবে কাজ করে

README-তে application-টিকে পরস্পর সহযোগী কয়েকটি component-এ ভাগ করা হয়েছে। executable-টিকে black box হিসেবে দেখার চেয়ে এই component-গুলো বোঝা বেশি উপকারী।

Resolver

শুরু হওয়ার সময় resolver গেমের process খুঁজে বের করে এবং তার loaded module পরীক্ষা করে। Entity list ও view matrix-এর মতো address খুঁজে পেতে signature pattern ব্যবহার করা হয়। গেম আপডেটের পর এই value অকার্যকর হয়ে যেতে পারে; তাই প্রকল্পটি signature data মূল executable-এর বাইরে রাখে এবং debug.log-এ ব্যর্থতার তথ্য জানায়।

Sampler

Sampler নির্দিষ্ট বিরতিতে প্রাসঙ্গিক data-এর একটি snapshot পড়ে এবং তা double-buffered structure-এ সংরক্ষণ করে। README অনুযায়ী default interval হলো 8 milliseconds। Double buffering renderer-কে ভিন্ন sampling cycle-এর value একত্র করে ফেলতে বাধা দেয়, ফলে অসামঞ্জস্যপূর্ণ frame এড়াতে সহায়তা করে।

Presenter

Presenter গেমের client area-এর সঙ্গে aligned একটি borderless, click-through, topmost window পরিচালনা করে। এটি একটি off-screen bitmap-এ render করে এবং layered window-এর মাধ্যমে ফলাফল প্রদর্শন করে। নথিভুক্ত implementation-এ গেমের rendering pipeline-এর ভেতরে আঁকার পরিবর্তে GDI+ এবং UpdateLayeredWindow ব্যবহার করা হয়েছে।

World-to-screen projection

বর্তমান view matrix ব্যবহার করে world position-কে screen coordinate-এ রূপান্তর করা হয়। Near plane-এর পেছনের point বাদ দেওয়া হয় এবং বৈধ coordinate pixel-এ রূপান্তরিত হয়। Box-এর alignment ভুল হওয়া বা marker সরে যাওয়া সাধারণত পুরোনো বা ভুল projection data নির্দেশ করে।

Configuration ও diagnostics

Configuration file ./config/-এর অধীনে plain JSON হিসেবে সংরক্ষিত হয়। Overlay-তে debug log, hotkey handling, named profile এবং signature reload action-ও রয়েছে। এসব feature configuration-driven Windows tooling ও failure reporting অধ্যয়নের জন্য প্রকল্পটিকে উপযোগী করে তোলে।

সিস্টেমের প্রয়োজনীয়তা

  • Windows 10 21H2 অথবা Windows 11 23H2।
  • ন্যূনতম x86_64 dual-core processor; README-তে quad-core CPU সুপারিশ করা হয়েছে।
  • কমপক্ষে 4 GB RAM; 8 GB বা তার বেশি সুপারিশ করা হয়।
  • CS2 render করতে সক্ষম GPU। নথিভুক্ত overlay path-এ GPU-accelerated rendering-এর পরিবর্তে GDI ব্যবহার করা হয়।
  • বর্তমান CS2 build এবং সবচেয়ে নির্ভরযোগ্য overlay alignment-এর জন্য borderless windowed display mode।
  • আলাদা .NET বা runtime installation প্রয়োজন নেই, কারণ executable-টিকে self-contained হিসেবে বর্ণনা করা হয়েছে।

নিরাপদ installation ও setup

  1. প্রথমে repository পর্যালোচনা করুন। কোনো release archive ব্যবহারের আগে usage guidance, known issue এবং signature note পড়ুন।
  2. Source inspection-কে অগ্রাধিকার দিন। Prebuilt executable-এ আস্থা না থাকলে প্রকল্পটি নিজে inspect বা build করুন। README-তে build/-এর অধীনে একটি build script-এর উল্লেখ আছে।
  3. Isolated test environment ব্যবহার করুন। পরীক্ষা offline অথবা স্পষ্টভাবে অনুমোদিত private server-এ সীমাবদ্ধ রাখুন। Official matchmaking বা third-party anti-cheat service-এর সঙ্গে সফটওয়্যারটি ব্যবহার করবেন না।
  4. নির্দিষ্ট folder-এ extract করুন। Executable, config/, signature file এবং log file একসঙ্গে রাখুন, যাতে relative path ও profile-এর আচরণ পূর্বানুমানযোগ্য থাকে।
  5. শুধু অনুমোদিত test scenario-এর জন্য game শুরু করুন। External process চালু করার আগে main menu উপলভ্য হওয়া পর্যন্ত অপেক্ষা করার পরামর্শ README-তে দেওয়া হয়েছে।
  6. Executable চালু করে log পরীক্ষা করুন। কোনো খালি overlay-কে rendering problem হিসেবে ব্যাখ্যা করার আগে নিশ্চিত করুন যে process attach হয়েছে এবং signature resolution সফল হয়েছে।

কোনো অজানা binary চালানোর জন্য security control বন্ধ করবেন না বা exclusion যোগ করবেন না। README-তে উল্লেখ করা হয়েছে যে process reading ও layered window heuristic antivirus alert সৃষ্টি করতে পারে; নিরাপদ পদক্ষেপ হলো source ও build provenance যাচাই করা, ডাউনলোড করা executable-কে অন্ধভাবে বিশ্বাস করা নয়।

মৌলিক offline ব্যবহার

নিয়ন্ত্রিত demonstration-এর জন্য সবচেয়ে কম intrusive visual ও diagnostic functionality দিয়ে শুরু করুন। Borderless windowed mode ব্যবহার করুন, game-কে main menu পর্যন্ত চালু করুন, তারপর overlay শুরু করুন। Presenter focused থাকলে নথিভুক্ত overlay menu খুলতে INSERT চাপুন।

Visual overlay-এর master switch পরীক্ষা করতে F1 এবং কেবল অনুমোদিত offline environment-এ skeleton submodule পরীক্ষা করতে F2 ব্যবহার করুন। README অনুযায়ী END হলো panic key, যা process-টি পরিষ্কারভাবে বন্ধ করে। Overlay অপ্রত্যাশিত আচরণ করলে এটি ব্যবহার করুন।

Configuration পরীক্ষা করতে JSON profile executable-এর একই directory-তে রাখুন এবং নিশ্চিত করুন যে প্রতিটি profile বৈধ JSON ও top-level object। F4 profile-গুলো alphabetically পরিবর্তন করে, F5 disk থেকে signature reload করে এবং F6 offset information debug.log-এ লেখে।

উপলভ্য মডিউলগুলো বোঝা

README-তে মডিউলগুলোকে পাঁচটি ক্ষেত্রে ভাগ করা হয়েছে। নিচের সারাংশটি ফিচার তালিকা তৈরি ও কোড অধ্যয়নের জন্য, অন্য খেলোয়াড়দের বিরুদ্ধে ব্যবহারের জন্য নয়।

  • ভিজ্যুয়াল ESP: বক্স, স্কেলেটন, স্বাস্থ্য বার, নাম, অস্ত্র শনাক্তকারী, দূরত্বের লেবেল এবং স্ক্রিনের বাইরের নির্দেশক।
  • এম সহায়তা: লক্ষ্য নির্বাচন, দৃশ্যমানতা যাচাই, স্মুথিং, বোন নির্বাচন এবং রিকয়েল-সম্পর্কিত লজিক। নিয়ন্ত্রিত গবেষণা পরিবেশের বাইরে এসব ফিচার নিষ্ক্রিয় রাখা উচিত।
  • খেলোয়াড় ও অর্থনীতি-সম্পর্কিত টুল: ফ্ল্যাশ ইফেক্ট, স্কোপড ক্রসহেয়ার রেন্ডারিং, বেগ ট্র্যাকিং, বোমার সময় নির্ধারণ এবং গ্রেনেডের গতিপথ ভিজ্যুয়ালাইজেশন।
  • ওভারলে ও ইন্টারফেস টুল: একটি স্তরভিত্তিক প্রেজেন্টার, ওভারলের ভেতরের হটকি মেনু, JSON প্রোফাইল পরিবর্তন এবং ডিবাগ লগিং।
  • রিকনাইস্যান্স টুল: রাডার তথ্য, শব্দের নির্দেশক এবং স্পেকটেটর তালিকা। প্রতিযোগিতামূলক বা পাবলিক খেলায় এগুলো বিশেষভাবে অনুপযুক্ত।

কনফিগারেশন টিপস

প্রোফাইল সহজ রাখুন

ভিন্ন অনুমোদিত পরীক্ষার জন্য আলাদা JSON প্রোফাইল ব্যবহার করুন, যেমন একটি ভিজ্যুয়াল-রেন্ডারিং প্রোফাইল এবং একটি শুধু-ডায়াগনস্টিকস প্রোফাইল। নথিবদ্ধ *.json প্যাটার্নের সঙ্গে সামঞ্জস্য রেখে ফাইলের নাম নির্ধারণ করুন এবং প্রোফাইল পরিবর্তনের আগে ফাইলগুলো যাচাই করুন।

ডিফল্ট স্যাম্পলিং ইন্টারভাল বজায় রাখুন

নথিবদ্ধ ডিফল্ট মান হলো 8 মিলিসেকেন্ড। ইন্টারভাল বাড়ালে ধীর সিস্টেমে CPU ব্যবহার কমতে পারে, আবার কমালে অতিরিক্ত খরচের বিনিময়ে প্রতিক্রিয়াশীলতা বাড়তে পারে। একবারে একটি মান পরিবর্তন করুন এবং ফলাফল পরীক্ষার নোটে লিখে রাখুন।

বর্ডারলেস উইন্ডোড মোড ব্যবহার করুন

README অনুযায়ী, ফুলস্ক্রিন এক্সক্লুসিভ মোড স্তরভিত্তিক ওভারলে সমস্যার একটি সাধারণ উৎস। বর্ডারলেস মোড ক্লায়েন্ট-এলাকার কোঅর্ডিনেটের সঙ্গে প্রেজেন্টার উইন্ডোর তুলনা করাও সহজ করে।

লগ সংরক্ষণ করুন

পরীক্ষার মাঝখানে debug.log মুছবেন না। রিজলভার স্ট্যাটাস, সিগনেচার ব্যর্থতা, থ্রেডের স্বাস্থ্য এবং অফসেট ডাম্প সংযুক্তির সমস্যা ও প্রজেকশন বা প্রেজেন্টেশনের সমস্যার মধ্যে পার্থক্য নির্ণয় করতে পারে।

সমস্যা সমাধান

ওভারলে দেখা যাচ্ছে, কিন্তু কোনো ডেটা নেই

সিগনেচার না মেলার তথ্যের জন্য debug.log পরীক্ষা করুন। গেম আপডেট হলে মডিউলের বিন্যাস পরিবর্তিত হতে পারে এবং বর্তমান সিগনেচার ফাইল অকার্যকর হয়ে যেতে পারে। প্রতিস্থাপন করা সিগনেচার ডেটা বিশ্বস্ত ও সামঞ্জস্যপূর্ণ উৎস থেকে এসেছে কিনা যাচাই করার পরই নথিবদ্ধ রিলোড অ্যাকশন ব্যবহার করুন।

ক্যামেরা নাড়ার সময় বক্স সরে যায়

README অনুযায়ী, এর কারণ পুরোনো ভিউ-ম্যাট্রিক্স ডেটা। প্রথমে সঠিক ডিসপ্লে মোড নিশ্চিত করুন এবং রিজলভারের আউটপুট পরীক্ষা করুন। এরপরই স্যাম্পলার ইন্টারভাল পরিবর্তনের কথা বিবেচনা করুন।

অ্যাপ্লিকেশন পরিবর্তনের পর ওভারলে ঝিলমিল করে

নথি অনুযায়ী, প্রেজেন্টার ফোরগ্রাউন্ড পরিবর্তন ও রিসাইজ ইভেন্ট অনুসরণ করে। প্রয়োজনে INSERT দুবার চাপ দিয়ে মেনুটি আবার খুলুন, তারপর যাচাই করুন যে ওভারলে উইন্ডোটি এখনও গেম ক্লায়েন্টের আয়তক্ষেত্রের সঙ্গে মিলে আছে।

প্রোফাইল পরিবর্তনের সময় একটি ফাইল বাদ পড়ে

ফাইলের নাম .json-এ শেষ হয়েছে কিনা, ফাইলটিতে বৈধ JSON আছে কিনা এবং শীর্ষস্তরের মানটি একটি অবজেক্ট কিনা পরীক্ষা করুন। পার্সিং ব্যর্থতার একটি সাধারণ কারণ হলো শেষে অতিরিক্ত কমা থাকা।

পারফরম্যান্স কমে যায়

README অনুযায়ী, স্কেলেটন ও স্ক্রিনের বাইরের রেন্ডারিং তুলনামূলকভাবে বেশি ব্যয়বহুল মডিউল। প্রথমে ঐচ্ছিক ভিজ্যুয়াল উপাদানগুলো নিষ্ক্রিয় করুন, তারপর স্যাম্পলার ইন্টারভাল বাড়ান। পরিবর্তনগুলো প্রত্যাবর্তনযোগ্য রাখুন, যাতে প্রতিটি পরীক্ষার ফলাফল স্পষ্ট হয়।

ডেভেলপমেন্ট ও রক্ষণাবেক্ষণ নোট

সিগনেচার রিজলভার প্রকল্পটির রক্ষণাবেক্ষণ-সংবেদনশীল অংশ। গেম পরিবর্তিত হলে রিডার প্রয়োজনীয় ডেটা আর খুঁজে নাও পেতে পারে। রিপোজিটরির নকশা বাহ্যিক সিগনেচার ফাইল ও লগ বার্তার মাধ্যমে এই ব্যর্থতাকে দৃশ্যমান করে, ভুল তথ্য নীরবে রেন্ডার করে না।

রোডম্যাপে দ্রুততর D3D11 প্রেজেন্টেশন পথ, একাধিক ক্লায়েন্টের কনফিগারেশন রিলোড, প্রতি-ম্যাপ ওভাররাইড, সমৃদ্ধতর রাডার ব্যাকগ্রাউন্ড এবং কমিউনিটি সিগনেচার সংগ্রহের কথা উল্লেখ আছে। এগুলো পরিকল্পিত, চলমান, অনুসন্ধানাধীন বা শুরু না হওয়া কাজ হিসেবে তালিকাভুক্ত; রিপোজিটরি বাস্তবায়ন নিশ্চিত না করা পর্যন্ত এগুলোকে উপলভ্য ফিচার হিসেবে ধরা উচিত নয়।

দায়িত্বশীল ব্যবহারের চেকলিস্ট

  • শুধু অফলাইন অনুশীলন বা স্পষ্ট প্রশাসকীয় অনুমতিসহ ব্যক্তিগত সার্ভারে ব্যবহার করুন।
  • অফিশিয়াল ম্যাচমেকিং বা তৃতীয় পক্ষের অ্যান্টি-চিট প্ল্যাটফর্মে প্রকল্পটি ব্যবহার করবেন না।
  • সেবা হিসেবে বিল্ড বিতরণ করবেন না বা মার্কেটপ্লেসের জন্য প্রকল্পটি পুনরায় প্যাকেজ করবেন না।
  • কোনো বাহ্যিক প্রসেস শনাক্ত করা যাবে না বলে ধরে নেবেন না।
  • যাচাই না করা বাইনারির পরিবর্তে সোর্স পর্যালোচনা ও পুনরুৎপাদনযোগ্য বিল্ডকে অগ্রাধিকার দিন।
  • ত্রুটি জানালে প্রাসঙ্গিক লগ আউটপুট যুক্ত করুন এবং অনুমোদিত পরীক্ষার পরিবেশ বর্ণনা করুন।

উপসংহার

CS2 External ESP একটি Windows ওভারলে পাইপলাইনের বাস্তব উদাহরণ প্রদান করে: ডেটা রিজলভ করা, সেটিকে একটি সামঞ্জস্যপূর্ণ স্ন্যাপশটে স্যাম্পল করা, বিশ্ব কোঅর্ডিনেটকে স্ক্রিনে প্রজেক্ট করা এবং একটি স্তরভিত্তিক উইন্ডোর মাধ্যমে রেন্ডার করা। এর কনফিগারেশন ফাইল, হটকি ও ডিবাগ লগও দেখায় কীভাবে একটি নেটিভ ইউটিলিটিকে পরিদর্শনযোগ্য ও রক্ষণাবেক্ষণযোগ্য রাখা যায়।

প্রকল্পটি অধ্যয়নের সবচেয়ে দায়িত্বশীল উপায় হলো এটিকে একটি অফলাইন সফটওয়্যার-ইঞ্জিনিয়ারিং অনুশীলন হিসেবে দেখা। প্রসেস আইসোলেশন, কোঅর্ডিনেট ট্রান্সফর্ম, কনফিগারেশন যাচাই ও ডায়াগনস্টিকসে মনোযোগ দিন এবং সব পরীক্ষা সুরক্ষিত প্রতিযোগিতামূলক সেবা ও অন্য খেলোয়াড়দের থেকে দূরে রাখুন।