مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

AI-Helper-Menu کا محفوظ آڈٹ: آرکیٹیکچر، تعمیر کا عمل اور سیکیورٹی جانچ

یہ ٹیوٹوریل AI-Helper-Menu کی بیان کردہ صلاحیتوں، ٹیکنالوجی، تعمیر کے طریقۂ کار اور براؤزر انضمام کے طریقوں کا جائزہ لیتا ہے۔ اس میں سورس کی جانچ اور الگ تھلگ ٹیسٹنگ پر زور دیا گیا ہے، کیونکہ یہ منصوبہ تیسرے فریق کی سروس میں تبدیلی کرتا ہے، Blooket کے قواعد کی خلاف ورزی کر سکتا ہے، اور اس میں ایک ایسا انسٹالر کمانڈ شامل ہے جو ایک غیر متعلقہ ڈومین سے قابلِ اجرا کوڈ ڈاؤن لوڈ کرتا ہے۔

AI-Helper-Menu کا محفوظ آڈٹ: آرکیٹیکچر، تعمیر کا عمل اور سیکیورٹی جانچ
اہم: AI-Helper-Menu کو Blooket کے چیٹ سوٹ کے طور پر پیش کیا جاتا ہے۔ لائیو سیشنز میں اس کا استعمال غیر منصفانہ فائدہ پیدا کر سکتا ہے، Blooket کی شرائط کی خلاف ورزی کر سکتا ہے، اکاؤنٹ کو معطلی کے خطرے میں ڈال سکتا ہے، یا کمپیوٹر کو خطرے سے دوچار کر سکتا ہے۔ یہ ٹیوٹوریل سروس کے خلاف تعیناتی کے بجائے محفوظ سورس جائزے اور الگ تھلگ جانچ کا احاطہ کرتا ہے۔

AI-Helper-Menu کیا کرنے کا دعویٰ کرتا ہے

AI-Helper-Menu ایک زیرو ڈیپینڈنسی، وینیلا JavaScript پروجیکٹ ہے، جسے Blooket کے صفحات میں ایک قابلِ حرکت کنٹرول پینل شامل کرنے کے لیے بنایا گیا ہے۔ اس کے README کے مطابق، یہ مقامی براؤزر APIs جیسے fetch اور WebSocket سے جڑتا ہے، صفحے میں ہونے والی تبدیلیوں کا مشاہدہ کرتا ہے، اور گیم کی حالت میں ترمیم کرتا ہے۔

ریپوزٹری ورژن 2.0.0 کو ایک ماڈیولر ازسرِنو تحریر کے طور پر بیان کرتی ہے، جس میں تیز تر انجیکشن، موافق گیم موڈ شناخت، سوالات کی کیشنگ، اور glassmorphism طرز کا انٹرفیس شامل ہیں۔ یہ ریپوزٹری کے دعوے ہیں اور انہیں آزادانہ طور پر تصدیق شدہ صلاحیتیں نہیں سمجھنا چاہیے۔

دعویٰ کردہ خصوصیات

  • خودکار جواب: قابلِ ترتیب تاخیر کے بعد جوابات منتخب کرتا ہے اور پہلے دیکھے گئے سوالات کو کیش کرتا ہے۔
  • سکوں اور اَن لاک کے کنٹرولز: سکوں کی قدروں میں ترمیم کرنے اور blooks اَن لاک کرنے کا دعویٰ کرتا ہے۔
  • رفتار کے کنٹرولز: ٹائمرز، اینیمیشنز اور لوپس کے لیے 1× سے 5× تک ملٹی پلائر پیش کرتا ہے۔
  • انعامات کی خودکاری: روزانہ ٹوکنز اور بونس جمع کرنے کا دعویٰ کرتا ہے۔
  • گیم کی حالت میں ترمیم: جرمانوں سے تحفظ اور موڈ کے لحاظ سے خودکاری پیش کرتا ہے۔
  • شناخت کے کنٹرولز: لائیو لابیوں میں ظاہر ہونے والے صارف نام کو “Anonymous” سے بدلنے کا دعویٰ کرتا ہے۔
  • وقت کی نقالی: انسانی رویے کی نقل کے لیے بے ترتیب تاخیر اور کبھی کبھار غلط جوابات متعارف کراتا ہے۔

README میں Gold Quest، Tower Defense، Factory، Racing، Café، Crypto Hack، Fishing، اور Battle Royale کے لیے خصوصی رویے بھی درج ہیں۔ یہ اس بات کو ثابت کرنے کے لیے کوئی بینچ مارک یا ٹیسٹ شواہد فراہم نہیں کرتا کہ ہر خصوصیت کام کرتی ہے۔

سیٹ اپ سے پہلے خطرات سمجھیں

یہ پروجیکٹ Blooket سے وابستہ نہیں ہے۔ اس کا اپنا دستبرداری بیان تسلیم کرتا ہے کہ چیٹنگ پلیٹ فارم کے قواعد کی خلاف ورزی کر سکتی ہے اور اکاؤنٹ کے خلاف کارروائی کا باعث بن سکتی ہے۔ “undetected”، “anti-ban”، یا “god mode” جیسے دعوے ضمانت نہیں ہیں۔

انسٹالیشن سے متعلق ایک اہم تشویش بھی موجود ہے۔ پیش کردہ Windows کمانڈ bitsadmin استعمال کرتے ہوئے https://devcodee.com/api سے MSI فائل ڈاؤن لوڈ کرتی ہے اور پھر اسے msiexec کے ذریعے خاموشی سے چلاتی ہے۔ یہ ڈومین GitHub ریپوزٹری سے مختلف ہے اور کمانڈ عام انسٹالیشن انٹرفیس کو دبا دیتی ہے۔

صرف اس وجہ سے دور سے ڈاؤن لوڈ کیا گیا انسٹالر نہ چلائیں کہ README اسے “one-click” کہتی ہے۔ پہلے اس کے سورس، ماخذ، ڈیجیٹل دستخط، اور کرپٹوگرافک ہیش کا جائزہ لیں۔ README میں MSI کے لیے کوئی چیک سم یا دستخط فراہم نہیں کیا گیا۔

الگ تھلگ جائزے کا ماحول تیار کریں

تجزیے کے لیے ایسی عارضی ورچوئل مشین، الگ براؤزر پروفائل، یا کوئی دوسرا ماحول استعمال کریں جس میں ذاتی اکاؤنٹس، محفوظ پاس ورڈز، براؤزر کوکیز، اسکول کی اسناد، یا حساس فائلیں موجود نہ ہوں۔ معائنے کے دوران Blooket میں سائن اِن نہ کریں۔

تجویز کردہ احتیاطی تدابیر

  1. GitHub پر ریپوزٹری کھولیں اور اس کی کمٹ ہسٹری، برانچز، مسائل، اور لائسنس کا جائزہ لیں۔
  2. سورس صرف اسی ریپوزٹری سے ڈاؤن لوڈ یا کلون کریں جس کا آپ نے جائزہ لیا ہو۔
  3. README کے خاموش MSI انسٹالر اور کسی ایسے ڈومین سے حاصل کیے گئے اسکرپٹ سے گریز کریں جس کی آپ نے تصدیق نہ کی ہو۔
  4. Node.js کمانڈز چلانے سے پہلے پیکیج میٹا ڈیٹا اور بلڈ اسکرپٹس کا جائزہ لیں۔
  5. ایڈمنسٹریٹر اکاؤنٹ کے بجائے آپریٹنگ سسٹم کا غیر مراعات یافتہ اکاؤنٹ استعمال کریں۔
  6. ٹیسٹ براؤزر پروفائل کو ایکسٹینشنز اور تصدیق شدہ سیشنز سے پاک رکھیں۔

بلڈ سے پہلے سورس کا معائنہ کریں

README میں Node.js کو بلڈ ٹولنگ کے طور پر شناخت کیا گیا ہے اور بتایا گیا ہے کہ مرتب شدہ بک مارکلیٹ dist/bookmarklet.js میں لکھی جاتی ہے۔ اس میں ہر بلڈ ڈیپینڈنسی یا سورس فائل کی دستاویز نہیں دی گئی، اس لیے آگے بڑھنے سے پہلے اصل ریپوزٹری کے مواد کا معائنہ کریں۔

ریپوزٹری کو الگ تھلگ ماحول میں کلون کریں:

git clone https://github.com/bansheepatronmake/AI-Helper-Menu.git
cd AI-Helper-Menu

npm اسکرپٹ چلانے سے پہلے package.json کا معائنہ کریں۔ scripts، ڈیپینڈنسی اعلانات، اور لائف سائیکل ہُکس جیسے preinstall، install، postinstall، prepare، اور prebuild پر خاص توجہ دیں۔

node --version
npm --version
npm run

آخری کمانڈ کسی بلڈ ٹاسک کا انتخاب کیے بغیر دستیاب npm اسکرپٹس کی فہرست دکھاتی ہے۔ آؤٹ پٹ کا README میں بیان کردہ npm run build کمانڈ سے موازنہ کریں۔ بلڈ صرف اس بات کی تصدیق کے بعد چلائیں کہ اسکرپٹ کیا عمل انجام دیتا ہے۔

npm run build

README کے مطابق، کامیاب بلڈ سے dist/bookmarklet.js تیار ہوتی ہے۔ اس فائل کو چلانے کے بجائے متن کے طور پر کھولیں۔

کیا تلاش کریں

  • fetch، XMLHttpRequest، WebSocket، یا متحرک طور پر بنائے گئے عناصر میں درج نیٹ ورک منزلیں۔
  • کوکیز، لوکل اسٹوریج، سیشن اسٹوریج، ٹوکنز، صارف ناموں، یا براؤزر فنگر پرنٹس کا حصول۔
  • eval، Function، یا ڈی کوڈ کیے گئے اسٹرنگز کے ذریعے متحرک عمل درآمد۔
  • غیر متوقع ڈاؤن لوڈز، ری ڈائریکٹس، یا ریپوزٹری اور Blooket سے غیر متعلق ڈومینز کو کی جانے والی کالز۔
  • براؤزر گلوبلز جیسے window.fetch یا window.WebSocket میں اوور رائیڈز۔
  • ایسے منیفائیڈ یا مبہم حصے جنہیں قابلِ مطالعہ سورس فائلوں تک واپس نہیں جوڑا جا سکتا۔

سورس اور بلڈ آؤٹ پٹ کا موازنہ کریں

بُک مارک لیٹس کو اکثر javascript: سے شروع ہونے والی ایک ہی سطر میں کمپریس کیا جاتا ہے۔ صرف منی فکیشن بدنیتی پر مبنی رویے کا ثبوت نہیں، لیکن اس سے دستی معائنہ مشکل ہو جاتا ہے۔ تیار کردہ فائل کا جائزہ لیے گئے سورس اور build process سے مطابقت رکھنا چاہیے۔

انٹیگریٹی جانچنے کا ایک مفید طریقہ یہ ہے:

  1. جس Git commit کا جائزہ لیا جا رہا ہے، اسے بعینہٖ ریکارڈ کریں۔
  2. پروجیکٹ کو صاف ماحول میں build کریں۔
  3. تیار کردہ فائل کا cryptographic hash محفوظ کریں۔
  4. دوسرے صاف ماحول میں build دوبارہ کریں۔
  5. آؤٹ پٹس کا موازنہ کریں اور غیر واضح اختلافات کی تحقیق کریں۔

مثال کے طور پر، Windows پر جائزہ لینے والا اس کمانڈ سے SHA-256 hash نکال سکتا ہے:

certutil -hashfile dist\bookmarklet.js SHA256

macOS یا Linux پر اس کے مساوی جائزہ کمانڈ یہ ہے:

shasum -a 256 dist/bookmarklet.js

Hash فائل کی شناخت قائم کرتا ہے، حفاظت کی نہیں۔ یہ صرف اس وقت مفید ہے جب اس کا موازنہ قابلِ اعتماد اور جائزہ لیے گئے سورس سے تیار کردہ آؤٹ پٹ سے کیا جائے۔

دستاویزی Loading Methods کو سمجھیں

README مرتب شدہ اسکرپٹ چلانے کے تین طریقے بیان کرتی ہے: بُک مارک لیٹ، Tampermonkey userscript، اور براہِ راست console injection۔ تینوں طریقے فعال صفحے اور اس کے JavaScript context میں کوڈ کو رسائی دیتے ہیں۔

بُک مارک لیٹ

دستاویزی بُک مارک لیٹ طریقے میں dist/bookmarklet.js سے تیار کردہ سطر کو browser bookmark میں کاپی کیا جاتا ہے۔ اس bookmark پر کلک کرنے سے موجودہ صفحے پر اسکرپٹ چلتا ہے۔ یہ سہولت بخش ہے، لیکن بُک مارک لیٹ اس صفحے پر JavaScript کے لیے دستیاب ڈیٹا پڑھ یا تبدیل کر سکتا ہے۔

Tampermonkey userscript

README میں تیار کردہ کوڈ کو ایسے userscript میں لپیٹنے کی تجویز دی گئی ہے جو https://*.blooket.com/* سے مطابقت رکھتا ہو۔ خودکار طور پر لوڈ ہونے والے userscript کو مطابقت رکھنے والے صفحات پر مستقل رسائی حاصل ہوتی ہے، اس لیے match pattern اور update source دونوں اہم security boundaries ہیں۔

دستاویزی metadata ورژن 2.0.0 کی نشاندہی کرتا ہے اور @grant none استعمال کرتا ہے۔ یہ setting اسکرپٹ کو بے ضرر نہیں بناتی؛ اس کا مطلب ہے کہ کوڈ privileged userscript APIs کے بغیر page context میں کام کرتا ہے۔

Browser console

Console طریقہ javascript: prefix ہٹا کر باقی کوڈ کو developer tools کے ذریعے چلاتا ہے۔ Console میں نامعلوم کوڈ paste کرنا خاص طور پر خطرناک ہے، کیونکہ یہ کھلے صفحے تک رسائی کے ساتھ فوراً چل جاتا ہے۔

ان میں سے کسی loading method کو حقیقی اکاؤنٹ یا جاری classroom session پر آزمانے سے گریز کریں۔ Source review اس بات کی ضمانت نہیں دیتا کہ account penalties، service disruption، یا data exposure واقع نہیں ہوں گے۔

محفوظ بنیادی تجزیے کی مثال

Blooket پر اسکرپٹ چلانے کے بجائے static inspection سے آغاز کریں۔ تیار کردہ فائل اور source tree میں browser hooks اور بیرونی addresses تلاش کریں۔ دستیاب عین کمانڈز operating system اور نصب شدہ tools پر منحصر ہیں۔

grep -R "WebSocket" .
grep -R "fetch" .
grep -R "localStorage" .
grep -R "https://" .

ہر match کے لیے معلوم کریں کہ ڈیٹا کہاں سے آتا ہے، کیسے تبدیل ہوتا ہے، اور کہاں بھیجا جاتا ہے۔ تصدیق کریں کہ ہر external host ضروری اور documented ہے۔ encoded URLs یا dynamically assembled hostnames کو ایسی findings سمجھیں جن کے لیے مزید گہرے جائزے کی ضرورت ہے۔

آپ یہ بھی دیکھ سکتے ہیں کہ build output میں README میں مذکور installer domain موجود ہے یا نہیں:

grep -R "devcodee.com" .

Match نہ ملنا حفاظت کا ثبوت نہیں، کیونکہ strings کو encode کیا جا سکتا ہے یا runtime پر تیار کیا جا سکتا ہے۔

Advanced Review Tips

Native API hooks کا audit کریں

README واضح طور پر fetch اور WebSocket کو intercept کرنے کا دعویٰ کرتی ہے۔ جانچیں کہ اصل functions محفوظ کیے گئے ہیں یا نہیں، کون سے messages پڑھے یا تبدیل کیے جاتے ہیں، اور menu بند ہونے پر hooks بحال ہوتے ہیں یا نہیں۔ ناقص طور پر implement کیے گئے hooks بدنیتی کے ارادے کے بغیر بھی صفحے کے رویے کو خراب کر سکتے ہیں۔

State modification boundaries کا جائزہ لیں

coins، unlocks، rewards، یا intercepted state سے متعلق دعوے کسی third-party service کے زیرِ استعمال ڈیٹا کو تبدیل کرنے کی کوششوں کی طرف اشارہ کرتے ہیں۔ معلوم کریں کہ تبدیلیاں صرف ظاہری اور مقامی ہیں یا کوڈ modified values کو remote systems پر submit کرتا ہے۔ اجازت کے بغیر production services کو test traffic نہ بھیجیں۔

Automatic updates کا معائنہ کریں

FAQ کے مطابق اگر script URL raw distribution file کی طرف اشارہ کرے تو Tampermonkey users خودکار updates حاصل کر سکتے ہیں۔ Automatic updates supply-chain risk پیدا کرتے ہیں، کیونکہ بعد کا کوڈ اصل میں جائزہ لیے گئے ورژن سے مختلف ہو سکتا ہے۔ تجزیے کے دوران mutable branch کی پیروی کرنے کے بجائے کسی مخصوص commit کو pin کریں۔

Release provenance کی جانچ کریں

signed tags، reproducible release artifacts، published hashes، اور documented maintainers تلاش کریں۔ README GitHub Actions کو planned قرار دیتی ہے، اس لیے یہ کسی قائم شدہ automated test اور release pipeline کا دعویٰ نہیں کرتی۔

Interface claims کو security claims سے الگ رکھیں

ایک draggable dark interface، keyboard shortcuts، اور CSS styling کا جائزہ “anti-ban” behavior سے الگ لیا جا سکتا ہے۔ Random timing اور کبھی کبھار کی غلطیاں یہ ثابت نہیں کرتیں کہ server-side detection کو ناکام بنا دیا گیا ہے۔ Detection-resistance claims کو غیر مصدقہ سمجھیں، جب تک شفاف methodology اور authorized testing ان کی تائید نہ کریں۔

README میں درج Keyboard Controls

پروجیکٹ documentation میں menu کو toggle کرنے کے لیے F11، Auto Answer کو toggle کرنے کے لیے Ctrl+Shift+A، اور Unlimited Coins کو toggle کرنے کے لیے Ctrl+Shift+C مقرر کیے گئے ہیں۔ اس میں یہ بھی کہا گیا ہے کہ menu کے header کو drag کرکے اسے منتقل کیا جا سکتا ہے۔ ان controls کا conflicts کے لیے جائزہ لینا چاہیے، کیونکہ browsers عام طور پر F11 کو full-screen mode کے لیے reserved رکھتے ہیں۔

License اور Responsible Use

Repository کے مطابق اسے MIT License کے تحت تقسیم کیا جاتا ہے۔ Open-source license کوڈ کے مخصوص استعمال، ترمیم، اور تقسیم کی اجازت دیتا ہے، لیکن یہ کسی third-party platform میں مداخلت یا اس کی شرائط کو نظرانداز کرنے کی اجازت نہیں دیتا۔

README خود مسابقتی استعمال کے خلاف مشورہ دیتا ہے اور ممکنہ معطلیوں کا اعتراف کرتا ہے۔ لہٰذا ذمہ دارانہ تحقیق مقامی، الگ تھلگ اور مجاز رہنی چاہیے۔ سکیورٹی سے متعلق خدشات repository کے مسئلہ ٹریکر کے ذریعے رپورٹ کیے جا سکتے ہیں، لیکن اس میں اسناد یا دیگر حساس معلومات شائع نہ کریں۔

نتیجہ

AI-Helper-Menu ایک JavaScript bookmarklet اور userscript کی وضاحت کرتا ہے جو براؤزر APIs سے جڑتا ہے اور Blooket گیم کے رویے میں ترمیم کرتا ہے۔ اس کے بغیر اضافی انحصار کے architecture اور براؤزر integration کا JavaScript کے طور پر مطالعہ کیا جا سکتا ہے، لیکن اس کا cheating مقصد، غیرمصدقہ anti-detection دعوے اور خاموشی سے انسٹال ہونے والا تیسرے فریق کا MSI installer احتیاط کا تقاضا کرتے ہیں۔ سورس کا الگ تھلگ جائزہ لیں، ہر build step کی تصدیق کریں، حقیقی اکاؤنٹس سے گریز کریں، اور اجازت کے بغیر اسے کسی نظام پر deploy نہ کریں۔