<html dir="rtl">
يجب ان يكون ملف الباتش نفس الاسم مثل الهدف APK (هذا حساس لحاله الأحرف).
إذا كان الملف هو باتش مخصص للتطبيق موجود بالفعل ، يمكنك ببساطه أضافه في بداية اسم الملف من اي نص وحفظه بالقرب من القائمة.
إذا كنت تريد أن تكتب باتش مرة واحدة سلسلة من البرامج على شركة واحدة ، ثم النهاية اسم ملف باتش المخصص ، يمكنك استخدام _%25ALL%25, على سبيل المثال اسم باتش لكل الأصوات svox سيبدو مثل هذا:com.svox.classic.langpack_%25ALL%25.txt. على _%25ALL%25 ويستبدل بجزء الاسم من الحزمة ، الذي يختلف تبعا لتطبيق ثابت.
لا تستخدم محارف/تنسيق خاصة في ملف باتش. (فراغات مفردة فقط)
للبحث عن أنماط البايت لاستخدام IDA Pro 6.1. يمكن أن يفتح dalvik-cache ذاكرة التخزين المؤقت odex، المكتبات classes.dex.
إذا كنت ترغب في باتش dalvik-ذاكرة التخزين المؤقت أو odex ، لا ننسي ان وحدات البايت من البيانات في مختلف إصدارات البرامج الثابتة قد تختلف. ولا ننسي ان وحدات البايت ليست كل classes.dex يتزامن مع dalvik-cache و odex. في هذا يمكنك ان تري ، إذا قمت بفتح classes.dex و odex-ملف في IDA Pro.
[ابدأ]
< الباتش التعليقات التي تكون مرئية للمستخدم قبل الباتش >
باتش ل XYZ Pro 5.0.5
[الحزمة]
<افرغ classes.dex ويطبق كل الرقع من [الصفوف] عليه. ويولد ، بناء على classes.dex المعدلة ، ملف odex>
[CLASSES]
<نمط البحث / استبدال classes.dex (انظر أدناه)>
{"بحث":"63 R00 R01 R02 38 00 04 00 12 10 0F 00"}
{"الاصلي":"63 ?? ?? ?? 38 00 04 00 12 10 0F 00"}
{"استبدال":"12 00 6A W00 W01 W02 00 00 12 00 0F 00"}
[LIB]
<البحث/الاستبدال عن المكتبات المحلية المسماة (انظر أدناه)>
{"الاسم":"libtitanium.so"}
{"الاصلي":"00 ** 50 e2"}
{"استبدال":"00 00 50 e1"}
[ملفات أخرى]
<نمط البحث / استبدال للملفات الأخرى المسماة في /data/data/Package_Target_APK/ (انظر أدناه)>
{"الاسم":"/files/shell.dex"}
{"الاصلي":"0F 00 00 00 1A 00 00 00 0F 00 00 00 59 00 00 00 2F"}
{"استبدال":"0F 00 00 00 0F 00 00 00 0F 00 00 00 59 00 00 00 2F"}
[اضافة التشغيل]
<تلقائيا باضافة باتش المستخدم الحالي إلى قائمة صندوقِ. يجب استخدامها في مكتبة الباتش (أو في الباتش [CLASSES] دون [ODEX] أو بدون [PACKAGE]>
[نهاية]
<الباتش التعليقات التي تكون مرئية للمستخدم بعد عمل الباتش>
تهانينا! البرنامج كسر (تكرك)!
“البحث” – البحث يسمح لك بالبحث عن نمط وتخزين بايتات في مواقع محددة.
{"بحث":"63 R00 R01 R02 38 00 04 00 12 10 0F 00"}
في هذا المثال bytes باللون الأخضر تصنع قناع نمطك بينما bytes باللون الأصفر R00 -> R02 سيتم تخزينها
bytes مخزنة يجب أن تكون بالترتيب R00, R01, R02, R03…
bytes مخزن لا يمكن تكراره.
“الاصلي” – هذا هو نمط قناع مستخدم إلى ابحث.
{"الاصلي":"63 ?? ?? ?? 38 00 04 00 12 10 0F 00"}
في هذا المثال bytes في الأخضر تشكل قناع النمط الخاص بك ، في حين bytes في الأصفر هي البربرية (??, **)
“استبدال” – وسيتبع ذلك بيانا "أصليا" ، وهذا ما سيكتب به هذا البيان.
{"استبدال":"12 00 6A W00 W01 W02 00 00 12 00 0F 00"}
في هذا المثال ، ستقوم وحدات bytes باللون الأخضر بالكتابة فوق الموقع الهدف.. bytes باللون الأصفر يتم تخزين وحدات bytes من "البحث" التي تم تنفيذها مسبقا
"الاسم" – - يستخدم هذا لاستهداف مكتبة محددة بالاسم (انظر أعلاه في [lib]
[LIB-ARMEABI],[LIB-ARMEABI-V7A],[LIB-MIPS] أو [LIB-X86] - للمكتبات من /lib/armeabi/, /lib/armeabi-v7a/, /lib/mips/, /lib/x86/.
[ODEX-باتش] - لقد تم بالفعل إنشاء odex. على سبيل المثال ، تم تطبيق باتش مع الوضع التلقائي عن طريق إزالة التحقق الترخيص ، ولكن تحتاج إلى إجراء تغييرات إضافية باستخدام باتشات المخصصة. إذا استخدمنا [PACKAGE]-[CLASSES] ، [ODEX] أو [CLASSES]-[ODEX] ، سيتم إنشاء ملف odex بدون تغيير وبعد ذلك فقط تصليح.
مثال:
[ابدأ]
[ODEX-باتش]
{"الاصلي":"63 ?? ?? ?? 38 00 04 00 12 10 0F 00"}
{"استبدال":"12 00 6A ?? ?? ?? 00 00 12 00 0F 00"}
[نهاية]
تهانينا! تعديل odex!
بدون تطبيقات ذاكرة التخزين المؤقتة لا تنسى أن النظام يقوم دوريا بتحديث تطبيقات ذاكرة التخزين المؤقت dalvik وكل التغييرات التي تطرأ عليه تختفي. لذلك ، يجب أن نضيف بعد ذلك [اضافة التشغيل]. رقعة لمخبأ (dalvik) قديمة وغير موثوق بها لكنه إحتاج إلى صندوق الأدوات الروم ، كما وجد ملف odex ويتصرف بشكل جنوني.
مثال:
[ابدأ]
[CLASSES]
{"الاصلي":"63 ?? ?? ?? 38 00 04 00 12 10 0F 00"}
{"استبدال":"12 00 6A ?? ?? ?? 00 00 12 00 0F 00"}
[اضافة التشغيل]
[نهاية]
تهانينا!
[ODEX] - نسخ ذاكرة مخبئة تخزين مؤقت مخبأ بوصة /data/app/ aوأعادة تسمية لملف odex ، ثم كافة التصحيحات المطبقة علي هذا odex-ملف. المجمع من الخطا odex ، لا يمكن تمرير التفتيش ، علي عكس odex-الملف الذي تم إنشاؤه [PACKAGE]-[CLASSES].
مثال:
[ابدأ]
[ODEX]
{"الاصلي":"63 ?? ?? ?? 38 00 04 00 12 10 0F 00"}
{"استبدال":"12 00 6A ?? ?? ?? 00 00 12 00 0F 00"}
[نهاية]
تهانينا!
[CLASSES]-[ODEX] - بقع dalvik-مخبا ثم сopk dalvik-مخبا في/data/app/ وأعادة تسمية إلى ملف odex. المجمع من odex وذاكرة التخزين المؤقت dalvik غير صحيح ، لا يمكن تمرير التفتيش ، علي عكس odex-الملف الذي تم إنشاؤه [PACKAGE] - [CLASSES].
مثال:
[ابدأ]
[CLASSES]
{"الاصلي":"63 ?? ?? ?? 38 00 04 00 12 10 0F 00"}
{"استبدال":"12 00 6A ?? ?? ?? 00 00 12 00 0F 00"}
[ODEX]
[نهاية]
تهانينا!
[SQLITE] - أحيانا التطبيق المستهدف يجب أن يغير شيئا في قاعدة البيانات ، ثم للمساعدة سوف تأتي هذه الإمكانية:
مثال:
[ابدأ]
إعادة تعيين التجربة
[SQLITE]
{"قاعدة بيانات":"/data/data/com.package.megaapp/databases/settings.db"}
{"نفذ":"احذف من table_settings حيث الاسم = 'SETTING__LIC'"}
{"نفذ":"تحديث table_settings SET الأيام المستخدمة=0 حيث الاسم='Trial_set'"}
[نهاية]
تهانينا! لديك فترة تجريبية جديدة!
قاعدة بيانات - المسار إلى قاعدة بيانات يعمل جهاز.
نفذ - استعلام sqlite.