Proguard باستخدام APK تشفير








في حاجة اغلب الديفولبرز بينسوا يعملوها وهي تشفير الابلكيشن بتاعهم بالتحديد ملف (APK) ودي في حد ذاتها كارثة لان ممكن يقع في ايد اي حد ويمسك الاب يعمله "reverse engineering



reverse engineering: هي تحويل الابلكيشن لسورس كود يعني عكس عملية الـ archiving بالظبط فبالتالي ممكن بكل سهولة يفك الـ APK وياخد ملف الـ DEX يحوله لـ JAR وهيفتح ملف الجار ده هيلاقي فيه كل الـ classes وكل حاجة انت عاملها فبالتالي هتبقي معرض لسرقة الكود بتاعك وبالذات لو كان الشغل ده فريلانس او ع الاقل هيعرف الـ API KEYS اللي انت مستخدمها والويب سيرفرس اللي بتكونكت عليها.



ايه الحل ؟ الحل انك تخلي كودك معقد او متشفر بحيث يصعب علي حد انه يفكه (طبعا مفيش كود مستحيل يتفك لحد يومنا ده ولكن بتختلف درجة الصعوبة في كود ممكن يتفهم ويتفك في ساعة وفي كود ممكن ياخد ايام او شهور عشان يتفهم) .في طرق كتير منها الفري زي Proguard ودي موجودة جاهزة في Android SDK هي اي نعم مش بتخلي الكود معقد اوي بس نوعا ما كويس وفي حاجات تانية بفلوس زي DEXGUARD وتولز تانية كتير.


ملحوظة : لو هتدور علي تولز تانية فري اتأكد انها من مصدر موثوق لان في تولز ممكن بتحطلك ملفات تجسس او فيروسات او حتي اعلانات جوا الـ APK.



ازاي نستخدم Proguard ؟؟

-نفتح ملف build.grade ونكتب الكود ده جواه

android {

...


buildTypes {

release {

minifyEnabled true

proguardFiles getDefaultProguardFile('proguard-android.txt'),

'proguard-rules.pro'

}

}

} 

ايه معني الكود ده ؟  لما كتبنا minifyEnabled true كدة عملنا  enable للتشفير طيب هيشفر الكود ازاي ؟ بيعرف الطريقة عن طريق ملف تكست بيبقي مكتوب فيها الrules اللي هيمشي عليها يعني يشفر ايه وميشفرش ايه وكدة والملف ده هتلاقيه موجود عندك في البروجيكت اسمه proguard-android.txt

الـ defaults اللي بيشمي عليها الاندرويد في التشفير هتلاقيها في ملف تكست موجود في الـsdk بتاعك في المسار ده
 tools/proguard/proguard-android-optimize.txt
لو عندك مثلا class وعاوز تمنع تشفيره بتفتح ملف proguard-android.txt 
اللي موجود عندك في البروجيكت وبتكتب السطر ده


 -keep public class <myclass>



كدة الـ class اللي اسمه MyClass مش هيتشفر وباقي الـ classes هتتشفر
 عادي.


لتفاصيل اكتر عن الـ Proguard وازاي تعملها customization تقدر تدخل علي السايت ده من هنا وتعرف كل حاجة عنها.
First

1 comments:

Write comments
Unknown
AUTHOR
February 2, 2018 at 9:40 AM delete

للاسف اخؤتاق الاندرويد سهل جدا حتى لو وضع هذا الكود استطيع اختراقه في 15 دقيقه ومسح جميع بيانات الجهاز واخذ كل م يتعلق به سواء ضور او فيديوهات , افضل نظام حاليا هو اي او اس مع ان الحمايه فيه مش ولا بد ., تقبل مروري ,, Doosh .

Reply
avatar