
android安全
文章平均质量分 72
beyond702
这个作者很懒,什么都没留下…
展开
-
360APK包与类更改分析
依然是转载chouchou大神,原帖地址:http://www.cnblogs.com/wanyuanchun/p/3829918.html1 题目要求这是360的全球招募无线攻防中的第二题,题目要求如下:1)请以重打包的形式将qihootest2.apk的程序包名改为 "com.qihoo.crack.StubApplication",使得在同一手机上面可转载 2015-09-30 15:24:57 · 1706 阅读 · 0 评论 -
图解Dex文件结构及解析要点
Dex文件格式相当简单,看下图:上图是我从数据结构的角度画出来的Dex文件格式,每个数据结构在android源码dalvik/libdex目录下都有定义,关于上图有几点需要注意:1. 图中所有以(encoded)标注的数据结构在文件中对应的数据都是经过Leb128编码的,详细的可以自己去查,编码规则:以字节为单位,按照小端规则排列每字节最高位为标志。如果最高位为原创 2016-09-07 19:41:20 · 4054 阅读 · 0 评论 -
Android系统属性SystemProperty分析
原帖地址:http://www.cnblogs.com/bastard/archive/2012/10/11/2720314.html一 System Property 代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属性,肯定对整个系统全局共转载 2016-10-25 10:29:03 · 849 阅读 · 0 评论 -
UPX对Android上ELF加壳使用过程中的若干问题总结
下面内容部分摘录自:http://www.cnblogs.com/fishou/p/4202061.html5、相关问题总结5.1、编译UPX出现“cannot find -lz”错误。 分析:原因是链接器LD没有找到编译出来的zlib库libz.so或libz.a。 解决方法:将libz.so或libz.a拷贝到系统默认的动态链接库原创 2016-07-12 16:08:42 · 8268 阅读 · 0 评论 -
Android应用安全相关工具总结
1. AndroGuard,基于python的逆向工程和分析框架,主要用于静态分析Android应用。2. apktool,APK解包和打包相关工具。3. dexdump,Android SDK中自带的解析dex文件的工具。4. andbug,基于Java调试连线协议(JDWP)的Android Java动态调试工具。5. Drozer,可扩展的模块化Android APP安全测试原创 2016-10-09 14:57:38 · 417 阅读 · 0 评论 -
Android实用命令汇总——ps
ps进程命令在adb shell终端,输入 ps,可查看手机当前所有的进程状态,其中ps的英文全称是Process Status。1. ps命令参数-t 显示进程里的所有子线程-c 显示进程耗费的CPU时间-p 显示进程优先级、nice值、调度策略-P 显示进程,通常是bg(后台进程)或fg(前台进程)-x 显示进程耗费的用户时间和系统时间,格式:(u:0, s:0),转载 2016-10-19 15:38:41 · 3409 阅读 · 0 评论 -
Android实用命令汇总——am
一、概述作为一名开发者,相信对adb指令一定不会陌生。那么在手机连接adb后,可通过am命令做很多操作:(1) 拨打电话10086adb shell am start -a android.intent.action.CALL -d tel:10086(2) 打开网站www.gityuan.comadb shell am start -a androi转载 2016-10-19 11:36:17 · 1222 阅读 · 0 评论 -
Android实用命令汇总——dumpsys
dumpsys命令功能很强大,能dump系统服务的各种状态,非常有必要熟悉该命令的用法以及含义。一、 dumpsys命令1.1 服务列表不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前手机所支持的dump服务,先进入adb shell,再执行如下命令:dumpsys -l。 这些服务名或许你并看不出其调用的哪个服务,那么这时可以通过下面指令:s转载 2016-10-19 11:13:54 · 838 阅读 · 0 评论 -
Android实用命令汇总——pm
一、Pm命令命令格式:pm command>命令列表:命令功能实现方法list packages列举app包信息PMS.getInstalledPackagesinstall [options] >安装应用PMS.installPackageAsUser转载 2016-10-19 11:35:42 · 1074 阅读 · 1 评论 -
Android系统/proc目录最全解析
1. /proc目录首先来介绍一下/proc目录,它是一个虚拟的目录,其下面的文件和目录也都是虚拟的,不占用实际的存储空间,而是存在于系统内存中。proc以文件系统的方式为访问系统内核的操作提供接口,它是动态从系统内核中读出所需信息的。/proc/cmdline:显示内核启动的命令行。/proc/cpuinfo:显示系统cpu的信息。 /proc/filesystems,显示当前注原创 2016-10-19 18:03:13 · 14241 阅读 · 3 评论 -
关于setpropex工具使用的几点问题记录
如果需要修改Android的ro.类型的系统属性,大概有两种方法:一种是需要解锁boot loader,定制自己的boot.img文件;另一种是用setpropex工具。两种方法都需要root权限,第一种方法比较复杂,但好处是可以永久性的修改属性,第二种方法很简单,但是只是暂时的,系统重启就失效了。我这里使用了第二种方法,只要用root权限去运行setpropex设置属性,然后adb ro原创 2016-10-24 18:57:42 · 2135 阅读 · 1 评论 -
Android内核之内核提取
Android设备启动的时候有两种模式:第一种是正常启动,使用boot分区;第二种是启动恢复过程,使用recovery分区。这两种分区的结构是相同的,后面会介绍到。两者的区别顾名思义,这里不多说了。这两个分区的镜像文件分别对应boot.img和recovery.img,我们可以从很多渠道去获取到,其中包含了系统非常重要的东西。boot.img镜像文件中包含了内核镜像文件(通常命名为zImage原创 2016-11-10 11:54:12 · 11537 阅读 · 1 评论 -
Android C语言_init函数和constructor属性及.init/.init_array节探索
了解C语言的程序猿都知道有两种方法可以让一部分代码在so或可执行文件被加载的时候先于其它任何函数执行,一种是定义一个void _init(void)函数,另一种是在函数后面声明constructor属性。那么这两种方式在执行的时候有什么区别吗?先后顺序呢?了解ELF文件格式的人又会问它们在文件中的位置又有什么差别呢?这篇文章就来解答这些问题。首先你需要了解一下ELF文件格式了,这里就不啰嗦了,原创 2016-12-13 11:42:51 · 4417 阅读 · 0 评论 -
Arm Inline hook的简易原理图
Arm架构下有arm指令和thumb指令之分,不同指令集的hook过程不一样。假设我们要hook libc.so中的execv和read函数,android系统的库应该都加了-mthumb-interworking编译选项,支持thumb/arm的代码交织,所以要区分目标函数是thumb还是arm指令的。用ndk编译自己的代码好像默认的是arm(虽然我网上查的说默认是thumb,但我的库编原创 2016-05-16 16:55:52 · 5980 阅读 · 0 评论 -
ELF文件分析中的重要工具
1. file用于查看文件的简单信息BriansdeMacBook-Pro:armeabi-v7a brian$ file libcheckcert.so libcheckcert.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped原创 2016-12-09 17:02:37 · 4088 阅读 · 0 评论 -
Android LLVM-Obfuscator C/C++ 混淆编译的深入研究
一、 LLVM是什么?(1)LLVM是lowlevel virtual machine的简称,是一个编译器框架。苹果公司的Xcode 4.0之后用的都是LLVM编译器。(2)LLVM 诞生于2003.10伊利诺伊大学香槟分校,创始人ChrisLattner,现任苹果公司『开发者工具』部门的主管。 二、 LLVM-Obfuscator 是什么?(1)LLV转载 2016-09-28 15:10:04 · 2796 阅读 · 0 评论 -
Android SO 加壳(加密)与脱壳思路
原帖地址:http://blog.youkuaiyun.com/jltxgcy/article/details/522052100x01 常见的Android SO加壳(加密)思路 1.1 破坏Elf Header 将Elf32_Ehdr 中的e_shoff, e_shnum, e_shstrndx, e_shentsize字段处理,变为无效值。由于在链接过程中转载 2016-12-21 16:25:07 · 5421 阅读 · 0 评论 -
花指令文章
http://blog.youkuaiyun.com/qincode/article/details/16116091http://blog.youkuaiyun.com/yangbostar/article/details/6194133http://www.cnblogs.com/hrhguanli/p/3843298.htmlhttp://bbs.pediy.com/showthread.php原创 2016-12-19 19:18:41 · 691 阅读 · 0 评论 -
MacOS安装并使用Drozer总结
Drozer官网:https://labs.mwrinfosecurity.com/tools/drozer/1. 首先下载Drozer源码并编译安装:git clone https://github.com/mwrlabs/drozer/cd drozerpython setup.py buildpython setup.py install但是上面命令中最后一条安装的原创 2016-10-09 17:26:52 · 3428 阅读 · 3 评论 -
APK瘦身记,如何实现高达53%的压缩效果
原帖:http://bbs.pediy.com/showthread.php?t=209029&highlight=apk+%E7%98%A6%E8%BA%AB+%E8%BA%AB1、我是怎么思考这件事情的APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律。不过随着移动端技术近两年的飞速发转载 2016-08-23 19:00:08 · 4694 阅读 · 0 评论 -
APK加固之类抽取分析与修复
转载地址:http://mp.weixin.qq.com/s?__biz=MjM5NzAxMzk4NA==&mid=210073533&idx=1&sn=93f458546a4631e0d6633564f0d5b3c9&scene=0&key=949503d320dbced03c3805aea6a657b1e4ac0e3e85d082f52f17c67a980d7df749837be99b2025转载 2015-09-29 17:39:43 · 1081 阅读 · 0 评论 -
腾讯应用加固的脱壳分析和修复
新手先收几篇相关文章本文转自:http://mp.weixin.qq.com/s?__biz=MjM5NzAxMzk4NA==&mid=209300399&idx=1&sn=15396bc330017b5457ba76bd487680a0&scene=0#rd前言:从本期开始整理补充加固、系统漏洞知识;之后补充整理ROOT相关原理漏洞利用。转载 2015-09-29 17:16:27 · 3158 阅读 · 0 评论 -
用DexClassLoader实现加壳
本文对dex加壳机制中的DexClassLoader部分做了稍微详细的介绍,解决了我的一些疑问,收藏之!原文地址:http://blog.youkuaiyun.com/beyond296089727/article/details/45418803JAVA 运行所需要依赖的API的是动态链接的,这个跟C/C++不一样,C/C++开发的程序可以是静态链接的也可以是动态链接的,其中静态链接是在转载 2015-10-09 14:39:33 · 861 阅读 · 0 评论 -
国内apk加固的破解方法
国内apk加固的破解方法原文链接:http://blog.youkuaiyun.com/pxb1988/article/details/17167795By Bob Pan国内的apk加固技术都使用了将原有的dex隐藏, 在运行时解压, 并且通过修改app的类加载器的方式实现加固. 参考:AndoridAPK反逆向解决方案:bb加固原理探寻然而, 不管如何隐藏dex, 最终在运转载 2015-12-29 19:27:56 · 9210 阅读 · 0 评论 -
Android逆向必备网址和书籍
几本android安全基础书籍Android Apps Securityhttp://www.itpub.net/forum.php?mod=viewthread&tid=1730861Application Security for the Android Platform: Processes, Permissions, and Other Safeguards转载 2015-12-30 16:09:59 · 7015 阅读 · 0 评论 -
root技术背后android手机内核提取及逆向分析
转自阿里安全技术博客:http://jaq.alibaba.com/blog.htm?spm=0.0.0.0.VNSW53&id=49安卓ROOT技术背景: Android手机获得Root权限,可以让/system和/data分区获得读写的权限.这两个分区的权限配置,一般在根分区的init.rc文件中,修改这个文件可永久获得root权限. 众所周知,转载 2016-01-26 13:38:19 · 1920 阅读 · 0 评论 -
ARM处理器的寄存器,ARM与Thumb状态,7种运行模式
ARM处理器工作模式一共有 7 种 :USR 模式 正常用户模式,程序正常执行模式FIQ模式(Fast Interrupt Request) 处理快速中断,支持高速数据传送或通道处理IRQ模式 处理普通中断SVC模式(Supervisor) 操作系统保护模式,处理软件中断swi resetABT转载 2016-03-15 19:28:35 · 3608 阅读 · 0 评论 -
玩转ptrace(利用ptrace下断、单步调试、修改代码执行、代码注入等)
下面是转帖的内容,写的很详细。但是不同的linux发行版中头文件的路径和名称并不相同。如在某些发行版中就不存在,其中定义的变量出现在和中。==================================================================================================by Pradeep PadalaCrea转载 2016-03-11 15:58:58 · 8596 阅读 · 0 评论 -
ARM函数调用规则
对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard),ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回,关于ATPCS的详细内容可以查看ADS1.2 Online Books ——Developer Guide的2.1节。这篇文档要讲的是 汇编代码中对C函数调用时如何进行参转载 2016-03-11 17:34:43 · 1399 阅读 · 0 评论 -
Android平台的 Ptrace, 注入, Hook 全攻略
原帖:http://www.aiuxian.com/article/p-1295924.htmlAndroid平台上的Ptrace已经流行很久了,我记得最早的时候是LBE开始使用Ptrace在Android上做拦截,大概三年前我原来的同事yuki (看雪上的古河) 写了一个利用Ptrace注入的例子,被广泛使用,听说他还因此当上了版主,呵呵:Android平台上的注入代码两年前转载 2016-05-11 19:04:06 · 3875 阅读 · 0 评论 -
笔记:Android源码和NDK目录及头文件
NDK目录:1. 系统调用号定义: android-ndk-r9d/platforms/android-19/arch-arm/usr/include/asm/unistd.h2. 系统中断号定义:android-ndk-r9d/platforms/android-19/arch-arm/usr/include/asm/arch/irqs.h3. ptrace函数定义:原创 2016-03-11 16:14:02 · 6068 阅读 · 0 评论 -
老罗的“Android应用程序资源的编译和打包过程分析”一文的一点总结
老罗这篇文章的原文地址:http://1025250620.iteye.com/blog/1974214其中大部分内容并没有看明白。。。,不过还是有一些东西需要总结一下。首先摘几段内容:在前面Android资源管理框架(Asset Manager)简要介绍和学习计划一 文中提到,只有那些类型为res/animator、res/anim、res/col原创 2015-10-15 20:20:10 · 843 阅读 · 0 评论 -
Dex文件结构及对应的数据结构
string_ids_off字段:typedef struct DexStringId { u4 stringDataOff; } DexStringId;type_ids_off字段:struct DexTypeId { u4 descriptorIdx; /* index into stringIds list for原创 2016-02-17 17:14:44 · 642 阅读 · 0 评论 -
手把手教你解析Resources.arsc
对于APK里面的Resources.arsc文件大家应该都知道是干什么的(不知道的请看我的另一篇文章Android应用程序资源文件的编译和打包原理),它实际上就是App的资源索引表。下面我会结合实例对它的格式做一下剖析,读完这篇文章应该能够知道Resources.arsc的格式,并可以从二进制的文件中查找到资源的相关信息,或者根据资源的id可以定位到二进制文件中的位置。不过本人对Android资源原创 2016-06-23 17:42:31 · 64175 阅读 · 7 评论 -
手把手教你解析AXML
一、简述AXML即Android Binary XML,是Android应用程序APK包中保存xml文件数据的一种方式,可以减小xml文件的大小。本文章与我的另一篇文章手把手教你解析Resources.arsc是相关联的,resources.arsc文件是apk的资源索引文件,而xml文件是apk的资源文件,resources.arsc保存了xml中需要用到的资源的索引,它们之间有非常强的依赖原创 2016-07-05 18:05:29 · 11183 阅读 · 0 评论 -
Android注入完全剖析
转载自chouchou大神,地址:http://www.cnblogs.com/wanyuanchun/p/4020756.html0 前沿本文主要分析了一份实现Android注入的代码的技术细节,但是并不涉及ptrace相关的知识,所以读者如果不了解ptrace的话,最好先学习下ptrace原理再来阅读本文。首先,感谢源代码的作者ariesjzj大牛,没有他的源码转载 2015-09-30 11:18:49 · 1316 阅读 · 0 评论 -
Android安全防御-ELF篇(简单总结)
原帖地址:http://bbs.pediy.com/showthread.php?t=203611由于近几年来移动应用变得火热,呈突发式激增。数据以及软件也面临各种安全挑战。软件保护,数据保护也成为了一个热门话题。今天就专门对Android移动软件中的ELF文件的保护进行简要说明。主要是针对ELF方面的保护进行框架描述。若以后有机会希望能整理成书,为大家提供精神食粮。很多ELF的保转载 2016-08-10 16:31:41 · 2039 阅读 · 0 评论 -
Android ELF文件编译之符号隐藏
编译系统是一套非常强大的系统,有众多的编译参数,但是大部分人只听过很少几个,希望以后能有时间好好看一下相关的资料研究清楚。今天来介绍Android下面NDK编译so时,怎样实现符号隐藏,gcc默认的情况下是将所有符号都导出的,为了安全启见可以将符号隐藏,可以给破解带来很大的麻烦,另外还可以有效减小so文件的大小,还有一个好处是可以加快程序的运行速度。隐藏符号基本有几种方式:一种是在函数定义原创 2017-02-21 14:59:49 · 2879 阅读 · 0 评论