اگر به عنوان یک توسعهدهنده در ایران سعی کرده باشید از محیط توسعه جدید گوگل (Google Antigravity IDE) استفاده کنید، حتماً دیدهاید که حتی با بهترین فیلترشکنها و قویترین کانفیگهای اختصاصی، باز هم با ارورهای معروفی مثل:
User location is not supported (خطای 403 Forbidden)
Eligibility Gate Check Failed
You do not have a valid license of this product (#3501) مواجه میشوید و ادیتور اجازه چت، کدنویسی یا استفاده از Agentها را نمیدهد.
خیلی از افراد فکر میکنند مشکل فقط آیپی یا پروکسی است؛ اما واقعیت این است که گوگل در معماری Antigravity چندین لایه اعتبارسنجی و سد سختگیرانه تعبیه کرده است. در این مقاله میخواهیم پرده از معماری امنیتی آنتیگراویتی برداریم و توضیح دهیم که در پروژه متنباز Antigravity Cleaner دقیقاً چه بلایی سر هسته باینری آن آوردیم تا محدودیتها کاملاً برداشته شوند!
گوگل برای مسدودسازی دسترسی، فقط به هدرهای HTTP یا آیپی تکیه نکرده، بلکه یک سیستم بازرسی چندمرحلهای ساخته است:
language_server.exe)مغز متفکر آنتیگراویتی یک باینری فوقالعاده حجیم و کامپایلشده به زبان Go به نام language_server است. این موتور مستقل از ادیتور اجرا شده و مسئول ارتباط با مدلهای هوش مصنوعی و احراز هویت است. درون این فایل، روتینهای ماشینکد (Machine Code) مستقیمی وجود دارند که توکنهای کاربر و اعتبارسنجی کشور (hasValidAuth) را در سطح ثباتهای پردازنده (CPU Registers) بررسی میکنند. اگر فلگ مربوطه صفر باشد، کل ارتباط قطع میشود.
main.js)گوگل در فایل باندلشده main.js ادیتور، گیت معروفی به نام isGoogleInternal و اعتبارسنجیهای محلی لایسنس را قرار داده که محیط را ایزوله و قفل نگه میدارد.
extension.js)اگر فایلی را به صورت دستی تغییر دهید، اکستنشن رسمی گوگل با بررسی هشها و چک کردن کانالهای ریلیز، فایل دستکاریشده را حذف و نسخه قفلشده جدید را مجدداً از سرورهای گوگل دانلود میکند (Re-download Guard)!
برای باز کردن این قفلها بدون آسیب زدن به پایداری سیستم، یک ابزار نیتیو با زبان Go نوشتیم که دستکاریهای جراحی زیر را روی باینری پیادهسازی میکند:
فایل language_server بیش از ۱۶۰ مگابایت حجم دارد. ما به جای پچهای کند یا اسکریپتهای سنگین پایتونی، یک موتور اسکن الگوریتم Boyer-Moore در Go نوشتیم که کل باینری را در کسری از ثانیه شخم میزند و پترنهای هگزادسیمال گیتهای احراز هویت را در حافظه پیدا میکند.
در هسته زبان ماشین، ساختار بررسی وضعیت کاربر به صورت زیر است:
در پترن x64: دستور مقایسه وضعیت فلگ کاربر (cmp byte ptr [rax + 8], 0) و پرش شرطی (74 ??) شناسایی شده و به صورت درجا با دستور ماشینکد تزریق مقدار معتبر (mov byte ptr [rax + 8], 1 یا همان بایتهای هگز c6 40 08 01 90 90) جایگزین میشود.
در معماری ARM64: پترنهای رجیسترهای ARM با دستورات معادل (23 00 80 52) بازنویسی میشوند. این تغییر باعث میشود هسته language_server در تمام طول اجرا، وضعیت احراز هویت و ریجن را «معتبر و آنلاکشده» در نظر بگیرد.
در سطح اکستنشن، مکانیزم isChannelChanged را قفل کردیم و یک گارد بازرسی تزریق کردیم تا مانع از دانلود مجدد فایلهای دستنخورده از سرورهای گوگل شود.
وقتی سهمیه توکنها دچار لوپ یا کرپشن میشود، کلینر ما با ایزولهسازی دقیق SQLiteها و فایلهای وضعیت (DIPS، Cookies، Trust Tokens)، کشهای فاسد را بدون اینکه پروژهها، اکستنشنها، کلیدهای میانبر یا تاریخچه چتهای شما پاک شوند، ریست میکند.
در نهایت، برای اتصال به کلاینتهای آزادی اینترنت (Xray, Clash, Sing-box, Hiddify) ترافیک به جای اشغال کردن کل کارت شبکه سیستم (حالت سنگین TUN)، مستقیماً از طریق متغیرها و لوپبک لوکال هدایت میشود.
تمام این فرایندهای پیچیده مهندسی معکوس، داخل یک فایل اجرایی سبک و پرسرعت تجمیع شده است:
فایل نسخه سیستمعامل خود (ویندوز، مک یا لینوکس) را از صفحه رسمی ریلیز گیتهاب دانلود کنید: 👉 دانلود آخرین نسخه Antigravity Cleaner از گیتهاب
روی فایل .exe در ویندوز دابلکلیک کنید.
روی دکمه Auto-Fix & Patch کلیک کنید. در کمتر از ۲ ثانیه، هسته باینری پچ شده، گاردها خنثی میشوند و آنتیگراویتی بدون هیچ خطای ۴۰۳ یا ریجنلاکی آماده استفاده خواهد بود!
⭐ حمایت از این پروژه متنباز: این پروژه حاصل ساعتها مهندسی معکوس، دیباگ اسمبلی و توسعه خالص برای آزادی دسترسی توسعهدهندگان ایرانی به فناوری هوش مصنوعی است. اگر این ابزار به کار و زندگی شما کمک کرد، خوشحال میشویم با دادن یک ستاره (Star) در گیتهاب به بیشتر دیده شدن آن کمک کنید:
🔗 ریپازیتوری در گیتهاب:
https://github.com/tawroot/antigravity-cleaner