美文网首页
初识[android逆向] smali

初识[android逆向] smali

作者: Anxxx | 来源:发表于2019-07-19 09:49 被阅读0次

初识[android逆向] smali,烦请各位大佬多多海涵,小萌新一枚。

smali文件:

无论是普通类、抽象类、接口类或者内部类,在反编译出的代码中,它 们都以单独的smali 文件来存放。每个 smali 文件都由若干条语句组成, 所有的语句都遵循着一套语法规范。

1.描述类的信息

.class < 访问权限> [ 修饰关键字] < 类名>

.super < 父类名>

.source <源文件名>

2. 静态字段

  #stantic fields

.field < 访问权限> static [ 修饰关键字] < 字段名>:< 字段类型>

3.实例字段

  #instance fields

.field < 访问权限> [ 修饰关键字] < 字段名>:< 字段类型>

4.直接方法

#direct methods

.method <访问权限> [ 修饰关键字] < 方法原型>

<.locals> “.locals ”指定了使用的局部变量的个数

[.param] “.param”指定了方法的参数

[.prologue] “.prologue ”指定了代码的开始处

[.line]         “.line ”指定了该处指令在源代码中的行号

<代码体>

.end method

5. 虚方法的声明与直接方法相同,只是起始处的注释为“virtual methods”。

6.接口

# interfaces

  .implements < 接口名>“.implements ”是接口关键字,后面的接口

  名是 DexClassDef 结构中 interfacesOff 字段指定的内容。

7.注解

  # annotations

  .annotation [ 注解属性] < 注解类名>

[ 注解字段 = 值]

  .end annotation

  注解的作用范围可以是类、方法或字段。如果注解的作用范围是类,  “.annotation ”指令会直接定义在 smali 文件中,如果是方法或字段,“.annotation ”指令则会包含在方法或字段定义中。

相关文章

  • 初识[android逆向] smali

    初识[android逆向] smali,烦请各位大佬多多海涵,小萌新一枚。 smali文件: 无论是普通类、抽象类...

  • 【CTF】Smali

    0x01 题目描述 都说学好Smali是学习Android逆向的基础,现在刚好有一个smali文件,大家一起分析一...

  • smali学习笔记之四种方法破解一个简单creakme

    概述 自己以前学习android逆向的一个笔记,虽然超级简单,但是涉及到smali汇编,java层逆向的思路以及x...

  • Android逆向——Smali语法

    一、android盗版软件大部分都是二次打包完成的。基本上就是反编译,注入广告,打包签名,上传市场。其中注入广告或...

  • android 逆向 初级系列(二)

    1. 引言 最近利用空闲时间学习了下smali语法,当然是为逆向破解服务的。本文是Android apk的初级逆向...

  • Android逆向基础:Smali语法

    Smali是什么 Smali是Android虚拟机的反汇编语言。我们都知道,Android代码一般是用java编写...

  • Android逆向练习(二)smali

    这次还是尝试,在吾爱上看到一个crack,也是非常简单,顺着接着练手。先看看长什么样: 拿到apk还是反编译,但第...

  • Android逆向练习(一)smali

    刚刚开始接触Android逆向方面的东西,之前了解了点smali,正好找到个新手crackme,打算试一下。虽然简...

  • Android逆向(2) - Smali语言

    一、定义 APK反编译后,会生成一个名为 smali 的文件夹,里面存放的就是 Android 应用程序的代码。S...

  • smali 介绍

    本篇介绍 smali 可以看成是虚拟机的汇编语言,在逆向时可以看懂smali可以提升不少效率. Smali 语法 ...

网友评论

      本文标题:初识[android逆向] smali

      本文链接:https://www.haomeiwen.com/subject/qnadlctx.html