
StaCoAn एक क्रॉसप्लेटफ़ॉर्म उपकरण है जो डेवलपर्स, बगबाउंटी हंटर्स और एथिकल हैकर्स को मोबाइल एप्लिकेशन पर स्थैतिक कोड विश्लेषण करने में सहायता करता है।

StaCoAn एक क्रॉस-प्लेटफ़ॉर्म उपकरण है जो डेवलपर्स, बग बाउंटी शिकारियों और नैतिक हैकर्स को मोबाइल अनुप्रयोगों पर स्थैतिक कोड विश्लेषण करने में सहायता करता है*।
यह उपकरण कोड में उन पंक्तियों की खोज करेगा जिनमें हो सकते हैं:
यह उपकरण उपयोगकर्ता इंटरफ़ेस में उपयोगिता और ग्राफिकल मार्गदर्शन पर बड़े ध्यान के साथ बनाया गया था।
अधीर लोगों के लिए, रिलीज़ पेज पर डाउनलोड लें।
*: ध्यान दें कि वर्तमान में केवल apk फ़ाइलें समर्थित हैं, लेकिन ipa फ़ाइलें बहुत जल्द आएंगी।
एक उदाहरण रिपोर्ट यहाँ पाई जा सकती है।
अवधारणा यह है कि आप अपनी मोबाइल एप्लिकेशन फ़ाइल (एक .apk या .ipa फ़ाइल) को StaCoAn एप्लिकेशन पर ड्रैग और ड्रॉप करते हैं और यह आपके लिए एक दृश्य और पोर्टेबल रिपोर्ट उत्पन्न करेगा। आप सेटिंग्स और शब्दसूचियों को ट्वीक करके एक अनुकूलित अनुभव प्राप्त कर सकते हैं।
रिपोर्ट में एक सुविधाजनक ट्री व्यूअर होता है ताकि आप अपने डीकंपाइल किए गए एप्लिकेशन को आसानी से ब्राउज़ कर सकें।

लूट फ़ंक्शन आपको उन खोजों को 'लूट' (~बुकमार्क) करने देता है जो आपके लिए मूल्यवान हैं और लूट-पेज पर आपको अपनी 'लूट' छापे का एक अवलोकन मिलेगा।
अंतिम रिपोर्ट को एक ज़िप फ़ाइल में निर्यात किया जा सकता है और अन्य लोगों के साथ साझा किया जा सकता है।
एप्लिकेशन कोड में दिलचस्प पंक्तियाँ खोजने के लिए शब्दसूचियों का उपयोग करता है। शब्दसूचियाँ निम्नलिखित प्रारूप में हैं:
API_KEY|||80||| This contains an API key reference
(https|http):\/\/.*api.*|||60||| This regex matches any URL containing 'api'
ध्यान दें कि ये शब्दसूचियाँ regex प्रविष्टियों का समर्थन करती हैं।
exclusion_list.txt में आप अपवाद परिभाषित कर सकते हैं (यदि किसी कारण से बहुत अधिक खोजें हैं):
(https|http):\/\/.*api.*|||"res","layout"||| पहले की तरह, ध्यान दें कि "res","layout" पथ जैसा दिखता है
(https|http):\/\/.*api.*|||||| हर जगह बहिष्कृत करने के लिए
किसी भी स्रोत फ़ाइल को संसाधित किया जाएगा। इसमें '.java', '.js', '.html', '.xml',... फ़ाइलें शामिल हैं।
डेटाबेस-फ़ाइलों में भी कीवर्ड खोजे जाते हैं। डेटाबेस में एक टेबल व्यूअर भी है।

रिपोर्ट सभी स्क्रीन पर फ़िट होने के लिए बनाई गई हैं।


इस उपकरण को अस्पष्ट कोड के साथ समस्या होगी। यदि आप एक डेवलपर हैं, तो इस उपकरण को चलाने से पहले बिना अस्पष्टता के संकलन करने का प्रयास करें। यदि आप आक्रामक पक्ष पर हैं, तो शुभकामनाएँ भाई।
यदि आप जल्द से जल्द शुरू करना चाहते हैं, तो रिलीज़ पेज पर जाएँ और अपने ऑपरेटिंग सिस्टम के अनुरूप निष्पादनीय या संग्रह डाउनलोड करें।
यदि आपने रिलीज़ ज़िप फ़ाइल डाउनलोड की है, तो इसे निकालें।
Windows पर आप बस निष्पादनीय पर डबल-क्लिक कर सकते हैं। यह सर्वर मोड में खुलेगा और आप अपने मोबाइल एप्लिकेशन को वेब इंटरफ़ेस में ड्रैग और ड्रॉप कर सकते हैं।

Mac और Linux पर आप इसे सर्वर-मोड के लिए बिना तर्कों के टर्मिनल से चला सकते हैं।
./stacoan
इस फ़ाइल को निष्पादनीय पर ड्रैग और ड्रॉप करें।
या आप सर्वर-मोड के बिना चलाने के लिए एक apk-फ़ाइल निर्दिष्ट कर सकते हैं:
./stacoan -p test-apk.apk
रिपोर्ट को apk के नाम के अनुरूप एक फ़ोल्डर में रखा जाएगा।
cd docker
docker build . -t stacoan
सुनिश्चित करें कि आपका एप्लिकेशन /yourappsfolder स्थान पर है।
docker run -e JAVA_OPTS="-Xms2048m -Xmx2048m" -p 8888:8888 -p 7777:7777 -i -t stacoan
अपने एप्लिकेशन को http://127.0.0.1:7777 के माध्यम से ड्रैग और ड्रॉप करें।
git clone https://github.com/vincentcox/StaCoAn/
cd StaCoAn/src
सुनिश्चित करें कि आपके पास pip3 स्थापित है:
sudo apt-get install python3-pip
आवश्यक python पैकेज स्थापित करें:
pip3 install -r requirements.txt
StaCoAn को कमांडलाइन के माध्यम से चलाएँ:
python3 stacoan.py -p yourApp.apk
या यदि आप ड्रैग और ड्रॉप इंटरफ़ेस का उपयोग करना पसंद करते हैं:
python3 stacoan.py
सुनिश्चित करें कि आप src फ़ोल्डर में हैं।
cd src
PyInstaller स्थापित करें:
pip3 install pyinstaller
PyInstaller कोड के साथ उपफ़ोल्डरों को नहीं संभाल सकता, इसलिए हमें कोड को एक फ़ोल्डर में रखना होगा।
sed -i 's/from helpers./from /g' helpers/*
sed -i 's/from helpers./from /g' stacoan.py
sed -i 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoan बनाएँ:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
PyInstaller कोड के साथ उपफ़ोल्डरों को नहीं संभाल सकता, इसलिए हमें कोड को एक फ़ोल्डर में रखना होगा।
# Note the ''-> this is because sed syntax is different on mac.
sed -i '' 's/from helpers./from /g' helpers/*
sed -i '' 's/from helpers./from /g' stacoan.py
sed -i '' 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoan बनाएँ:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
PyInstaller कोड के साथ उपफ़ोल्डरों को नहीं संभाल सकता, इसलिए हमें कोड को एक फ़ोल्डर में रखना होगा।
sed -i 's/from helpers./from /g' helpers/*
sed -i 's/from helpers./from /g' stacoan.py
sed -i 's/os.path.join(parentdir, "config.ini")/"config.ini"/g' helpers/logger.py
cp helpers/* ./ || :;
stacoan बनाएँ:
python3 -m PyInstaller stacoan.py --onefile --icon icon.ico --name stacoan --clean
इस पूरे प्रोग्राम का मूल्य इसके द्वारा उपयोग की जाने वाली शब्दसूचियों पर निर्भर करता है। अंततः, अंतिम परिणाम ही मायने रखता है। शब्दसूची बनाना आसान है (वास्तविक कोड लिखने की तुलना में), लेकिन इसका अंतिम परिणाम पर सबसे बड़ा प्रभाव पड़ता है। आप शब्दसूचियाँ बनाकर समुदाय की सबसे अधिक सहायता कर सकते हैं।
यदि आप अपने विचार पोस्ट करने का एक आसान तरीका चाहते हैं, तो http://www.tricider.com/brainstorming/2pdrT7ONVrB पर जाएँ। वहाँ से आप शब्दसूची में प्रविष्टियों के लिए विचार जोड़ सकते हैं।
कोड में सुधार की भी बहुत सराहना की जाती है।
यदि योगदान पर्याप्त है, तो आपका उल्लेख authors अनुभाग में किया जाएगा।
res/layout में http और सामान्यतः http://schemas.android.com/apk/res/android को अनदेखा करनाइस प्रोजेक्ट में निम्नलिखित परियोजनाओं का उपयोग किया गया था:
इन सभी परियोजनाओं के संबंधित लाइसेंस हैं। कृपया इस प्रोजेक्ट को संशोधित और पुनर्वितरित करते समय उनका सम्मान करें।
*: बाइनरी इस प्रोजेक्ट में शामिल है। यदि JADX के डेवलपर्स इससे सहज नहीं हैं, तो कृपया इस बारे में मुझसे संपर्क करें ताकि हम कोई समाधान खोज सकें।
यहाँ और भी बहुतों को सूचीबद्ध किया जाना चाहिए, लेकिन मैं उन सभी को सूचीबद्ध नहीं कर सकता।
| परियोजना निर्माता |
|---|
|
|