在java控制台应用程序中使用smali代码
首先,我使用将在java控制台应用程序中使用smali代码,java,android,smali,Java,Android,Smali,首先,我使用将file.apk反编译为smali文件。接下来,我找到了一个有趣的方法并复制了它: .method private compressAndFormat([B)J .locals 10 .param p1, "userData" # [B .prologue const/4 v9, 0x1 // REST OF CODE .end method 我想在我的应用程序中使用这个方法,所以我用名为private long compress
file.apk
反编译为smali
文件。接下来,我找到了一个有趣的方法并复制了它:
.method private compressAndFormat([B)J
.locals 10
.param p1, "userData" # [B
.prologue
const/4 v9, 0x1
// REST OF CODE
.end method
我想在我的应用程序中使用这个方法,所以我用名为private long compressAndFormat(byte[]userData)
的方法创建了一个新项目,将该项目反编译为small
,并用原始small
文件中相同的方法替换了新创建方法的内容,并编译为apk
成功了!不幸的是,在我的应用程序中进行每一次更改之后,我必须将其反编译为small
,替换compressAndFormat
方法内容,并将其编译为apk
现在我想用compressAndFormat
方法创建java控制台应用程序。有没有办法做到这一点?我在想这样的事情:
您对此有何看法?我知道您希望将smali代码复制到Java中 你试过了吗?
使用此工具,您可以将dex转换回Java(在大多数情况下)您唯一的其他选择是将smali代码再次重写为Java,如果没有混淆,这一定不难。除了反编译这两个应用程序和调整smali文件之外,没有其他方法。