Android安全
文章平均质量分 92
1024工场
新技术,新未来,1024工场...
展开
-
Android安全:dex2jar、jd-gui和AXMLPrinter2
生成Android的apk文件过程中,将Java语言的字节码(.class)转换成Dalvik虚拟机字节码(.dex),d2j-dexjar可以将这个过程可逆,将.dex转换成.class。下面我们就介绍如何反编译一个dex文件,并使用jd-gui反编译.class为java源码并查看: 一、dex2jar(https://sourceforge.net/p/dex2jar/wiki/Home/) Android.dex和java.class文件相关的工具集: 1.dex-reader/writer:原创 2016-07-12 22:08:46 · 5962 阅读 · 0 评论 -
Android安全:ApkTool
一、ApkTool作用 1.跨平台工具,可以在Windows平台与Ubuntu平台下直接使用; 2.ApkTool反编译,生成Smail格式的反汇编代码; 3.阅读Smail文件的代码理解程序的运行机制,找到程序突破口进行修改; 4.使用ApkTool重新编译成apk文件并签名,最后运行测试破解程序是否成功; 二、安装ApkTool(以Ubuntu为例演示) 1.下载Linux包装脚本apktool.sql(https://raw.githubusercontent.com/iBotPeache原创 2016-07-10 18:06:16 · 4669 阅读 · 0 评论 -
Android安全:代码注入
一、常用的Smail注入代码 在逆向分析APK文件的时候,我们往往需要注入一些自己的代码方便调试,如增加调试Log信息等。常用的Smail注入代码如下: 1.增加调试Log信息: Log.i("test","Log Test"); 2.增加堆栈跟踪信息: new Exception("print trace onCreate").printStackTrace(); 3.增加MethodTracing信息: Debug.startMethodTracing("qprojecttract");原创 2016-11-25 05:18:30 · 3972 阅读 · 0 评论 -
Android安全:Hook技术
一、Hook技术 1.Hook英文翻译为“钩子”,而钩子就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时,处理一些自己特定的事件; 2.Hook使它能够将自己的代码“融入”被勾住(Hook)的进程中,成为目标进程的一部分; 3.在Andorid沙箱机制下,Hook是我们能通过一个程序改变其他程序某些行为得以实现; 二、Hook分类 1.根据Android开发模式,Native模式(C/C++)和Java模式(Java)区分,在Android平台上 Java层原创 2016-08-15 18:39:23 · 23625 阅读 · 2 评论 -
Android安全:So分析
一、So简介 1.Android底层是Linux,Linux本身就是使用C/C++语言,Android使用了一个Dalvik虚拟机才使得应用程序开发使用Java语言; 2.Dalvik支持JNI编程方式,第三方应用完全可以通过JNI调用自己的C/C++动态库(so文件),使用“Java+C”编程方式; 3.NDK(Native Development Kit)是“Java+C”开发的工具库,保证程序的兼容性、调试性和调用API方便性,也避免Java的不足,如安全性;原创 2016-08-15 01:56:46 · 5515 阅读 · 0 评论 -
Android安全:如何逆向分析Android程序
经过前面对各种反编译工具apktool,dx2jar,jd-gui等工具的介绍,本章节我们结合一个实际的案例,向大家讲解如何分析Android程序。 一、分析步骤 1.使用dex2jar和jd-gui工具分析Java反编译源码; 2.使用apktools,反编译Smail文件。由于Smail语法单独阅读比较困难,我们可以结合Java反编译的源码进行分析; 3.根据相关的特征和线索,修改Smail源码,使用apktools重新打包; 4.使用jarsigner重新签名apk,安装并验证修改是否正确,原创 2016-07-19 02:11:15 · 3110 阅读 · 0 评论