मैं लिनक्स (डब्ल्यूएसएल) के लिए विंडोज सबसिस्टम के अंदर एक लिनक्स बाइनरी से विंडोज एपीआई फ़ंक्शंस को कैसे कॉल कर सकता हूं? मुझे पूरा यकीन है कि ऐसा करने के लिए कोई दस्तावेज तरीका नहीं है, लेकिन फिर भी कोशिश करना दिलचस्प हो सकता है।लिनक्स प्रक्रियाओं के लिए विंडोज सबसिस्टम से Win32/NT-native API को कॉल करें?
मुझे Win32 फ़ंक्शंस को कॉल करने में दिलचस्पी है, या यदि यह संभव नहीं है, तो कम से कम विंडोज एनटी देशी एपीआई (एनटी *, ज़ेड *)। मूल एपीआई बहुत कम उपलब्ध होनी चाहिए, क्योंकि घटक जो लिनक्स प्रक्रियाओं (एलएक्सएसएस) चलाता है, इन एपीआई पर निर्भर करता है।
विंडोज़ डीएलएल लोड करने के लिए कस्टम लोड लाइब्रेरी-जैसे फ़ंक्शन बनाने के लिए यह संभव नहीं हो सकता है। एक और विचार कर्नेल कार्यों के ज्ञात टुकड़ों (यानी, उनके उपयोगकर्ता-मोड प्रविष्टि बिंदु) के लिए प्रक्रिया स्मृति को खोजना होगा।
क्या किसी ने इसका प्रयोग किया है और समाधान साझा करना चाहते हैं?
यह प्रस्तुति - https://github.com/ionescu007/lxss/blob/master/The%20Linux%20kernel%20hidden%20inside%20windows%2010.pdf - सुझाव देता है (कम से कम मेरे लिए) कि लिनक्स प्रक्रियाएं इतनी हैं पिक्चर को संसाधित किया गया है कि उनके पता स्थान पर कोई ntdll मैप नहीं किया गया है। साथ ही, सभी सिस्टम कॉल को डब्लूएसएल के लिए पिको प्रोसेस प्रदाता द्वारा नियंत्रित किया जाता है (मुझे उम्मीद है कि वे सिर्फ अलग सिस्टम सेवा प्रेषण तालिका का उपयोग करें, इसलिए एनटी सिस्कोल उपयोगकर्ता स्पेस से पहुंच योग्य नहीं हैं)। –