به نامه خدا امروز میخوام غیر فعال کردن چک کردن امضای فایل های سیستمی رو گام به گام توضیح بدم در رام های جلی بین سامسونگ برای دوستان عزیز
لازم به هست بگم این اموزش از خودم هست و هیچ گونه کپی برداری از ان در دیگر سایت ها بدونه لینک مستقیم همین تاپیک غیر مجاز میباشد
شما برای این کار باید ابتدا بلد باشید فایل های فریمک(Service.jar)را(توسط smali و backsmali) دیکامپایل و کامپایل کنید!
اموزش های مربوط به این بخش در سایت موجود است.
و همینطور نیاز دارید که یک تکست ادیتور قوی داشته باشید من خودم همیشه از notpad++ استفاده میکنم.
1.فایل Service.jar را از داخل system/framework بیرون بکشید و دیکامپایل کنید!
2.به مسیر زیر برید و فایل PackageManagerService.smal را با نوت پد پلاس پلاس باز کنید
3. به دنبال این متود بگیردید (شاید دقیقا برای شما این نباشد ولی یه چیزی شبیه این هست)کد:smali\com\android\server\pm
3.این متود رو کلا جایگزینش کنید.کد:.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I .locals 7 .parameter "s1" .parameter "s2" .prologue .line 3445 if-nez p0, :cond_1 .line 3446 if-nez p1, :cond_0 const/4 v6, 0x1 .line 3465 :goto_0 return v6 .line 3446 :cond_0 const/4 v6, -0x1 goto :goto_0 .line 3450 :cond_1 if-nez p1, :cond_2 .line 3451 const/4 v6, -0x2 goto :goto_0 .line 3453 :cond_2 new-instance v3, Ljava/util/HashSet; invoke-direct {v3}, Ljava/util/HashSet;-><init>()V .line 3454 .local v3, set1:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;" move-object v0, p0 .local v0, arr$:[Landroid/content/pm/Signature; array-length v2, v0 .local v2, len$:I const/4 v1, 0x0 .local v1, i$:I :goto_1 if-ge v1, v2, :cond_3 aget-object v5, v0, v1 .line 3455 .local v5, sig:Landroid/content/pm/Signature; invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z .line 3454 add-int/lit8 v1, v1, 0x1 goto :goto_1 .line 3457 .end local v5 #sig:Landroid/content/pm/Signature; :cond_3 new-instance v4, Ljava/util/HashSet; invoke-direct {v4}, Ljava/util/HashSet;-><init>()V .line 3458 .local v4, set2:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;" move-object v0, p1 array-length v2, v0 const/4 v1, 0x0 :goto_2 if-ge v1, v2, :cond_4 aget-object v5, v0, v1 .line 3459 .restart local v5 #sig:Landroid/content/pm/Signature; invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z .line 3458 add-int/lit8 v1, v1, 0x1 goto :goto_2 .line 3462 .end local v5 #sig:Landroid/content/pm/Signature; :cond_4 invoke-virtual {v3, v4}, Ljava/util/HashSet;->equals(Ljava/lang/Object;)Z move-result v6 if-eqz v6, :cond_5 .line 3463 const/4 v6, 0x0 goto :goto_0 .line 3465 :cond_5 const/4 v6, -0x3 goto :goto_0 .end method
کد:.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I .locals 7 const-string p0, "Biftor:" const-string p1, "Skip signatures check" invoke-static {p0, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I const/4 v6, 0x0 return v6 .end method
من در اینجا از نام خودم استفاده کردم"Biftor"شما میتونید اون رو به نام خودتون تغییر بدین و سیوش کنید!
4. فایلServices.jar را کامپایل کنید.
و از این به بعد میتونید به راحتی تمامه برنامه های سیستمی رو (برنامه هایی که داخل پوشه system/app یا perload هستن (کلا همه برنامه های داخلی گوشی سیستمی هستن))ساین کنید و امضای اون ها رو تغییر بدین به مانند برنامه های معمولی نصب کنید.
امیدوارم این اموزش مفید باشه برای دوستان!
[فقط کاربران ثبت نام شده قادر به مشاهده لینکها هستند . ].
موفق باشید
آرمین
Biftor™
بوک مارک ها