关闭

Android学习心得(25) --- Intent启动方式研究

Activity Flagintent.addFlags(Intent.XXX) FLAG_ACTIVITY_NEW_TASK singleTask FLAG_ACTIVITY_SINGLE_TOP singleTop FLAG_ACTIVITY_CLEAR_TOP 在此之上的所有的都要出栈 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 拥有这个标记的Activity...
阅读(83) 评论(0)

Android NDK系列(6) — 动态注册native方法

我在博客上发表一些我的NDK学习心得,希望对大家能有帮助。 这一篇我们讲述如何动态注册native方法介绍首先,之前写的文章中通过一个简单的例子来使用了一下NDK,实现了从Native中调用Java方法。下面,我们要介绍的是实现动态绑定native方法来破除命名限制。问题在静态注册的情况,所有的方法都是有固定的方法名:Java_ ,这种情况下,调用一个方法比较繁琐,同时也...
阅读(167) 评论(0)

Android学习心得(24) --- Android Handler消息机制源码分析

Android Handler消息机制源码分析相关类 Looper MessageQueue Message Handler 基础知识1. ThreadLocal2. epoll3. pipe4. idleHandler使用过程使用方法: 1、Looper.prepare() 2、创建Handler实例,重写handleMessage处理函数 3、Looper.loop() 4、调用相关的发...
阅读(128) 评论(0)

python学习心得(5)— Python插件化开发

前言这年头,仅仅是硬编码的方式已经满足不了项目逇可拓展性,为了实现拓展的功能,考虑使用插件化加载功能来实现参考本文中的方法是import实现 以及参考开源python漏洞扫描器中的实现 https://github.com/Lcys/lcyscan 该扫描器通过加载不同的扫描模块,然后开启线程来实现实现废话少说,直接上代码项目结构如下图: 定义了一个Plugins包,中间包含了两个插件P...
阅读(270) 评论(0)

Android学习心得(23) --- Android序列化使用

序列化操作:将数据结构或者对象转换成可用于存储或者传输的数据格式的过程序列化 反序列化Serializable基于JDK接口,基于磁盘或者网络序列化操作: 1、创建某种类型OutputStream 2、封装该输出流到一个ObjectOutputStream中(基于字节) 3、调用ObjectOutputStream.writeObject进行序列化 反序列化操作...
阅读(139) 评论(0)

python学习心得(4)— 并发小米应用商城APK爬取

前言上一节中python学习心得(3)— 小米应用商店APK爬取介绍了如何进行爬取APK 对应源码为 https://github.com/QyMars/APKSpider/blob/master/XiaomiCrawler.py 并发单线程的进行下载,效率太低,为了实现并发,使用了Python中的Celery异步任务队列来实现并发源代码Github:https://github.com/Qy...
阅读(571) 评论(0)

python学习心得(3)— 小米应用商店APK爬取

原因为了对大量Android样本进行分析,我们需要从不同的应用市场中对应用进行爬取 目标使用Python实现对于小米商城中的APK进行爬取,实现自动化爬取功能。 过程 解析对应网页元素,获取APK链接 获取每一个APK链接中下载链接 对下载链接进行访问,将返回数据保存到本地 找到是否有下一页的元素,从来获取下一页页面地址,重复上述操作 访问下一页的操作十分必要,这样才能够实现整个系统的自动化...
阅读(477) 评论(0)

Android插件学习汇总(持续更新)

Android插件学习Android插件好处 实现热更新操作 业务热拔插 提高启动速度 基本实现使用一个宿主APK,即空壳程序,通过动态加载功能跟实现插件包调用,从而实现动态更新的功能。开篇对于这一个块的内容学习,我也是刚刚接触,希望从我一步一步学习下去,由浅入深,更好的理解这个动态加载过程,最终目标能够实现一个相对比较完备的插件框架。 å基础知识DexClassLoader可以实现对于Dex、j...
阅读(446) 评论(0)

Android NDK系列(5) — SO中获取Java对象的属性

我在博客上发表一些我的NDK学习心得,希望对大家能有帮助。 这一篇我们讲述如何在so中获取到Java对象属性介绍首先,之前写的文章中通过一个简单的例子从从Native中调用Java方法。下面,我们要介绍的是如何在Native层中获取到Java对象属性问题首先,从Native层要操作Java对象的属性有两种方法:直接操作 间接操作 来解释一下什么叫直接操作,即在Native层中直接获取到对象的属性...
阅读(692) 评论(0)

Android NDK系列(4) — SO中调用Java方法

我在博客上发表一些我的NDK学习心得,希望对大家能有帮助。 这一篇我们讲述如何在so中调用java层的函数介绍首先,之前写的文章中通过一个简单的例子来使用了一下NDK,编写了调用so中方法,返回一个字符串的功能,该方法是从Java层调用Native方法。下面,我们要介绍的是如何从Native中调用Java方法。问题废话不多说,直接开始。 首先,Java方法简单可以分为两种,静态方法和非静态方法...
阅读(1330) 评论(0)

Android学习心得(22) --- PackageManagerService源码解析platfrom.xml

新博客地址blog.marssecure.complatform.xmlAndroid中沿用Linux用户和组的来限制系统资源的访问,查看从Android真机pull出/etc/permissions/platform.xml 权限初始化PackageManagerService构造函数会解析platform.xml,建立android权限和gid的对应关系。然后,扫描apk时,会由请求的权限找到...
阅读(630) 评论(0)

Android学习心得(21) --- apk签名源码解析

新博客地址blog.marssecure.com重打包检测对于apk重打包检测中,验证签名是一种很简单、很快捷的方法,为了更好理解签名,这一章主要讲解apk中签名文件内容签名:每一个apk发布之前都需要进行签名,不然不能进行安装,我们使用winrar来查看一个apk包 我们可以看到其目录结构,关注一下META-INF这个文件,里面包含三个文件 下面我们来解压缩,打开看看里面内容 源码位...
阅读(571) 评论(0)

python学习心得(2) --- xml解析

xml.etree.ElementTree导入头文件:import xml.etree.ElementTree as ET文件读取:tree = ET.parse('country_data.xml') root = tree.getroot()文本读取:(其中文本读取后已经获取的是根节点)root = ET.fromstring(country_data_as_string)Element Obj...
阅读(315) 评论(0)

Android学习心得(20) --- Hook技术( 1 )

我在博客上发表一些我的Android学习心得,希望对大家能有帮助。 这一篇我们讲述一下Hook技术Hook动态注入技术由来已久,通过Hook,我们可以改变变量或者方法的执行。在Android上进行Hook,需要跨进程操作,所以需要Root权限。对于Android平台的Hook,有两大类,一类是:Java层的Hook,另一个类是:Native层Hook常见的工具1、Cydia Substrate...
阅读(584) 评论(0)

Android NDK系列(3) --- ARM寄存器

寄存器ARM有17个寄存器,分别从R0 ~ R15、CPSR 其中有几个寄存器比较特殊,下面着重介绍一下:R11 帧指针fpR12 暂存spR13 栈寄存器 sp堆栈指针r13(SP):每一种异常模式都有其自己独立的r13,它通常指向异常模式所专用的堆栈,也就是说五种异常模式、非异常模式(用户模式和系统模式),都有各自独立的堆栈,用不同的堆栈指针来索引。这样当ARM进入异常模式的时候,程序就可以把...
阅读(545) 评论(0)
49条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:48215次
    • 积分:1090
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:16条
    MarsSecure团队博客
    blog.marssecure.com
    文章分类
    最新评论