SecCode
11.5K subscribers
179 photos
174 videos
192 files
90 links
برگزاری دوره های برنامه نویسی با محوریت امنیت
برگزاری دوره های کد نویسی امن
برگزاری دوره های تست نفوذ وب و موبایل

(میثم منصف.علیرضانورکاظمی)

admins:
@meisamrce
@AlirezaNourkazemi
WebSite: https://mrowasp.ir
WebSite: https://nodeguard.ir
Download Telegram
Channel created
#مهندسی_معکوس_نرم_افزار_اندروید قسمت اول
برسی ساختار فایل APK
فایل نصبی سیستم عامل اندروید گوگل apk که مخفف Android Package میباشد دارای بخش های مختلفی میباشد که به برسی آنها میپردازیم
تصویر زیر مراحل کامپایل و ایجاد یک فایل APK را نمایش میدهد که به تشریح قسمت های آن میپردازیم.
@dorsateam
مراحل کامپایل و ایجاد فایل APK
@dorsateam
👍2
مرحله اول :
همانطور که میدانید زبان برنامه نویسی اصلی اندروید جاوا میباشد که در محیط Android Studio نوشته میشود . در این بخش کد های نرم افزار توسط کامپایلر جاوا به فایل های ماشین یعنی class. کامپایل میشوند. البته برای محافظت از این کدها از obfuscator ها استفاده میشود که decompile کردن فایل های class. را قدری مشکل میسازد.
@dorsateam
👍1
مرحله دوم :
سیستم عامل اندروید قابلیت اجرا و فهمیدن کدهای class. را ندارد پس باید این فایل ها به فایل های dex. تبدیل شوند تا سیستم عامل اندروید بتواند آن را اجرا کند برای این کار از ابزار Dx Tool استفاده میشود . البته ماننده مرحله اول از obfuscator ها استفاده میشود تا decompile فایل های dex. را کمی سختر و دشوار کنند.
@dorsateam
مرحله سوم :
در این مرحله تمامی منابعی که در اپلیکیشن استفاده شده از قبیل تصاویر ، فونت ها ، Layout ها و کتابخانه هایی که بصورت سیستمی میباشد همان فایل so به فایل APK اضافه میشود.
@dorsateam
مرحله چهارم ( آخرین مرحله ) :
در این مرحل تمای فایل های منابع و فایل های dex. و فایل حیاتی AndroidManifest.xml بصورت فایل فشرده همانند zip تبدیل به یک فایل به پسوند apk. میشود اما این فایل قابل نصب نیست و باید توسط Jar Signer با الگوریتم x509 باید به امضای دیجیتالی برسد تا فایل ها encode شوند و براحتی قابل خواندن نباشند و هم قابل نصب باشند.
@dorsateam
👍1
اسکرین شات برنامه Crack Me 1 در اندروید
@dorsateam
crackme1.apk
1.3 MB
دانلود برنامه Crack Me 1
@dorsateam
SecCode pinned Deleted message
ابزار های مهندسی معکوس اندروید
در این مرحله نیازمند چندین ابزار هستیم که باید آنها را دانلود و نصب کنیم :
نرم افزار Java Development Kit : این نرم افزار ماشین مجازی جاوا هست و اجازه میدهد که بتونیم کد های جاوا را اجرا کنیم نکته ای که هست متاسفانه کاربران ایرانی نمی توانند مستقیم آنرا دانلود کنند پس تو گوگل سرج کنید و از سایت های ایرانی دانلود و نصب کنید . نسخه 64 بیتی بهتر است .

ابزار apktool : بااین ابزار میتونیم فایل های apk رو دیکامپایل و کامپایل کنیم تا بتوانیم به منابع اپلیکشین دسترسی داشته باشیم .

ابزار dex2jar : با این ابزار میتونیم فایل اصلی classes.dex رو به فایل jar تبدیل کنیم تا بتونیم کد های جاوای اپلیکشن رو ببینم .

نرم افزار jd-gui : با این ابزار میتوانیم کدهای جاوا را ببینیم و در آنها جستجو کنیم.

ابزار Apk Signed : با این ابزار زمانی که فایل apk را دستکاری کردیم دیگه بعد از کامپایل کردن دیگر قابل نصب نیست باید امضایی دیجیتالی روی فایل apk اعمال کنیم .

ابزار های فوق رو میتوانید در پست های زیر دانلود کنید.
@dorsateam
❤1
@dorsateam_apktool_.zip
8.6 MB
apktool دانلود ابزار
@dorsateam
@dorsateam_dex-tools-2.1-SNAPSHOT.zip
5.3 MB
dex2jar دانلود ابزار
@dorsateam
@dorsateam_jd-gui-windows-1.4.0.zip
7.6 MB
jd-gui دانلود ابزار
@dorsateam
@dorsateam_Apk__Signed.zip
9.1 MB
Apk Signed دانلود ابزار
@dorsateam
Media is too big
VIEW IN TELEGRAM
دانلود آموزش مهندسی معکوس اندروید قسمت اول
@dorsateam