自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

omnispace的博客

专注AI,物联网,区块链,安卓以及相关安全技术

  • 博客(37)
  • 资源 (6)
  • 收藏
  • 关注

转载 科普 | 你必须了解的漏洞利用缓解及对抗技术

随着软件系统越来越复杂,软件漏洞变得无法避免。业界逐渐推出了让漏洞无法利用或利用难度提高的方法,简称漏洞缓解技术。我们简单介绍下Android和iOS中广泛使用的一些漏洞缓解及可能的绕过技术。当然这里也包含一些相关联的安全限制,而非真正意义的缓解技术。缓解及绕过技术点User Permissions每个app有自己uid,selinux_context,

2017-04-24 16:23:38 4693

转载 探秘身份认证利器——声纹识别!

在这个移动互联网大行其道的年代,人们不用互相见面就可以完成很多事情,比如社交、购物、网上开店、金融交易等等,但是如何验证身份变成了人和人在不见面的情况下最难的事情。传统的解决方案就是密码或者秘钥,它需要你记住或者存起来,容易忘又容易丢,还容易被黑客利用各种手段攻击。有多少人使用“123456“这种简单密码在网络上行走,他们就是黑客们最喜欢的目标;你家的路由器是不是还在用”admin”这种默认密码,

2017-04-24 16:20:55 7496 1

转载 基于机器学习的web异常检测

Web防火墙是信息安全的第一道防线。随着网络技术的快速更新,新的黑客技术也层出不穷,为传统规则防火墙带来了挑战。传统web入侵检测技术通过维护规则集对入侵访问进行拦截。一方面,硬规则在灵活的黑客面前,很容易被绕过,且基于以往知识的规则集难以应对0day攻击;另一方面,攻防对抗水涨船高,防守方规则的构造和维护门槛高、成本大。基于机器学习技术的新一代web入侵检测技术有望弥补传统规

2017-04-24 16:13:12 3375

转载 来自高维的对抗 - 逆向TinyTool自制

一、序无论是逆向分析还是漏洞利用,我所理解的攻防博弈无非是二者在既定的某一阶段,以高维的方式进行对抗,并不断地升级维度。比如,逆向工程人员一般会选择在Root的环境下对App进行调试分析,其是以root的高权限对抗受沙盒限制的低权限;在arm64位手机上进行root/越狱时,ret2usr利用技术受到PXN机制的约束,厂商从修改硬件特性的高维度进行对抗,迫使漏洞研究者提高利用技巧。

2017-04-24 16:10:08 465

转载 浅谈android hook技术

前言在测试android过程中,能对函数进行hook能帮助更加深入的进行测试,本文简单介绍了hook框架xposed和frida,从简单的小例子做了简单的演示,算是自己的学习的过程,是个入门的过程。xposed框架xposed,主页:http://repo.xposed.info/module/de.robv.android.xposed.insta

2017-04-24 16:06:33 2038

转载 利用FRIDA攻击Android应用程序(二)

在本系列文章的第一篇中,我们已经对Frida的原理进行了详细的介绍,现在,我们将演示如何通过Frida搞定crackme问题。有了第一篇的内容作为基础,理论上讲这应该不是什么难事。如果你想亲自动手完成本文介绍的实验的话,请下载 OWASP Uncrackable Crackme Level 1 (APK)BytecodeViewerdex2jar当然

2017-04-24 16:04:39 1383

转载 利用FRIDA攻击Android应用程序(一)

前言直到去年参加RadareCon大会时,我才开始接触动态代码插桩框架Frida。最初,我感觉这玩意还有点意思,后来发现这种感觉是不对的:应该是非常有意思。您还记得游戏中的上帝模式吗?面对本地应用程序的时候,一旦拥有了Frida,也就拥有了这种感觉。在这篇文章中,我们重点介绍Frida在Android应用方面的应用。在本文的第二篇中,我们将会介绍如何利用Frida来应付Android环境下

2017-04-24 16:01:34 4298 2

转载 在Android Native层中创建Java虚拟机实例

前言Android应用中JNI代码,是作为本地方法运行的。而大部分情况下,这些JNI方法均需要传递Dalvik虚拟机实例作为第一个参数。例如,你需要用虚拟机实例来创建jstring和其他的Java对象、查找类或成员变量等。大部分情况下,在你用JNI接口从Java层调用Native层中的代码时,你并不需要在native代码中自己初始化一个Dalvik虚拟机实例。但是,如果你在搞逆向或者写ex

2017-04-24 15:57:06 889

转载 Android安全开发之启动私有组件漏洞浅谈

0x00 私有组件浅谈android应用中,如果某个组件对外导出,那么这个组件就是一个攻击面。很有可能就存在很多问题,因为攻击者可以以各种方式对该组件进行测试攻击。但是开发者不一定所有的安全问题都能考虑全面。 对于这样的问题,最方便的修复方式就是在确定不影响业务的情况下,将这个存在问题的组件不对外导出变成私有组件。这样做的确很有效,私有组件也很安全。但是,如果存在某个私

2017-04-24 15:53:26 624

转载 总结】Android辅助功能(一)-AccessibilityEvent的分发

目前关于辅助功能的使用的文章很多,但鲜有分析其具体实现的,本文基于Andoird 7.1.0_r7源码分析一下辅助事件是怎么分发的,只涉及事件的分发和辅助App的接收,之后有机会再讲一讲获取AccessibilityNodeInfo、进行操作等等的源码流程。文中“目标App”指的是发出辅助事件的App,“辅助App”指的是拥有辅助功能的App。1. 【目标App】 View.sen

2017-04-24 15:35:17 24593

转载 Android无埋点数据收集SDK关键技术

前言  鉴于日益强烈的精细化运营需求,网易乐得从去年开始构建大数据平台,>因此立项,用于向大数据平台提供全量,完整,准确的客户端数据.  >Android端从着手,到经历重构,逐步完善到现在已经有快一年的时间了.期间从开源社区以及同行中得到了一些很有意义的技术参考,因此在这个SDK趋于完善的今天,我们也考虑将这一路在技术上的探索经历和收获分享出来.4月16-18日,QCon北京20

2017-04-24 15:29:19 3084

转载 Android AOP之字节码插桩

背景  本篇文章基于《网易乐得无埋点数据收集SDK》总结而成,关于网易乐得无埋点数据采集SDK的功能介绍以及技术总结后续会有文章进行阐述,本篇单讲SDK中用到的Android端AOP的实现。  随着流量红利时代过去,精细化运营时代的开始,网易乐得开始构建自己的大数据平台。其中,客户端数据采集是第一步。传统收集数据的方式是埋点,这种方式依赖开发,采集时效慢,数据采集代码与业务代码不解藕。

2017-04-24 15:25:57 2014

转载 Android呼出电话流程(原)

一、应用层的流程1.1、拨号盘初步处理[java] view plain copy@DialpadFragment.java  public void dialButtonPressed() {      //得到号码      final String number = mDigits.getText().toString(

2017-04-20 15:45:25 2950

转载 ContentProvider源码分析(原)

一、前言        ContentProvider作为Android四大组件之一,承担着数据存储的作用,本文用一个最典型的删除(delete)操作,按照Android源码,从应用层的getContentResolver()入手,一步步的分析到ContentProvider内部,最终到达SQLite的操作。[java] view plain copy

2017-04-20 15:39:39 562

转载 Android短信发送流程之多收件人发送(原)

前面的《Android短信发送流程之长短信发送》中介绍了长短信对于普通短信的区别,而对于多收件人的情况,在SmsMessageSender的queueMessage()方法中我们了解到,发送之前,将多收件人的短信进行拆分,放入"content://sms/queued"队列中,在接下来的流程中,将会在SmsReceiverService中通过sendFirstQueuedMessage()方法取出

2017-04-20 15:35:06 1189

转载 Android短信发送流程之长短信发送(原)

从前面《Android短信发送流程之普通短信发送》流程看到,长短信与普通短信的流程从SmsManager的sendMultipartTextMessage()方法开始区分,现在我们来看长短信的流程:[java] view plain copy@SmsManager.java  public void sendMultipartTextMessag

2017-04-20 15:33:41 948

转载 Android短信发送流程之普通短信发送(原)

我们先来看最简单的流程入手分析,即收件人只有一个,而且不是长短信的情况。一、地址有效性检测        当点击发送按钮时,触发onClick事件:[java] view plain copy@ComposeMessageActivity.java  public void onClick(View v) {     

2017-04-20 15:31:56 1411

转载 Android开发之Android5.1.1(CM12.1)源码中短信发送流程解析

首先我要从SmsManager开始一步步深入了解,相信大家在学习Android基础的时候接触过这个类。它在/frameworks/opt/telephony/src/java/android/telephony路径下,SmsManager:提供管理短信操作,如发送数据,文本和PDU短信。通过调用静态方法SmsManager.getDefault() 获取此对象。它里面提供了一系列发送短信的方法,我

2017-04-18 09:04:40 916

转载 Android 代码优化工具FindBugs

1.前言:在我们平时项目开发中,经常会写一些不严谨的代码或者一些比较低级的错误代码,但是这些错误往往很难被发现,这样就导致了我们的项目中会隐藏了很多影响性能甚至是导致闪退的错误代码,于是许多响应的检测工具就出现了.在这里我就介绍一下我比较常用的几个检测工具吧项目DEMO源码2.FindBugs顾名思义,FindBugs是一个寻找bug的工具,更具体的说FindBug

2017-04-17 13:21:09 2700 1

转载 android调试神器Stetho

前言:在我们平时开发中,经常会用到网络请求,sharepreference或者是数据库,但是要做调试的时候却很麻烦.网络请求需要用抓包,数据库调试起来就更麻烦了,需要root手机,并且频繁的打开DDMS导出数据库,然后才能打开.所以facebook开源了一款工具,可以通过Chrome对安卓程序进行一系列的调试项目DEMO源码https://github.com/yulyu2

2017-04-17 13:19:20 617

转载 进程间通信--IPC

前言:进程间通信(Inter-Process Communication),简称IPC,就是指进程与进程之间进行通信.一般来说,一个app只有一个进程,但是可能会有多个线程,所以我们用得比较多的是多线程通信,比如handler,AsyncTask.但是在一些特殊的情况下,我们app会需要多个进程,或者是我们在远程服务调用时,就需要跨进程通信了1.设置多进程And

2017-04-17 13:17:57 418

转载 Android Call分析(一) ---- Call对象详解

Call(通话)相关的内容也是属于Telephony模块,Call整体上可以分成两类: 1. CS call,其中CS全称是Circuit Switch,我们平常打电话走的就是CS的流程。 2. IMS PS call,其中PS全称是Packet Switch,走IMS流程的Call有4类,分别是VoLTE(voice over LTE),ViLTE(video over LTE),VoW

2017-04-16 02:54:59 2110

转载 Android Telephony分析(七) ---- 接口扩展(异步转同步)

本文是基于上一篇《Android Telephony分析(六) —- 接口扩展(实践篇)》来写的。 上一篇介绍的接口扩展的方法需要实现两部分代码: 1. 从APP至RIL,发送请求; 2. 从RIL至APP,上报结果。APPAPPTelephonyManagerTelephonyManagerPhonePhoneRILRIL发送Requestmodem处理返回结果返回结果

2017-04-10 17:15:38 567

转载 Android Telephony分析(六) ---- 接口扩展(实践篇)

本文将结合前面五篇文章所讲解的知识,综合起来,实现一个接口扩展的功能。 如果还没有阅读过前面五篇文章的内容,请先阅读: 《Android Telephony分析(一) — Phone详解 》 《Android Telephony分析(二) — RegistrantList详解 》 《Android Telephony分析(三) — RILJ详解 》 《Android Telep

2017-04-10 17:14:02 636

转载 Android Telephony分析(五) ---- TelephonyRegistry详解

本文紧接着上一篇文章《Android Telephony分析(四) —- TelephonyManager详解 》的1.4小节。 从TelephonyRegistry的大部分方法中:  可以看出TelephonyRegistry主要的功能是上报消息,有两种方式: 1. 通过notifyXXX方法。 2. 通过发送broadcast。 至于发广播没什么好说的了,我们看看not

2017-04-10 17:12:12 639

转载 Android Telephony分析(四) ---- TelephonyManager详解

前言TelephonyManager主要提供Telephony相关信息的查询/修改功能,以及Phone状态监听功能,封装的方法主要是提供给APP上层使用。 TelephonyManager.java 在frameworks\base\telephony\java\Android\telephony目录下。1. TelephonyManager整体结构从Telephony

2017-04-10 17:10:50 1615

转载 Android Telephony分析(三) ---- RILJ详解

前言本文主要讲解RILJ工作原理,以便更好地分析代码,分析业务的流程。 这里说的RILJ指的是RIL.java (frameworks\opt\telephony\src\java\com\Android\internal\telephony) , RILC指的是Ril.cpp (hardware\ril\libril)1. RILJ的创建RILJ的继承关系如下

2017-04-10 17:09:31 821

转载 Android Telephony分析(二) ---- RegistrantList详解

前言本文主要讲解RegistrantList的原理,以及如何快速分析RegistrantList相关的代码流程。 在Telephony模块中,在RIL、Tracker(ServiceStateTracker、CallTracker、DcTracker)、Phone(PhoneBase及其子类)、UICC框架、CallManager等等中都大量使用到的RegistrantList,可见R

2017-04-10 17:08:12 627

转载 Android Service 形式分类

除去熟悉的ams、pms、wms之外,系统中还具有各式各样形形色色的service,同样作为service,其启动形式上有很大差别(一)由SystemService和SystemServiceManager控制SystemService作为一个运行在SystemServer的基类,为用户需要实现的service提供了一套生命周期,就跟Activity类似的一套周期,需要用户over

2017-04-08 09:05:15 1059

转载 ActivityManagerService简要分析

1、相关类简述1.1、com.android.server.SystemServer本身由zygote进程运行,用来启动各种各样的系统服务(SystemService)1.2、com.android.server.SystemService运行在系统进程中的service,每个SystemService都是有生命周期的,所有的生命周期函数都是运行在SystemServer的

2017-04-08 09:02:08 914

转载 Android后台杀死系列之三:LowMemoryKiller原理(4.3-6.0)

本篇是Android后台杀死系列的第三篇,前面两篇已经对后台杀死注意事项,杀死恢复机制做了分析,本篇主要讲解的是Android后台杀死原理。相对于后台杀死恢复,LowMemoryKiller原理相对简单,并且在网上还是能找到不少资料的,不过,由于Android不同版本在框架层的实现有一些不同,网上的分析也多是针对一个Android版本,本文简单做了以下区分对比。LowMemoryKiller(低内

2017-04-04 16:38:13 929

转载 Android后台杀死系列之二:ActivityManagerService与App现场恢复机制

本篇是Android后台杀死系列的第二篇,主要讲解ActivityMangerService是如何恢复被后台杀死的进程的(基于4.3 ),在开篇 FragmentActivity及PhoneWindow后台杀死处理机制 中,简述了后台杀死所引起的一些常见问题,还有Android系统控件对后台杀死所做的一些兼容,以及onSaveInstance跟onRestoreInstance的作用于执行时机,最

2017-04-04 16:35:16 1974

转载 Android后台杀死系列之一:FragmentActivity及PhoneWindow后台杀死处理机制

App在后台久置后,再次从桌面或最近的任务列表唤醒时经常会发生崩溃,这往往是App在后台被系统杀死,再次恢复的时候遇到了问题,而在使用FragmentActivity+Fragment的时候会更加频繁。比如,如果Fragment没有提供默认构造方法,就会在重建的时候因为反射创建Fragment失败而崩溃,再比如,在onCreate里面new 一个FragmentDialog,并且show,被后台杀

2017-04-04 16:33:51 837

转载 一种实现(无须root)手机截屏方案

前言:一年半多以前,我们曾有个项目,要做一个截屏功能,当时负责调研的同事,答应了产品上这个功能,但开发一周后,发现,无法实现截取手机屏幕图像,须要root权限,才能做。因为最近研究MediaProjection,意外的发现,竟然无须root,可以轻松实现次功能。曾经被做不到的,如今做到了,很难相信此时的心情。看下今天的Agenda:Android源码中使用组合键是如何实现屏幕截图功

2017-04-01 16:54:23 7649 1

转载 VirtualAPK:滴滴 Android 插件化的实践之路

一、前言在 Android 插件化技术日新月异的今天,开发并落地一款插件化框架到底是简单还是困难,这个问题不同人会有不同的答案。但是我相信,完成一个插件化框架的 Demo 并不是多难的事儿,然而要开发一款完善的插件化框架却并非易事,尤其在国内,各大 ROM 厂商都对 Android 系统做了一定程度的定制,这更进一步加剧了 Android 本身的碎片化问题。滴滴出行在插件化上的探索

2017-04-01 16:50:15 991

转载 AS编写sdk并打成jar包供其它APP调用

如果sdk中涉及res下面的资源注意package路径。1. Android Studio后,结合gradle来配置生成jar 包。gradle在构建的时候,会对各个module的class文件打包成classes.jar,并存放在build/bundles/release(或者debug) 目录下,所以其实我们可以直接将classes.jar拷贝出来,并重命名。这算是

2017-04-01 16:45:36 769

转载 关于intent-filter的误区

相信大家都看过官方文档中如下的一段(http://developer.android.com/guide/components/intents-filters.html):Action testTo specify accepted intent actions, an intent filter can declare zero or more  elements. For

2017-04-01 16:41:47 579

客户端启动出现错误无法运行的解决办法(缺失的jar文件)v1.2

基于java开发的客户端在64位机器上启动的时候有时候会无法运行,出现“invalid resource”的错误, 所提供的jar文件是常见的一个缺失文件。具体使用请参见博客。

2019-05-27

python客户端启动出现错误无法运行的解决办法(缺失的jar文件)v1.2

基于java开发的python客户端在64位机器上启动的时候有时候会无法运行,出现“invalid resource”的错误, 所提供的jar文件是常见的一个缺失文件

2019-05-24

python客户端启动出现错误无法运行的解决办法(缺失的jar文件)

基于java开发的python客户端在64位机器上启动的时候有时候会无法运行,出现“invalid resource”的错误, 所提供的jar文件是常见的一个缺失文件。

2019-04-30

[原版高清图文]Python深度学习+2018中文版pdf+英文版pdf+源代码

目前市面上最好的关于如果使用python来做深度学习的书。作者是Keras之父、谷歌大脑人工智能和深度学习研究员François Chollet。资源包括原版中英文,还有附带的源代码。这样你可以一边看书,一边实践,快速掌握用python来做各种深度学习的技巧。

2019-01-14

CVE-2015-3636资料整理

最近学习CVE-2015-3636资料整理 最近学习这个漏洞遇到了各种问题,最后在github上看到一份大牛的poc后,稍作修改后的nexus4调通成功获取到了root权限。稍有遗憾没实现跳过PXN的保护

2016-03-19

空空如也

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

TA关注的人

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