عادة يمكن تشغيل البرامج المكتوبة بلغة VB بشكل طبيعي على أنظمة 32 بت، ولكن يمكن تشغيلها على أنظمة 64 بت ولكن لا يمكنها تعديل معلومات OEM. بعد البحث عن السبب، نجد أنه عندما نصل إلى المجلد "SYSTEM32"، سيقوم النظام تلقائيًا بإعادة التوجيه إلى المجلد "SYSWOW64". وعندما نصل إلى مفاتيح تسجيل معينة، على غرار إعادة توجيه الملفات، سيقوم النظام أيضًا بإعادة التوجيه تلقائيًا وصول البرنامج إلى Wow6432Node.
لنتحدث عن إعادة توجيه نظام الملفات أولاً، لقد بحثت عن بعض المعلومات ولم تكن هناك معلومات متعلقة بـ VB، ولكن يمكنني العثور على وظيفتين مرتبطتين: Wow64DisableWow64FsRedirection (إيقاف تشغيل إعادة توجيه النظام) وWow64RevertWow64FsRedirection (تشغيل إعادة توجيه النظام).
بيان VB هو كما يلي:
وظيفة الإعلان الخاصة Wow64RevertWow64FsRedirection Lib "kernel32.dll" () وظيفة الإعلان الخاصة Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()
ثم استخدم عبارة CALL Wow64DisableWow64FsRedirection لإيقاف تشغيل إعادة توجيه نظام الملفات.
دعونا نتحدث عن توجيه مفاتيح التسجيل:
لا توجد معلومات VB حول هذا الأمر حتى الآن، لكنني أعلم أن هناك وظيفة RegOpenEx (يحتوي VB على هذه الوظيفة، راجع متصفح API للاستخدام) يمكنها تحديد ما إذا كنت تريد إعادة التوجيه أم لا، فما عليك سوى إضافة 256 (&H100) إلى samDesired [Long]. معلمة الوظيفة للوصول إلى 64 بت من التسجيل. نظرًا لوجود الكثير من رموز تسجيل الوصول إلى واجهة برمجة التطبيقات (API)، فلن أقوم بنشرها هنا.