
एक Flutter/Dart रिवर्स इंजीनियरिंग टूल
फड़फड़ाना: तेज़, अनियमित गतियों में चलना, तेज़ी से धड़कना, उत्तेजित होना।
डोल्ड्रम्स: स्थिरता की अवधि।
Doldrums एंड्रॉइड लक्षित Flutter ऐप्स के लिए एक रिवर्स इंजीनियरिंग उपकरण है। संक्षेप में, यह Flutter/Dart एंड्रॉइड बाइनरी, जिसे परंपरागत रूप से libapp.so नाम दिया गया है, सभी Dart संस्करण 2.10 रिलीज़ के लिए एक पार्सर और सूचना निकालने वाला है। चलाने पर, यह आइसोलेट स्नैपशॉट में मौजूद सभी कक्षाओं का पूरा डंप आउटपुट करता है।
उपकरण वर्तमान में बीटा में है, और इसमें कुछ डिसीरियलाइज़ेशन रूटीन और क्लास जानकारी गायब है। यदि यह आउट-ऑफ-द-बॉक्स काम नहीं करता है, तो कृपया मुझे बताएं।
Doldrums को ELF प्रारूप को पार्स करने के लिए pyelftools की आवश्यकता है। आप इसे निम्नलिखित के साथ स्थापित कर सकते हैं
pip3 install pyelftools
उपयोग करने के लिए, बस निम्नलिखित कमांड चलाएँ, libapp.so को उपयुक्त बाइनरी से और output को वांछित आउटपुट फ़ाइल से बदलें। ध्यान दें कि वर्बोज़ विकल्प केवल Dart स्नैपशॉट v2.12 के लिए काम करता है।
python3 src/main.py [-v] libapp.so output
अपेक्षित आउटपुट सभी कक्षाओं का डंप है, निम्नलिखित प्रारूप में:
class MyApp extends StatelessWidget {
Widget build(DynamicType, DynamicType) {
Code at absolute offset: 0xec85c
}
String myPrint(DynamicType, DynamicType) {
Code at absolute offset: 0xeca80
}
}
पूर्ण कोड ऑफसेट libapp.so फ़ाइल में उस ऑफसेट को इंगित करता है जहाँ नेटिव फ़ंक्शन मिल सकता है।
प्रारूप पर विस्तृत लेख के लिए, कृपया मेरा ब्लॉग पोस्ट देखें।
darter Dart संस्करण 2.5 रिलीज़ के लिए पूरी तरह से कार्यान्वित और पूरी तरह से परीक्षित पार्सर है।
यदि आप परियोजना की मदद करना चाहते हैं, तो पुल रिक्वेस्ट बनाने, या निम्नलिखित को दान करने पर विचार करें
लोगो Luis Fonseca द्वारा।