Andriod Dalvik虚拟机实战
文章平均质量分 78
随行之旅
这个作者很懒,什么都没留下…
展开
-
第4章 Android dex文件格式 第一节
第4章 android可执行文件 1、 andriod程序主要大多数时间在和DEX打交道,只要掌握了DEX文件的格式才能更加深入地理解andriod系统,才能对软件安全有更深刻的了解。2、 APK包其实就是ZIP压缩包,使用ZIP压缩软件可以多APK进行解压。3、 APK的组成由一些图片集资源和其他的文件组成,并且每个APK包都包含一个classes.dex.4、 Classe原创 2016-03-01 10:48:56 · 543 阅读 · 0 评论 -
第5章 静态分析Android程序
第5章静态分析Android程序 1、 程序的主activity,每个acitiviy都是andriod程序的一个显示“页面”,主要负责数据的处理和展示工作。2、 使用到的activity都需要在AndroidManifest.xml文件中手动声明,如声明的activity android:label 使用到的标签和程序包android:name="com.droider.cr原创 2016-03-09 14:13:11 · 424 阅读 · 0 评论 -
第5章 IDA Pro 破解实战
第5章 IDA Pro 破解实战1、工具IDA Pro 6.6版本 1、定位关键码 1) 搜索特殊字符串首先按下快捷键CTRL+S 打开段选择对话框,双击STRINGS段跳转到字符串段,然后按下ALT+T,打开文本搜索对话框,在String旁边的文本框输入要搜索的字符串后点击OK按钮,稍等片刻就会定位到搜索结果。2) 搜索关键API首先按下快捷键原创 2016-03-09 17:17:25 · 4417 阅读 · 0 评论 -
第2章 Android Dalvik 实战apktool反编译
第2章环境配置一、系统使用Ubuntu 15.10版本二、apktool工具使用2.0.21、到官网(http://apktool.shoujifans.com/)下载以下文件:apktool2.0.2.tar.bz2和apktool-install-linux-r05-ibot.tar.bz2。2、解压后得到aapt、apktool、apktool.j原创 2016-02-24 22:48:09 · 622 阅读 · 0 评论 -
第3章Android Dalvik虚拟机 第一节
第3章Android Dalvik虚拟机 环境配置1、 Ubuntu15.10系统 IP:192.168.153.1302、 使用的工具 vim 、baksmali.jar(DEX反汇编工具) 、smail.jar 1、 配置baksmali.jar、smail.jar1) 解压smali-2.0.3.ziproot@strom-virtual-mac原创 2016-02-25 16:30:17 · 306 阅读 · 0 评论 -
第3章Android Dalvik虚拟机 第二节
第3章 第二节Dalvik虚拟机汇编1、 环境配置Ubuntu 15.10 IP:192.168.153.1302、 介绍Dalvik虚拟机汇编1、 Dalvik汇编指令1) 指令格式每16个字符用空格分开例子:A|B|C|D E|F|G2) 每4位字符表示一个字母例子:A| (注意:A代表4位字符)3) 顺序从A~Z的单个字母作为4个操作符,原创 2016-02-25 22:14:29 · 285 阅读 · 0 评论 -
第6章 andriod ARM 前期准备(番外篇)
ARM 学习(番外篇) 一、先了解andriod系统架构 启动时会去读内存中的地址(就是存储器的地址) 片内程序->ADD(找地址)->加载内核(kernel)->加载类库(包括管理UI等) 1、这时就要写个程序,就是引导程序(bootloader),这个引导工具就包括了:开机的引导工作和硬件的一些驱动工作等等,继续传承到下一步。如:加载了网络、内存等。原创 2016-03-10 18:33:37 · 377 阅读 · 0 评论 -
第3章 Android Dalvik虚拟机 第三节(上)
第3章 Android Dalvik指令 1、 环境配置 Ubuntu15.10 IP:192.168.153.1302、 Dalvik指令使用 1、 Dalvik指令特点例子: move-wide/from 16vAA vBBBBMove 是基础字节码(baseopcode)Wide 是64位数据宽度From 16 是字节码后缀,是16位寄存器引用变量原创 2016-02-26 14:16:55 · 607 阅读 · 0 评论 -
第3章 Android Dalvik虚拟机 第三节(下)
第3章 Android Dalvik指令 1、 环境配置 Ubuntu 15.10 IP:192.168.153.1302、 Dalvik指令使用 1、 实例操作指令Check-case vAA ,type@BBBB 将vAA寄存器中对象引用转换成指定类型,会抛出异常。因为如果B指定是基本类型,对于非基本类型的A来说会始终失败。Instance-of vA ,原创 2016-02-27 13:12:18 · 641 阅读 · 0 评论 -
第6章 ARM 汇编基础与逆向 第一节
第6章 ARM 汇编基础与逆向 1、 系统Santoku IP:192.168.153.1332、 理解ARM汇编 1、 逆向你的原生Hello ARM 介绍有过java开发经验的读者一定会知道,java程序的安全多依赖于代码混淆技术,这种技术通过更改程序中的方法,字段名来增加静态分析的难度,从而达到防止程序被破解的目的。Andriod系统采用java作为其平原创 2016-03-15 09:04:27 · 727 阅读 · 0 评论 -
第1章 Android Dalvik 配置实战
Android Dalvik是android系统安全软件的一个分支点,把这个弄懂话,对系统安全软件就有了一定的基础。因为网络上这个内容太离乱了,在此笔者对这方面系统介绍实战。Android Dalvik环境部署1、 Ubuntu 10.04 amd64镜像2、 Ubuntu系统使用至少4G内存,硬盘至少60G3、 Android-Studio2.0软件一原创 2016-02-23 00:27:38 · 1090 阅读 · 0 评论 -
第9章andriod程序破解
第9章安卓程序破解 环境配置1、 Ubuntu15.10系统IP:192.168.153.1302、 Santoku系统 IP:192.168.153.1363、 抓包工具wireshark 实例破解 1、 安装apk包root@strom-virtual-machine:~/AndroidStudioProjects/network/app#adb ins原创 2016-03-19 23:07:52 · 407 阅读 · 0 评论 -
第4章 Android dex文件格式 第二节
第4章 dex文件格式 第二节 1、 环境配置Ubuntu 15.10 系统 IP:192.168.153.130理解dex文件格式 1、 查看andriod源码下的Dalvik/docs目录提供了一份dex-format.html文档,里面详细介绍了dex文件格式和数据结构。以上从byte到ulong很好理解表示1~8字节的无符号数,而sleb128、ul原创 2016-03-03 22:21:11 · 463 阅读 · 0 评论 -
第6章 andriod ARM 实战番外篇 3
ARM 实战汇编内存操作 1、 使用工具ARM ADS 内存操作就是跟寄存器之间的转换,有寄存器和内存的转换,也有内存和寄存器之间的转换。 内存和寄存器之间分为:单寄存器的操作、多寄存器的操作 单寄存器的操作分为:LDR Rn,Addn 按照字长读取例子: MOV R1,0x12 LDRR0,[R1]原创 2016-03-16 16:29:01 · 309 阅读 · 0 评论 -
第4章 Android dex文件格式 第三节
第4章 dex文件格式 第三节 1、 环境配置Ubuntu 15.10 系统 IP:192.168.153.130理解dex文件整体结构 一、dex文件整体结构 1、 dex文件由7个部分组成。Dex header为dex文件头,它指定了dex文件的一些属性,并记录了其他6部分数据结构在dex文件中的物理偏移。String_ids到class_def结构可以理解为“原创 2016-03-04 14:00:30 · 615 阅读 · 0 评论 -
第7章 andriod so 环境配置
So 逆向环境配置 1、 环境Ubuntu 15.10 IP:192.168.153.1302、 工具android-ndk-r10 1、 配置andriod-ndk-r101)创建目录root@strom-virtual-machine:~# mkdirandroid-ndk2)解压包root@strom-virtual-machine:~/androi原创 2016-03-16 20:31:14 · 403 阅读 · 0 评论 -
第7章 andriod so 分析ARM汇编代码
第7章So逆向分析ARM汇编代码环境配置1、 Ubuntu15.10 IP:192.168.153.1302、 工具 make 和IDA 1、 编译hello.c文件使用make命令2、 使用IDA 工具打开 3、 分析exp可执行文件 4、 反汇编的原程序代码为:Int main(){ Int a,b,c原创 2016-03-17 12:41:29 · 443 阅读 · 0 评论 -
第7章so逆向流程控制分析
第7章so逆向流程控制分析 环境配置1、 Ubuntu15.10系统IP:192.168.153.1302、 工具 make 和 IDA 1、 交叉编译使用make命令编译后会生成if、if.o、if.S文件2、 接着使用IDA工具打开if文件查看ARM汇编代码3、 查看if0的流程图语句,双击if0位置后按空格键进入将var_8参数位原创 2016-03-17 17:27:31 · 694 阅读 · 0 评论 -
第4章 Android odex文件格式 第四节
第4章 dex文件格式 第四节 1、 环境配置Ubuntu 15.10 系统 IP:192.168.153.130理解odex文件格式 一、odex文件格式1、 odex是OptimizedDEX的缩写,表示经过优化的dex文件。那么odex有什么作用?它的结构右是怎样的呢?2、 如何生成odex文件?odex有两种存在的方式:1) 是从apk程序中提原创 2016-03-06 13:13:42 · 1330 阅读 · 0 评论 -
第4章 Android IDA pro使用
第4章Android应用程序另类破解方法 环境配置 Ubuntu 15.10 IP:192.168.153.130工具IDA PRO 6.5 步骤:1、 首先生成一个hello.apk包2、 接着从Ubuntu把apk文件提取到现有目录下3、 解包提取classes.dex4、 通过IDA PRO6.5进行分析5、 通过IDA PRO6.5查找“0x7F0原创 2016-03-07 11:36:54 · 480 阅读 · 0 评论 -
第8章android动态调试
第8章android动态调试 环境配置1、 Ubuntu 15.10 系统IP:192.168.153.130 1、 andriod动态调试支持1) 启动andriod虚拟机2) 使用adb命令查看jdwp线程root@strom-virtual-machine:~# adb shell getprop ro.debuggable1这里原创 2016-03-18 15:30:49 · 304 阅读 · 0 评论 -
第6章 andriod ARM 实战番外篇 2
ARM实战番外篇2 使用的工具是ARM的ADS ARM堆栈 1、 当堆栈指针指向最上头的一个地址时称为:满堆栈2、 当堆栈指针指向最上头的一个地址的上个地址称为:空堆栈3、 当堆栈指针从低地址向高地址压栈的时候称为:递增压栈4、 当堆栈指针从高地址向低地址压栈的时候称为:递减压栈5、 什么情况的时候需要使用的递增递减压栈?是寄存器和内存中读取的时候(LDR、原创 2016-03-15 15:12:43 · 633 阅读 · 0 评论