به نامه خدا امروز میخوام غیر فعال کردن چک کردن امضای فایل های سیستمی رو گام به گام توضیح بدم در رام های جلی بین سامسونگ برای دوستان عزیز
لازم به هست بگم این اموزش از خودم هست و هیچ گونه کپی برداری از ان در دیگر سایت ها بدونه لینک مستقیم همین تاپیک غیر مجاز میباشد
شما برای این کار باید ابتدا بلد باشید فایل های فریمک(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 هستن (کلا همه برنامه های داخلی گوشی سیستمی هستن))ساین کنید و امضای اون ها رو تغییر بدین به مانند برنامه های معمولی نصب کنید.
امیدوارم این اموزش مفید باشه برای دوستان!
[Only registered and activated users can see links. Click Here To Register...].
موفق باشید
آرمین
Biftor™