繁体   English   中英

在Java控制台应用程序中使用smali代码

[英]Use smali code in java console application

首先,我使用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并与原来相同的方法更换新创建的方法的内容small文件,编译为apk

而且有效! 不幸的是,在我对应用程序进行的每次更改之后,我都不得不将其反编译为small ,替换compressAndFormat方法的内容,并将其编译为apk

现在,我想使用compressAndFormat方法创建Java控制台应用程序。 有什么办法吗? 我在想这样的事情:

  1. 将file.apk反编译为file.smali

  2. 将file.smali反编译为file.dex

  3. 将new_file.jar反编译为new_file.dex

  4. 将方法从file.dex复制到new_file.dex

  5. 将new_file.dex编译为new_file.jar

您对此有何看法?

我了解您想将smali代码复制到Java中,您是否尝试过https://github.com/pxb1988/dex2jar 使用此工具,您可以将dex转换回Java(在大多数情况下)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM