Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java控制台应用程序中使用smali代码_Java_Android_Smali - Fatal编程技术网

在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控制台应用程序。有没有办法做到这一点?我在想这样的事情:

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

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

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

  • 将方法从file.dex复制到新的_file.dex

  • 将new_file.dex编译为new_file.jar


  • 您对此有何看法?

    我知道您希望将smali代码复制到Java中 你试过了吗?
    使用此工具,您可以将dex转换回Java(在大多数情况下)

    您唯一的其他选择是将smali代码再次重写为Java,如果没有混淆,这一定不难。除了反编译这两个应用程序和调整smali文件之外,没有其他方法。