工具:

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, 报其他类错误了, 依葫芦画瓢一一修复即可大功告成!

标签: none

添加新评论