برنامه‌های اندرویدی دیگران را دستکاری کنید

جام جم آنلاین: در شماره پیش طی مقدمه‌ای در مورد apk-tool توضیح دادیم که این ابزار چه کارایی‌هایی دارد.

در این شماره قصد داریم با این برنامه به صورت عملی آشنا شویم و فایل‌های APK را تغییر دهیم، سپس یک نسخه جدید از آنها ایجاد کنیم.

در مرحله اول نسخه ویندوزی apk-tool را از لینک زیر دانلود کنید:

code.google.com/p/android-apktool

بعد از این‌که فایل زیپ شده را Extract کردید، با وارد کردن دستور cmd در پنجره Run محیط خط فرمان ویندوز را اجرا کنید، سپس به پوشه‌ای که apk-tool را در آن Extract کرده‌اید، بروید.

حالا کافی است فایل خود را با استفاده از دستور

Apktool d «Path of APK» بسازید.

مقدار Path of APK برابر آدرس فایل APK مورد نظر شماست. برای مثال به صورت زیر است:

Apktool d D:\Click\Jamejam.apk

بعد از وارد کردن این دستور برنامه apktool مشغول Decompile کردن فایل APK می‌شود. پس از انجام تمامی مراحل، پوشه‌ای با نام برنامه در کنار خود فایل apktool ساخته می‌شود که شامل فایل‌های منابع پروژه شما و همچنین یک پوشه با نام smail است که داخل آن به ازای هر فایل سورسی که در پروژه وجود دارد، یک فایل با همان نام و با پسوند smail. ایجاد می‌شود. این فایل شامل مشخصات کد نوشته شده است.

به عنوان مثال به کد زیر دقت کنید

# virtual methods

.method public onClick(Landroid/content/DialogInterface;I)V

.locals 1

.parameter “dialog”

.parameter “which”

.prologue

.line 28

iget-object v0, p0, Lazure3bt/com/BaseActivity$ 1;-»this$ 0:Lazure3bt/com/BaseActivity;

invoke-virtual {v0}, Lazure3bt/com/BaseActivity;-»finish()V

.line 29

return-void

.end method

این کد مشخص می‌کند یک متد ویرچوال به نام onClick که برای یک dialogbox بوده بازنویسی شده و در این الگو یک Activity به کار خود خاتمه می‌دهد، خواندن و تغییر دادن آن کار سختی است و امکان دارد با مشکل مواجه شوید، در نتیجه سعی کنید در تغییر دادن این فایل‌ها احتیاط کنید و در صورت امکان این کار را انجام ندهید.

بقیه پوشه‌ها مانند پروژه اندرویدی شماست؛ به طور مثال پوشه res معادل یک پروژه اندرویدی است که درون آن عکس‌ها و فایل‌های انیمیشن و منابع متنی یک پروژه جای دارد.

شما می‌توانید عکس‌ها و متن‌های خود را جایگزین کنید. اگر با برنامه‌نویسی اندروید آشنا باشید، با دیدن پوشه res براحتی می‌توانید این کارها را انجام دهید.

اما اگر آشنا نباشید، در پوشه drawable عکس‌های برنامه شما قرار دارد و شما می‌توانید آنها را ویرایش کنید.

پوشه Layout مشخصات یک پنجره اندرویدی را مشخص می‌کند، در values رشته‌های متنی که درون برنامه استفاده شده است نگهداری می‌شود. این پوشه از پوشه‌های اصلی است؛ اما پوشه‌های دیگری نیز وجود دارد.

برای آشنایی با این پوشه‌ها می‌توانید به نشانی زیر مراجعه کنید:

https://developer.android.com/guide/topics/resources/index.html

علاوه بر پوشه‌ها و فایل‌هایی که در هر پروژه اندرویدی در پوشه res وجود دارد، شما یک فایل public.xml و ids.xml مشاهده می‌کنید. این فایل‌ها را به هیچ وجه تغییر ندهید.

اما در تغییر این پوشه‌ها احتیاط کنید، زیرا ممکن است نام فایلی را اشتباه بزنید و مشخصه یک رشته را عوض کنید و این باعث ایجاد خطا در برنامه می‌شود.

در نهایت شما می‌توانید به پوشه assets و… دسترسی داشته ‌باشید.

نکته مهم فایل Android.manifest است که این فایل اطلاعات فایل APK مانند پایین‌‌ترین ورژن اندرویدی و نام Package را که با نصب فایل APK درون Android ثبت می‌شود، مشخص می‌کند تغییر نام بسته به شما اجازه می‌دهد یک APK را تحت نام بسته‌های مختلف نصب کنید.

با این کار می‌توانید با تغییرات ظاهری، یک برنامه جدید بسازید که در کنار برنامه اصلی براحتی نصب شود.(جام جم – ضمیمه کلیک)

امیربهاءالدین سبط‌الشیخ


jamejamonline.ir – 22 – RSS Version

نشانی ایمیل شما منتشر نخواهد شد. نظرتان را در مورد مطلب فوق بنویسید *

بستن تبلیغ