三星app移植修復(app反編譯修改)

七六五發表於2024-07-25

工具:

apktool
ADT

命令:

反編譯

java -jar apktool.jar d test.apk

重打包

java -jar apktool.jar b test

簽名使用ADT

smail語言粗略理解(其實對於修改來說, 大概熟悉就就ok)

類定義

.class public Lcom/example/MyClass;
.super Ljava/lang/Object;
.class 指定類名和修飾符。
.super 指定父類。

欄位定義

.field public myField:I
.field 定義欄位。
I 表示整數型別(int)。

方法定義

.method public myMethod()V
    .locals 1
    .prologue
    .line 10
    return-void
.end method
.method 定義方法,V 表示返回型別為 void。
.locals 宣告區域性變數數量。
.prologue 和 .line 用於除錯和程式碼註釋。
return-void 表示方法結束並返回。

Smali 使用匯編語言風格的指令,以下是一些常見指令:

載入和儲存指令

const/4 v0, 0x1  ; 將整數 1 載入到暫存器 v0

算術指令

add-int v0, v1, v2  ; v0 = v1 + v2

方法呼叫

invoke-virtual {v0}, Lcom/example/MyClass;->myMethod()

實戰

三星通話app修復

這個類找不到

增加類

重打包簽名後安裝測試!

ok, 報其他類錯誤了, 依葫蘆畫瓢一一修復即可大功告成!

相關文章