یکی از توسعه دهندگان مایکروسافت معتقد است که ReactOS نمی تواند بدون قرض گرفتن کد ویندوز کار کند

Axel Rietschin، مهندس مایکروسافت که هسته ویندوز را توسعه می دهد، مورد سوال قرار گرفت توانایی توسعه سیستم عامل ReactOS بدون قرض گرفتن کد از ویندوز. به نظر او، توسعه دهندگان ReactOS از کدهایی از هسته تحقیقاتی ویندوز استفاده کردند که کد منبع آن برای دانشگاه ها مجوز داشت. لو رفتن این کد در مکان های مختلفی از جمله GitHub منتشر شده است.

ریچن مطمئن است که نوشتن هسته ReactOS از ابتدا همانطور که اکنون نوشته شده است، از نظر فیزیکی غیرممکن است، تنها با استفاده از اسناد عمومی موجود. به طور خاص، نام ساختارها و توابع داخلی در هسته ReactOS با نام‌های مشابه در هسته تحقیقاتی ویندوز منطبق است، در حالی که این نام‌ها در هنگام اسمبلی صادر نمی‌شوند و در هیچ کجا به جز در کد اصلی ظاهر نمی‌شوند. همین امر در مورد نام‌ها و پارامترهای ماکرو نیز صدق می‌کند که نام آن‌ها را نمی‌توان بدون مشاهده کد اصلی ویندوز به‌طور دقیق بازتولید کرد.

به یاد بیاورید که در سال 2006 ReactOS داشت آشکار کرد شامل حدود 100 خط کد اسمبلی که با دیکامپایل کردن ویندوز به دست آمده است. پس از این، توسعه برای انجام ممیزی تقاطع های احتمالی حدود یک ماه به حالت تعلیق درآمد. از آن زمان، توسعه دهندگان ReactOS به ویژه در مورد بررسی کدهای منبع پیشنهادی برای گنجاندن در پروژه دقت کرده اند.

هنگام مهندسی معکوس برای مطابقت با قوانین حق چاپ ایالات متحده، پروژه ReactOS از یک طراحی دوگانه استفاده می کند که در آن یک محقق کار را تجزیه و تحلیل می کند و مستندات را بر اساس آن می نویسد، و توسعه دهنده دیگری از آن اسناد برای ایجاد یک پیاده سازی جدید برای ReactOS استفاده می کند. ممکن است در مرحله تجزیه و تحلیل از کدهای منبع ویندوز به دست آمده در نتیجه نشت استفاده شود و اسناد کامپایل شده همان نام توابع و ساختارها را منعکس کند، اما با طرح توسعه مورد استفاده در ReactOS، پیاده سازی کاملاً متفاوت خواهد بود و از ابتدا ایجاد شده است.

علاوه بر این، در حال حاضر ما بودیم حقایق انتشارات مربوط به نظارت بر مجموعه‌های هسته NT و W2K با اطلاعات رفع اشکال پاک نشده، از جمله داده‌های مربوط به نام متغیرهای داخلی. بسیاری از نام‌های ساختار و تابع نیز در فایل‌های هدر موجود در SDK/DDK یافت می‌شوند و ساختار فراخوانی‌های سیستم را می‌توان با تجزیه و تحلیل اجزایی مانند زمان اجرا COM تعیین کرد. بدون تمیز کردن جداول نام نمادین، به‌روزرسانی‌های رفع فوری اغلب منتشر می‌شوند. علاوه بر این، برخی از برنامه‌ها و درایورهای ویندوز از تماس‌های غیر عمومی و غیرمستند استفاده می‌کنند و بسیاری از ویژگی‌های پنهان ویندوز در هنگام راه‌اندازی در سیستم‌های مجازی‌سازی و شبیه‌سازها آشکار می‌شوند.

توسعه دهندگان ReactOS می توانند از این اجزا در فرآیند مهندسی معکوس استفاده کنند.

منبع: opennet.ru

اضافه کردن نظر