एंड्रॉइड में एंटी-डीबग

किसी ने भी वास्तविक एंड्रॉइड एंटी-डीबग चेक किया था। मुझे पता है कि चीजें हैं

IsDebuggerConnected()

boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));

मैं ऐसा कुछ ढूंढ रहा हूं जो एनडीके या किसी अन्य तंत्र का उपयोग करके पट्रस की तरह है जहां प्रक्रिया के हैंडल को दूसरों द्वारा डीबग नहीं किया जा सकता है। जैसे, जब अनुप्रयोग शुरू होता है तो डिफ थ्रेड में एक स्व-डीबग जो अन्य डीबगर को प्रक्रिया को पकड़ने की अनुमति नहीं देता है।

इस पर कोई अंतर्दृष्टि बहुत उपयोगी होगी।

2
जोड़ा संपादित
विचारों: 1

1 उत्तर

डिबगिंग को रोकने और आपके आवेदन को रिवर्स इंजीनियरिंग को रोकने का कोई तरीका नहीं है। आप इसे अपवित्रता से अधिक कठिन बना सकते हैं, लेकिन यदि यह रिवर्स इंजीनियर के लायक है, तो यह किया जाएगा (सोवजेट आईटी विशेषज्ञों ने इंजीनियर 360 को रिवर्स करने में कामयाब रहे और यहां तक ​​कि इसे मशीन कोड में भी लगाया) - तो यह केवल प्रयास के लायक नहीं है ।

1
जोड़ा
मैं बस सोच रहा हूं कि रिवर्स इंजीनियरिंग को एक लिल कॉम्प्लेक्स बनाने का कोई तरीका है या नहीं। मुझे पता है कि obfuscation एक विधि है। कोई अन्य जो आप सोच सकते हैं? (जैसे ऐप स्वयं को डीबग करें,)
जोड़ा लेखक user1416662, स्रोत
रिवर्स इंजीनियरिंग सामान्य रूप से आसान काम नहीं है (भले ही आपके पास स्रोत किसी अन्य व्यक्ति द्वारा लिखे गए हों;), और इसके खिलाफ सुरक्षा आमतौर पर प्रयास के लायक नहीं है
जोड़ा लेखक Konstantin Pribluda, स्रोत