标签: smali

在APK上反编译.smali文件

我下载了APK Manager,让我解压APK文件.

但它只解包它并且不会将.smali文件反编译为.java.

是否可以将.smali反编译为.java?

java android apk smali

120
推荐指数
3
解决办法
20万
查看次数

学习Smali的最佳方式是什么(以及如何/何时使用Dalvik VM操作码)?

我认识Java,并且学过C但从未使用它.我不知道任何形式的组装,无论是虚拟机还是真实机器.

学习如何攻击Smali的最佳方法是什么?

java android dalvik smali

61
推荐指数
3
解决办法
6万
查看次数

什么是Smali Code Android

我将学习一些关于Dalvik VM,dex和Smali的知识.

我读过关于smali的内容,但仍然无法清楚地了解它在编译器链中的位置.它的目的是什么.
这里有一些问题:

  1. 据我所知,dalvik作为其他虚拟机运行字节码,在Android的情况下它是dex字节码.
  2. 什么是小?Android OS或Dalvik Vm是否直接使用它,或者它只是相同的dex字节码,但对人类更具可读性?
  3. 它是像Windows的dissasembler(如OllyDbg)程序可执行程序由不同的机器代码(例如D3,5F)组成,并且每个机器代码都有适当的汇编命令,但Dalvik Vm也是软件,因此smali是字节码的可读表示
  4. 有新的ART环境.它仍然使用字节码或直接执行本机代码吗?

先感谢您.

android dalvik dex smali vm-implementation

28
推荐指数
1
解决办法
2万
查看次数

修改.smali文件

我反向设计了一些android apks来添加一些功能测试的工具.我想知道如果给我一个smali如何我可以添加类似的东西

Log.e(TAG, "some descritpion", e);
Run Code Online (Sandbox Code Playgroud)

到.smali文件中的每个方法.

.class public Ld;
.super Landroid/view/View;
.source "SourceFile"


# instance fields
.field a:Z

.field b:Lcom/rovio/ka3d/App;


# direct methods
.method public constructor <init>(Lcom/rovio/ka3d/App;)V
    .locals 2
    .parameter

    .prologue
    const/4 v1, 0x1

    .line 317
    invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V

    .line 313
    const/4 v0, 0x0

    iput-boolean v0, p0, Ld;->a:Z

    .line 314
    const/4 v0, 0x0

    iput-object v0, p0, Ld;->b:Lcom/rovio/ka3d/App;

    .line 318
    iput-object p1, p0, Ld;->b:Lcom/rovio/ka3d/App;

    .line 319
    invoke-virtual {p0, v1}, Ld;->setFocusable(Z)V

    .line 320
    invoke-virtual {p0, v1}, Ld;->setFocusableInTouchMode(Z)V

    .line 321
    return-void …
Run Code Online (Sandbox Code Playgroud)

android logcat apk smali

13
推荐指数
3
解决办法
2万
查看次数

android中的invoke-virtual和invoke-direct有什么区别

它说invoke-virtual是调用虚方法,而invoke-direct直接方法.

但是我不清楚什么是"虚方法"什么是"直接方法"?

换句话说,调用什么样的方法invoke-virtual会是什么样的invoke-direct

谁能举一些具体的例子?

提前致谢.

android dalvik smali

13
推荐指数
1
解决办法
6876
查看次数

如何调试android应用程序的smali代码?

我有一个有效的Android应用程序.其中我没有源代码.我想调试这个应用程序的功能.我可以使用apktool成功逆向工程这个应用程序apk文件 - https://code.google.com/p/android-apktool/ 这个工具生成smali格式的类文件.

我的要求是:

  1. 能够通过添加调试日志来调试方法.
  2. 能够通过打印堆栈跟踪来调试方法调用.

为此,我需要注入/插入smali等效的调试日志或堆栈跟踪.我尝试在其中一个方法的开头添加一些smali指令,但它与ClassVerifyError崩溃.

示例smali代码 -

.method public declared-synchronized b()V
    .locals 2

    .prologue

    .line 87
    monitor-enter p0

    :try_start_0
    iget-object v0, p0, Lcom/example/viewerlib/t/d;->a:Ljava/lang/Thread;

    invoke-virtual {v0}, Ljava/lang/Thread;->isAlive()Z

               :
               :
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我添加smali调试日志.Thnx提前.

android apk dex smali

11
推荐指数
3
解决办法
2万
查看次数

将.Java文件转换为.Smali文件

我使用APKTool逆向设计了一个Android应用程序,并将.Smali文件作为源代码输出.我将带有应用程序的.Smali文件转换为.Java文件.我能够成功编辑.Java文件,但现在我想将它们转换回.Smali,以便我可以使用新的.Smali文件重新编译应用程序.当我在那里留下.Java文件时,它不会重新编译它并给出一些错误.我找不到任何关于在互联网上编译.Java到.Smali的内容,所以我希望你们能帮助我.

先感谢您,

java android smali apktool

11
推荐指数
2
解决办法
3万
查看次数

".line"在smali代码语法中的含义是什么?(Android-Smali代码)

请看一下这个问题

反编译的smali代码包含像.line 3 或的东西.line 7.

我无法理解.line应该是什么,请详细说明用法.

java syntax mobile android smali

10
推荐指数
1
解决办法
8408
查看次数

有没有办法将 Smali 转换为 Java 进行编辑,反之亦然

我目前正在修改一个应用程序。有没有办法将 Smali 文件转换为 Java 进行编辑,反之亦然。我查遍了整个互联网,甚至XDA论坛也无法给我准确的答案。虽然有十几种方法,但没有一个是方便的。

java class apk smali

9
推荐指数
1
解决办法
3万
查看次数

自动转换Android的dex代码

我想转换/仪器Dex文件.转型的目标包括测量代码覆盖率.请注意,源文件不可用.所以检测Dex是唯一的选择.

我想知道是否有任何现有的代码库,我可以看作为编写工具来实现我的目标的示例.

我了解Smali项目以及以Smali为基础的许多其他项目.但是,这些项目都不是我的目的的好例子.

我正在寻找自动转换smali代码或dexlib表示的代码,从中生成smali.后面的选项对我来说是首选,因为可以避免生成smali的开销.

android dalvik dex smali

8
推荐指数
1
解决办法
1924
查看次数

标签 统计

smali ×10

android ×9

java ×5

apk ×4

dalvik ×4

dex ×3

apktool ×1

class ×1

logcat ×1

mobile ×1

syntax ×1

vm-implementation ×1