Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ish — iOS के लिए Linux शेल | Kitploit
उपकरण/GitHubGitHub/ish-app/ish
सामान्य उपयोगिताएँआईओएस सुरक्षा
GitHubish-app/ish

ish

iOS के लिए Linux शेल

रिपॉजिटरी देखेंवेबसाइट
20.2k1.4k124 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

iSH

Build Status goto counter fuck counter shit counter

iOS पर Linux शेल चलाने का एक प्रोजेक्ट, जो यूज़रमोड x86 एमुलेशन और सिस्कॉल अनुवाद का उपयोग करता है।

प्रोजेक्ट की वर्तमान स्थिति के लिए, issues टैब और कमिट लॉग देखें।

  • App Store पेज
  • TestFlight बीटा
  • डिस्कॉर्ड सर्वर
  • सहायता और ट्यूटोरियल के साथ विकी
  • README中文 (如若未能保持最新,请提交PR以更新)

हैकिंग

इस प्रोजेक्ट में एक git सबमॉड्यूल है, क्लोन करते समय --recurse-submodules का उपयोग करना सुनिश्चित करें या क्लोन करने के बाद git submodule update --init चलाएं।

प्रोजेक्ट बनाने के लिए आपको इन चीज़ों की आवश्यकता होगी:

  • Python 3
    • Meson (pip3 install meson)
  • Ninja
  • Clang और LLD (mac पर, brew install llvm, linux पर, sudo apt install clang lld या sudo pacman -S clang lld या जो भी)
  • sqlite3 (यह इतना सामान्य है कि linux पर पहले से इंस्टॉल हो सकता है और mac पर निश्चित रूप से पहले से इंस्टॉल है। यदि नहीं, तो कुछ ऐसा करें sudo apt install libsqlite3-dev)
  • libarchive (brew install libarchive, sudo port install libarchive, sudo apt install libarchive-dev) TODO: इस निर्भरता को बंडल करें

iOS के लिए बिल्ड करें

Xcode में प्रोजेक्ट खोलें, iSH.xcconfig खोलें, और ROOT_BUNDLE_IDENTIFIER को किसी अद्वितीय मान में बदलें। आपको प्रोजेक्ट (टार्गेट नहीं!) बिल्ड सेटिंग्स में डेवलपमेंट टीम ID को भी अपडेट करना होगा। फिर Run पर क्लिक करें। ऐसी स्क्रिप्ट हैं जो बाकी सब कुछ स्वचालित रूप से कर देंगी। यदि आपको कोई समस्या आती है, तो एक issue खोलें और मैं मदद करने का प्रयास करूंगा।

परीक्षण के लिए कमांड लाइन टूल बनाएं

अपना वातावरण सेट करने के लिए, प्रोजेक्ट में cd करें और meson build चलाएँ ताकि build निर्देशिका में एक बिल्ड डायरेक्टरी बने। फिर build डायरेक्टरी में cd करें और ninja चलाएँ।

एक सेल्फ-कंटेंड Alpine linux फाइलसिस्टम सेट करने के लिए, Alpine वेबसाइट से i386 के लिए Alpine minirootfs tarball डाउनलोड करें और ./tools/fakefsify चलाएँ, जिसमें पहला आर्गुमेंट minirootfs tarball और दूसरा आर्गुमेंट आउटपुट डायरेक्टरी का नाम हो। फिर आप Alpine फाइलसिस्टम के अंदर ./ish -f alpine /bin/sh के साथ चीज़ें चला सकते हैं, यह मानते हुए कि आउटपुट डायरेक्टरी का नाम alpine है। यदि tools/fakefsify आपकी build डायरेक्टरी में मौजूद नहीं है, तो हो सकता है कि वह आपके सिस्टम पर libarchive नहीं ढूँढ पाया (इसे इंस्टॉल करने के तरीकों के लिए ऊपर देखें)।

आप ish को tools/ptraceomatic से बदल सकते हैं ताकि प्रोग्राम को वास्तविक प्रक्रिया में चलाया जा सके और सिंगल स्टेप करके प्रत्येक चरण पर रजिस्टरों की तुलना की जा सके। मैं इसका उपयोग डीबगिंग के लिए करता हूँ। इसके लिए 64-bit Linux 4.11 या बाद का वर्शन आवश्यक है।

लॉगिंग

iSH में कई लॉगिंग चैनल हैं जिन्हें बिल्ड समय पर सक्षम किया जा सकता है। डिफ़ॉल्ट रूप से, सभी अक्षम हैं। उन्हें सक्षम करने के लिए:

  • Xcode में: iSH.xcconfig में ISH_LOG सेटिंग को लॉग चैनलों की स्पेस-सेपरेटेड सूची पर सेट करें।
  • Meson (परीक्षण के लिए कमांड लाइन टूल) के साथ: meson configure -Dlog="<लॉग चैनलों की स्पेस-सेपरेटेड सूची>" चलाएँ।

उपलब्ध चैनल:

  • strace: सबसे उपयोगी चैनल, लगभग हर सिस्टम कॉल के पैरामीटर और रिटर्न वैल्यू को लॉग करता है।
  • instr: एमुलेटर द्वारा निष्पादित प्रत्येक निर्देश को लॉग करता है। यह चीज़ों को बहुत धीमा कर देता है।
  • verbose: डीबग लॉग जो किसी अन्य श्रेणी में फिट नहीं होते।
  • यह देखने के लिए कि क्या इस सूची के अपडेट होने के बाद से और लॉग चैनल जोड़े गए हैं, DEFAULT_CHANNEL के लिए grep करें।

इंटरप्रेटर पर एक नोट

संभवतः iSH के हिस्से के रूप में मैंने जो सबसे दिलचस्प चीज़ लिखी है, वह इंटरप्रेटर है। यह JIT नहीं है क्योंकि यह मशीन कोड को लक्षित नहीं करता है। इसके बजाय यह गैजेट्स नामक फ़ंक्शंस के पॉइंटर्स की एक सरणी उत्पन्न करता है, और प्रत्येक गैजेट अगले फ़ंक्शन के लिए टेलकॉल के साथ समाप्त होता है; कुछ Forth इंटरप्रेटर्स द्वारा उपयोग की जाने वाली थ्रेडेड कोड तकनीक की तरह। परिणामस्वरूप सरल स्विच डिस्पैच का उपयोग करने वाले एमुलेशन की तुलना में लगभग 3-5x की गति वृद्धि होती है।

दुर्भाग्य से, मैंने लगभग सभी गैजेट्स को असेंबली भाषा में लिखने का निर्णय लिया। यह प्रदर्शन के दृष्टिकोण से शायद एक अच्छा निर्णय था (हालाँकि मुझे कभी पक्का पता नहीं चलेगा), लेकिन पठनीयता, रखरखाव और मेरी विवेकशीलता के दृष्टिकोण से एक भयानक निर्णय था। कंपाइलर/असेंबलर/लिंकर से मुझे जो बकवास सहनी पड़ी है, वह पागल कर देने वाली है। ऐसा लगता है जैसे इसमें कोई राक्षस है जो सुनिश्चित करता है कि मेरा कोड पर्याप्त रूप से विकृत हो, और यदि नहीं, तो यह बेवकूफी भरे कारण बनाता है कि इसे कंपाइल क्यों नहीं होना चाहिए। इस कोड को लिखते समय विवेकशील बने रहने के लिए, मुझे कोड संरचना और नामकरण में सर्वोत्तम प्रथाओं को अनदेखा करना पड़ा। आपको ss और s और a जैसे वर्णनात्मक नामों वाले मैक्रोज़ और वेरिएबल मिलेंगे। असेंबलर मैक्रोज़ अविश्वसनीय रूप से नेस्टेड हैं। और सबसे बढ़कर, लगभग कोई टिप्पणी नहीं है।

तो एक चेतावनी: इस कोड के लंबे समय तक संपर्क में रहने से विवेक की हानि, GAS मैक्रोज़ और लिंकर एरर के बारे में बुरे सपने, या अन्य कोई भी दुर्बल करने वाले दुष्प्रभाव हो सकते हैं। यह कोड कैलिफोर्निया राज्य द्वारा कैंसर, जन्म दोष और प्रजनन हानि का कारण बनने के लिए जाना जाता है।

टूल डाउनलोड करें