
शुद्ध पायथन असेंबलर टूलकिट जो ARM, PPC, RISC-V, और IA-32 आर्किटेक्चर पर shellcode बनाने, बाइनरी को गतिशील रूप से पैच करने, और डिबगिंग और फजिंग के लिए फर्मवेयर इमेज को इंस्ट्रुमेंट करने के लिए है।
Flopz एक असेंबलर टूलकिट है जो शुद्ध पायथन में लिखा गया है। इसका उपयोग करें:
यदि आप कोई अन्य आर्किटेक्चर लागू देखना चाहते हैं, तो किसी भी समय संपर्क करने में संकोच न करें - हमें ऐसा करने में मज़ा आता है!
सिर्फ असेंबली स्ट्रिंग्स को बाइट्स में बदलने के बजाय, Flopz का उद्देश्य इंटरैक्टिव पैचिंग और फर्मवेयर इंस्ट्रूमेंटेशन को आसान बनाना है। इसके लिए, यह एक निम्न-स्तरीय निर्देश और रजिस्टर API प्रदान करता है जो आपको असेंबली सिंटैक्स के स्ट्रिंग्स से निपटने के बिना, सीधे पायथन में शेलकोड, मॉड्यूल और फ़ंक्शन बनाने की अनुमति देता है।
एम्बेडेड सुरक्षा परीक्षण में, कोई भी उपकरण दूसरे जैसा नहीं होता: इस कारण, हम कस्टम लक्ष्यों को परिभाषित करने के लिए एक ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण प्रदान करते हैं, ताकि विभिन्न उपकरणों और प्रोसेसर आर्किटेक्चर वाले प्रोजेक्ट्स में जितने संभव हो उतने घटकों का पुन: उपयोग किया जा सके।
चूंकि Flopz शुद्ध पायथन में शुरू से लिखा गया है, यह अन्य टूल्स (जैसे Clang/LLVM पर आधारित) जितनी आर्किटेक्चर का समर्थन नहीं कर सकता है। हालांकि, हमारा लक्ष्य उन आर्किटेक्चर को कवर करना है जो एम्बेडेड सुरक्षा लोगों के लिए मायने रखते हैं, जो अन्य टूल्स द्वारा कवर नहीं किए जा सकते हैं। इसके अलावा, यूनिट टेस्ट और कोड दस्तावेज़ीकरण के एक रखरखाव सेट के माध्यम से Flopz का विस्तार करना कम चुनौतीपूर्ण बना दिया गया है।
Flopz अन्य टूल्स के साथ मिलकर काम करने के लिए है। विशेष रूप से, एक Ghidra एक्सटेंशन है जो आपको सीधे Ghidra में फर्मवेयर को इंस्ट्रूमेंट करने में मदद करता है।
प्रदान किया गया दस्तावेज़ीकरण flopz के साथ काम करना और अपने प्रोजेक्ट्स में इसके इंटरफ़ेस का उपयोग करना आसान बनाता है।