自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (31)
  • 收藏
  • 关注

原创 dex2jar源码解析----smail转dex

SmaliCmd用来将smail文件转换为dex文件smail转dex用到了一个ANTLR 语言识别的一个工具 (ANother Tool for Language Recognition ) 来识别 smail语法,它定义了一个smail的文法文件这里的Smail.g4就是定义的文法文件,使用的是g4版本,另外几个java文件是根据文法文件自动生成的这是文法文件的一部分关于ANTLR我也不是特别

2016-12-23 16:48:02 3083 3

原创 android5.0上去掉按钮阴影

android 5.0以上默认给按钮添加了阴影,我们可以通过如下两方式去掉阴影1、style/Widget.AppCompat.Button.Borderless  这个需要用在我们需要给按钮添加自定义的样式的时候 match_parent @dimen/item_height center 2、style=”?android:at

2016-12-22 20:26:17 3840 1

原创 dex2jar源码解析----dex转smail

我们以BaksmaliTest为例,查看一下Dex转smail的流程public class BaksmaliTest { @Test public void t() throws Exception { File dir = new File("../dex-translator/src/test/resources/dexes"); File

2016-12-22 11:40:25 1532 2

转载 关于java字节码框架ASM的学习

原文:http://www.cnblogs.com/liuling/archive/2013/05/25/asm.html 一、什么是ASM  ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件

2016-12-21 21:03:15 1049

原创 dex2jar源码解析----解析dex文件<三>

接上篇,我们从convertCode开始看 public void convertCode(DexMethodNode methodNode, MethodVisitor mv) { IrMethod irMethod = dex2ir(methodNode);//主要是创建了它的stmts 把dex类型的指令转换为ir类型的指令 optimize(irMet

2016-12-21 20:57:00 2214

原创 dex2jar源码解析----解析dex文件<二>

接上面,我们继续分析doTranslate的下一部分private void doTranslate(final Path dist) throws IOException { DexFileNode fileNode = new DexFileNode();//创建一个DexFileNode的访问者 try { reader.accept

2016-12-21 15:16:25 1767

原创 dex2jar源码解析----解析dex文件<一>

dd

2016-12-19 16:19:54 8612 1

原创 dex2jar源码解析----总体介绍

dex2jar这个源码包,听名字是用来将dex文件转换为java文件,在githup上面的地址是https://github.com/pxb1988/dex2jar但我们分析这个源码可以看到,里面的功能不只是将dex转换为jar包,也可以转换dex为smail文件等,这个后面在分析dex2jar就是将dex文件转换为class文件,然后class文件打成jar包dex转换为class文件过程中会先

2016-12-19 13:02:00 3773

转载 JVM指令集

原文:http://blog.csdn.net/lm2302293/article/details/6713147 JVM指令集(指令码、助记符、功能描述)指令码助记符功能描述0x00nop无操作 0x01aconst_null 指令格式:  aconst_null 功能描述:  null进栈。 指令执行前指令执行后栈底...... null栈顶 注意:JVM并没有为null指派一个具体的值。  

2016-12-17 22:57:04 2131

转载 Android-Dalvik指令集

原文:http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html表中的Vx代表一个寄存器,根据指令的不同,可以有16,256或者是64k个寄存器。对long或者是double的操作都会使用2个寄存器,比如,v0寄存器里面的double实际会占据v0和v1寄存器。boolean值用1带包true,0代表false。对boolean值的操作会转化为

2016-12-17 22:55:27 933

原创 有关C++模版

前面看老罗文章时看到里面有很多的模版,不是很了解,这里做个笔记typedef  类型 定义名;类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。例如: 用下面语句定义整型数的新名字:typedef int SIGNED_INT;typedef函数指针用法typedef  返回类型(*新类型)(参数表)typedef char (*PTRFUN)(int);

2016-12-17 12:31:54 970

原创 有关viewPager item数量相同数据不同时显示问题

当我们使用viewPager 设置数据后,如果只是更新了数据,但数据项数没变,那么当我们调用notifyDataSetChanged();里面的内容并不会刷新跟踪下ViewPager的源码,主要是在下面这个函数void dataSetChanged() { // This method only gets called if our observer is attached, so

2016-12-16 17:31:28 900

原创 dalvik执行流程

Dalvik虚拟机运行时,同样为每个线层维护一个PC计数器和调用栈,与Java虚拟机不同的是,这个调用栈维护一份寄存器列表,寄存器的数量在方法结构体的register字段中给出,Dalvik虚拟机会根据这个值来创建一份虚拟的寄存器列表由此可见,给予寄存器架构的Dalvik虚拟机与基于栈架构的Java虚拟机相比,由于生成的代码指令少了,程序执行速度会更快一些

2016-12-16 08:26:45 948

原创 jvm执行流程

dex

2016-12-14 14:27:37 1521

原创 smail格式

Smali代码是Android的Dalvik虚拟机的可执行文件DEX文件反汇编后的代码。所以Smali语言就是Dalvik的反汇编语言。?使用Apktool反编译apk?文件后,会在反编译工程目录下生成一个smali?文件夹,里面存放着所有反编译出的smali?文件,这些文件会根据程序包的层次结构生成相应的目录,程序中所有的类都会在相应的目录下生成独立的smali?文件Smali语法格式可参考:h

2016-12-14 11:01:10 1258

原创 dex文件结构

上文分析了class文件的结构,这里我们分析dex的文件结构通过如下命令把上文的.class文件生成dex文件 dx --dex --output Test33.dex .\Test2.class首先我们来看下dex文件整体的一个结构DEX文件的基本结构如下图headerstring_idstype_idsproto_idsfield_idsmethod_idsclass_defdatalink_

2016-12-10 23:05:58 861

原创 java class文件结构

要深入理解class文件结构,请移步:http://blog.csdn.net/column/details/zhangjg-java-blog.htmlpackage a;/** * Created by leaves on 2016/11/8. */public class Test2 { public static final int mStatic = 111111111

2016-12-07 10:06:25 406

dex2jar源码

dex2jardex2jardex2jardex2jardex2jardex2jar

2016-12-22

Animation_test.zip

Animation_test.zip

2014-09-25

patch_wifi_ethernet_A20

wifi以太网共存补丁程序

2014-08-08

传感器_了解

传感器_了解

2013-05-24

vold.eap

vold.eap

2013-03-07

root_server

root_server

2013-02-25

net-snmp_useful_libsnmp_android

net-snmp_useful_libsnmp_android

2013-02-25

blcr-0.8.2-android

blcr-0.8.2-android

2012-11-23

android binder流程图

android binder流程图

2012-11-10

MPEG2_GUIDE(1).CHM

MPEG2有关 ts pat pmt的说明 MPEG2有关 ts pat pmt的说明

2012-11-08

ashmem C case

ashmem_C实例C++层的

2012-11-08

Android AIDL 简单case

Android AIDL 简单case

2012-10-24

binder简单示例

binder简单示例

2012-10-22

dhcp 抓 包

dhcp抓包.

2012-08-24

DHCP原理介绍

DHCP原理介绍

2012-08-23

红外遥控相关资料

红外遥控相关资料

2012-07-04

json 代码

json代码、c实现。

2012-06-05

kobj测试case

kobj测试case

2012-05-18

vold-for-usb

android支持ext*,ntfs等格式的代码

2012-04-15

ntfs-3g-for-android

ntfs-3g-for-android修改后的代码

2012-04-15

kernel修改支持uid,gid等

kernel修改支持uid,gid等kernel修改支持uid,gid等

2012-04-15

NTFS_and_boot_code

NTFS_and_boot_codeNTFS_and_boot_code

2012-03-30

NTFS文件系统研究

NTFS文件系统研究NTFS文件系统研究

2012-03-30

FAT32文件系统详解

FAT32文件系统详解

2012-03-29

Linux Device Drivers

Linux Device Drivers

2012-03-22

Understanding The Linux Kernel

Understanding The Linux Kernel

2012-03-22

Android_Binder设计与实现_-_设计篇

Android_Binder设计与实现_-_设计篇

2012-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除