首先,我使用apktool将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
并用与原始{ {1}}个文件,并编译为small
。
它奏效了!不幸的是,在我对应用程序进行的每次更改之后,我都不得不将其反编译为apk
,替换为small
方法的内容,然后将其编译为compressAndFormat
。
现在,我想使用apk
方法创建Java控制台应用程序。有什么办法吗?我在想这样的事情:
将file.apk反编译为file.smali
将file.smali反编译为file.dex
将new_file.jar反编译为new_file.dex
从file.dex复制方法到new_file.dex
将new_file.dex编译为new_file.jar
您对此有何看法?
答案 0 :(得分:0)
我了解您想将smali代码复制到Java 您是否尝试过https://github.com/pxb1988/dex2jar? 使用此工具,您可以将dex转换回Java(在大多数情况下)