में एलसी_LOAD_DYLIB कमांड को कैसे सम्मिलित करें मैं कुछ कोड के साथ त्याग करने का एक टुकड़ा पैच करना चाहता हूं।एक मैक-ओ बाइनरी (ओएसएक्स)
सॉफ्टवेयर कार्बन आधारित है, इसलिए मैं इनपुट प्रबंधक का उपयोग नहीं कर सकता (कम से कम, मुझे नहीं लगता कि मैं कर सकता हूं)। मेरा विचार माच-हे हेडर के लिए एक डाइलिब संदर्भ जोड़ना था, और प्रारंभिक दिनचर्या कहलाते समय एक नया धागा लॉन्च करना था।
मैंने उचित लोड कमांड (एलसी_ LOAD_DYLIB) जोड़ने के लिए हेक्सेडिटर का उपयोग करके मच-हे हेडर के साथ चारों ओर उलझा दिया है।
ओटोल रिपोर्ट करता है कि मैं क्या देखने की उम्मीद करता हूं, इसलिए मुझे पूरा विश्वास है कि फ़ाइल सही ढंग से स्वरूपित है।
Load command 63 cmd LC_LOAD_DYLIB cmdsize 60 name @executable_path/libAltInput.dylib (offset 24) time stamp 1183743291 Fri Jul 6 19:34:51 2007 current version 0.0.0 compatibility version 0.0.0
हालांकि, द्विआधारी शुरू करने के लिए मुझे निम्न त्रुटि
dyld: bad external relocation length
सभी मैं इसका मतलब यह है अनुमान लगा सकते हैं कि मैं LC_ SYMTAB या LC_ DYNSYMTAB वर्गों संशोधित करने की आवश्यकता है देता है ...
क्या किसी के भी पास कोई सुझाव है?
ग्रेट। यह एक महान टिप है। आपको जवाब देने के लिए, नहीं, मैं ऐप वितरित नहीं कर रहा हूं। मैं इसे अपने व्यक्तिगत उपयोग के लिए पैच कर रहा हूं ताकि मैं एक वैकल्पिक छिपाई का उपयोग कर सकूं (मैंने ऐप के डिस्ट्रीब्यूटर और छुपा के लिए ड्राइवर निर्माता दोनों पर आशा छोड़ दी है)। –
हाँ, मैंने बस अपना अन्य प्रश्न पढ़ा है ... mach_inject शायद आपकी सबसे अच्छी, सबसे आसान शर्त है। –