zoukankan      html  css  js  c++  java
  • Chapter3——进入Android Dalvik虚拟机(二)

    Dalvik汇编语言基础

    Dalvik虚拟机为自己设计了一套指令集,并制定了自己的指令格式调用规范

    位描述约定如下:

    • 每16位的字采用空格分隔开来
    • 每个字母表示4位,每个字母按顺序从高字节开始,排列到低字节。每4位之间可能使用竖线「|」表示不同的内容。
    • 顺序采用A~Z的单个大写字母作为一个4位操作码,op表示一个8位的操作码。
    • 「∅」来表示这字段所有位为0值。

    以「A|G|op BBBB F|E|D|C」为例,

    指令中间两个空格每个分开的部分大小为16位;

    第一个16位A|G|op,高8位由A和G组成,低字节由操作码op组成;

    第二个16位BBBB表示一个16位的偏移值;

    第三个16位由F、E、D、C四个字节组成,在这里他们表示寄存器参数

    单纯通过位标识还无法确定一条指令,必须通过指令格式标识来指定指令的格式编码。在书的38页,这里不摘录了。

    DEX文件反汇编工具

    目前主流的DEX可执行文件反汇编工具有BakSmali何Dedexer。其中BakSmali还支持打包反汇编代码重新生成DEX文件,使用更广泛。

  • 相关阅读:
    git命令记录
    JS实现iframe自适应高度
    js生成某个范围内的随机数
    jquery实现按钮翻转动画
    删除ELK的索引
    ELK故障处理,不知道成功否
    软件开发的SOLID原则
    阿里云的远程桌面问题
    Zabbix增加邮箱后Server宕处理
    201811招投标培训要点
  • 原文地址:https://www.cnblogs.com/larrylawrence/p/3817144.html
Copyright © 2011-2022 走看看