自定义博客皮肤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,物联网,区块链,安卓以及相关安全技术

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

转载 Android进程使用Messenger通信

进程之间不能共享内存数据, 但是可以进行通信, 除了简单的Intent通信, 也可以使用Messenger, Messenger基于AIDL实现, 顺序执行, 不支持并发. 为了区分通信的始末, 我们暂定发送数据是客户端, 接收数据是服务端. 本文介绍Messenger的使用方式, 含有Demo.Messenger本文源码的GitHub下载地址客户端客户

2017-03-30 17:57:02 490

转载 实现AIDL接口的Binder连接池

Binder作为AIDL通信的核心, 在使用中经常需要重复利用, 动态管理AIDL接口. Binder连接池的主要作用是把Binder请求统一发送至Service执行, 即动态管理Binder操作, 避免重复创建Service. 本文使用两种简单的AIDL服务, 使用Binder连接池动态切换, 含有演示Demo.Binder本文源码的GitHub下载地址AID

2017-03-30 17:54:38 753

转载 探索7.x, 全面解析Activity启动框架 (2)

本文是探索Activity启动源码的第二篇, 其余参考第一篇.Activity第一篇的流程图:流程图第一篇已经探索至关键位置, 即ActivityStackSupervisor的realStartActivityLocked方法, 方法如其名, 从此开始, 才是真正地(Real)启动(Start). Let's start!Activit

2017-03-30 17:51:51 650

转载 探索7.x, 全面解析Activity启动框架 (1)

无论怎么说, Activity都是Android最核心的组件, 主要负责向用户展示应用信息. Activity的生命周期由Android系统控制, 启动与绘制都是自动完成. 对于开发人员而言, 仅仅是一句startActivity, 就完成了全部, 但是在平凡的表象下隐藏着惊人的秘密. 让我们拨开迷雾, 一起探索Activity的启动框架! Know more the world, know

2017-03-30 17:50:34 772

转载 [Android 插件化(二)] DroidPlugin 用法

1 简介关于Android插件化可以查看我的前一篇博客: [Android 插件化(一)] DynamicLoadApk的用法本篇介绍第二种实现插件化的框架,360公司出品的DroidPlugin框架,个人比较推荐使用这个框架来实现插件化,毕竟是大厂出的东西,已经在360手机助手上用上了,可以放心使用,如果有坑的话,360会去填的嘛DroidPlugin的Githu

2017-03-30 17:47:43 1221

转载 [Android 插件化(一)] DynamicLoadApk的用法

1 简介Android大型项目中为了减小apk的体积,可以采用插件化的方法,即一些不常用的功能独立成插件,当用户需要的使用的时候再从服务器上下载回来,动态加载。这样就避免了为了满足所有用户需求而把功能全部打包到apk,导致apk体积的膨胀。所谓的插件,其实也是一个apk,但是一般都依赖正式对外发布的app,也叫宿主。本篇不讨论插件化的原理和实现难点,只介绍怎么使用以及优缺点。 Andr

2017-03-30 17:45:32 709

转载 使用DroidPlugin实践应用的插件化

随着应用的体积越来越大, 插件化也逐渐受到关注, 参考. 应用插件化把模块完全解耦, 使用下载更新的方式, 扩展应用, 是平台化类应用的必然选择. 国内很多公司实现了各式各样的方法, 360的DroidPlugin是比较有意思的一个, 使用预占位的方式注册四大组件, 实现热更新, 参考, 也可以直接读源码理解实现逻辑.Droid PluginTalk is chea

2017-03-30 17:36:47 491

转载 Android实战】DroidPlugin插件化应用分析

简介DroidPlugin 是360手机助手在Android系统上实现的一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处 详情请查看DroidPlugin的github地址背景将项目中某个相对独立的功能模块分解出来例如:语音搜索功能模块独立出来,这样减少了项目中依赖包的数量,减少了项目中某

2017-03-30 17:34:08 752

转载 Android Things专题 1.前世今生

文| 谷歌开发者技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang)2016 年 12 月,Google 发布了 Developer Preview 版的 Android Things,该平台为利用 Android 这一世界上最受支持的操作系统的强大功能构建物联网产品铺平了广阔的道路。但它并不是一个全新的操作系统,而是通过同样是 Google 开发的物联网操作系统

2017-03-30 17:14:29 681

转载 农民斗地主——Binder fuzz安全研究

扣吧力作,欢迎转载,转载请注明来自colbert337.github.io最近扣吧忙成狗了,好久没更新博客,对不住大家了,今天趁天气暖和点,来一篇干货。由于好久没搞Android了,写得不专业的地方,请见谅哈。0.为什么要研究Binder fuzz以目前最热门的指纹方案为例。TZ:Trustzone(请自行百度)CA:Trustzone框架中的Clinet App

2017-03-15 05:32:31 1055

转载 Ransomware CryptXXX Analysis

Global Data StructureNamedImageOffsetDescriptionpConfig0x4259A0全局配置信息,窗口句柄,全局标志位,当前进程是否是Svchost本身等。szMutexCryptpConfig+0x100全局互斥对象的名称,szModule

2017-03-15 00:28:39 753

转载 Ransomware Cerber Analysis

Cerber是一个可执行程序,它的感染后行为没有CryptXXX这么隐蔽,可以说分析它的行为并不困难,但是它对内部数据的保护比CryptXXX做的好。例如: 我可以写一个简单反向算法就可以将CryptXXX中的所有加密数据提取出来,但是对于Cerber它显然在对内部数据的保护上下足了功夫,但这并没有阻挡我提取出它所有的内部数据。下面会详细的分析它如何保护内部数据的逻辑。还需要了解的是,Ce

2017-03-15 00:27:46 1110

转载 Ransomware Locky Analysis

Locky的变种非常的多,这个样本来自下面的Url,是最新的一种变种。 这是程序在刚开始执行时与释放了Image并替换了之后的对比,很明显发生了进程替换,因此进行分析之前有必要把它内部释放出来的image提取出来,分析这个image才能搞清楚它是如何做加密的。  Locky存在一个未知的壳,IDA并不能检测出这个壳,因为它的导入表等信息并没有被破坏。它在运行起来后,执行

2017-03-15 00:26:45 730

转载 Algorithm, Secret key and Protocol

最近在对基于区块链构建的信任社会(未来社会形态)非常感兴趣,区块技术去中心化的特性,让没有金融机构成为了可能(包括央行,以及各种商业银行)。除了在数字货币领域大放异彩外,在包括供应链,网络购物,公平合约等方面的应用也非常广泛。其中智能合约的特性十分的吸引我。不过我今天并不想讨论区块技术,因为区块技术建立在密码学的技术之上,通过最近两周对密码学以及数论基础的研究,分享一些知识,主要关

2017-03-15 00:25:11 886

转载 How to Build and Run Android L 64-bit ARM in QEMU

As many others, I can't wait to put my hands on Android running on aarch64 (arm-v8) and as many other, it's difficult to afford such an expensive Juno board (the only development board arm-v8 availabl

2017-03-13 12:09:11 5651

转载 Android平台监听系统截屏方案预研及相关知识点

最近有个针对系统截屏的需求,所以预研了Android平台上捕获系统截屏的方案。最直接的方式就是监听手机的系统截屏组合键(电源键+音量下键),但是这种方式实现难度大,且有的机型使用特殊手势进行截屏,兼容性问题难以解决。所以网上流行的方案是监听系统截屏目录下文件创建事件或者多媒体数据库图片资源变更通知。我对两种方式都做了测试,多多少少都存在一些问题,现整理如下:通过FileObse

2017-03-13 10:34:09 2063 1

转载 Setting Up A ChromiumOS Dev Environment

Setting up a fully functional ChromiumOS development environment on actual Chromebook hardwareSet up environmentexport DEV_DIR="/opt"mkdir -p $DEV_DIRexport CHROMIUM_DIR="$DEV_DIR/chromiumos

2017-03-13 04:06:18 634

转载 Precompiling APK Files During Android AOSP Build

By precompiling APK files during AOSP build a few minutes can be shaved off of the development iteration time on most commonly found Android hardware.Enable precompilationcd /opt/aosp_checkout

2017-03-13 01:48:16 992

转载 Building Android for Qemu: A Step-by-Step Guide

Running the Linux mainline graphics stack on Android devices is currently not a reality, but this is a viable development environment for improving the situation.Developing Linux for Android on Qe

2017-03-13 01:43:20 1555

转载 中断处理的那些事儿

继续“那些事儿”系列,这次的主题是Intel的中断处理。参考的资料主要来自Intel文档第三册的第六、第十和第二十九章节,以及这篇文章。其中,有一部分的内容来自于上面提到的那篇文章。以下内容主要围绕下面五个问题来展开:第一,中断是什么,种类有哪些?第二,中断是如何被发送给CPU的?第三,CPU是如何对接收到的中断进行处理的?第四,中断的优先级问题?第五,虚拟化环

2017-03-11 13:46:22 7933

转载 Linux内存初始化(C语言部分)

这篇博客接着上篇博客,继续介绍Linux内核启动过程中内存的初始化过程。相比于汇编代码,分析C代码有一个优势,因为在之前的汇编代码中已经开启了分页模式,所以可以通过一些symbol直接在某些函数上设置断点,然后通过gdb进行调试。如何用gdb调试内核可以参考这篇博客。进入x86_64_start_kernel之前我们讲到,在secondary_startup_64最后,我们

2017-03-11 13:44:21 1080

转载 Linux内存初始化(汇编部分)

之前有几篇博客详细介绍了Xen的内存初始化,确实感觉这部分内容蛮复杂的。这两天在看Linux内核启动中内存的初始化,也是看的云里雾里的,想尝试下边看边写,在写博客的过程中慢慢思考,最后也能把自己的思考分享给其它人。这个系列主要分为两个部分,汇编部分和C语言部分。这篇博文主要介绍的是汇编部分。注:这两篇博文介绍的都是64位系统。内核解压缩过程这个过程就不详述了

2017-03-11 13:43:22 1646

转载 TLB的那些事儿

这两天因为某些原因,好好地研究了一下Intel的手册,比较系统地学习了一下和TLB相关的知识。以下内容主要来自Intel手册第三卷的第4章,第11章和第28章。我们知道,现在内存寻址基本采用的是页表翻译机制,即给定一个虚拟地址,经过2~4层页表,得到一个物理地址。虽然该过程一般由硬件(MMU)完成,但是也会有一定的延迟。因此,为了加速页表翻译的过程,一般的处理器都会有一个翻译信息的缓存机制

2017-03-11 13:41:23 8470 1

转载 Android 5.0及以上实现屏幕截图

在Android 5.0,API 21 之前想要截图系统屏幕必须Root才能完成,5.0之后开放了接口,下面看我们是怎么实现的。--1. 涉及到的相关类1. MediaProjectionManager官方原话: Manages the retrieval of certain types of {@link MediaProjection} tokens.这个

2017-03-09 18:33:20 3175

转载 android surfaceflinger研究----SurfaceFlinger loop

上一篇文章介绍了整个Surface机制(我是这么称呼的,主要是Surface的建立,Surface的显示存储的管理),同时我们也介绍过了整个显示系统,那么这篇文章就介绍一下SurfaceFlinger 这个核心服务层的机制。    从代码中我们可以看出SurfaceFlinger 是一个thread,运行在system_server进程中,并且其threadLoop()方法的返回值为true,

2017-03-09 18:23:58 573

转载 android surfaceflinger研究----显示系统

这周抽空研究了一下SurfaceFlinger,发现真正复杂的并不是SurfaceFlinger本身,而是Android的display显示系统,网上关于这部分的介绍有不少,本不打算写的,但是发现还是记录一下研究代码的过程比较好,一是能够帮助自己理清思路,另一个原因就是以后当这块内容忘记的时候,能快速的通过这个记录捡起来。    一.  android显示系统的建立    我们看Surfa

2017-03-09 18:22:28 591

转载 android surfaceflinger研究----Surface机制

前一篇文章介绍了Android的显示系统,这篇文章中,我们把视角往上层移动一下,研究一下framework是如何与surfaceflinger进行业务交互的。如何创建surface,如何显示窗口等等,所有的这一切都是通过系统服务WindowManagerService与surfaceflinger来进行的。    android中的Surface机制这一块代码写的比较难理解,光叫Surface

2017-03-09 18:20:52 663

转载 android的窗口机制分析------UI管理系统

Activity可以看做是整个Android系统的人机接口,它提供了一个窗口来绘制UI,每个Activity在启动时,我们都需要给它设置一个Content view,作为Activity所呈现的UI内容,这个过程是通过setContentView()方法来实现的。    众所周知,android系统中强化了view的概念,主要是体现在对view的管理上,Android中的view以2种形态

2017-03-09 18:17:36 536

转载 android的窗口机制分析------ViewRoot类

ViewRoot是GUI管理系统与GUI呈现系统之间的桥梁,根据ViewRoot的定义,我们发现它并不是一个View类型,而是一个Handler。它的主要作用如下:A. 向DecorView分发收到的用户发起的event事件,如按键,触屏,轨迹球等事件;B. 与WindowManagerService交互,完成整个Activity的GUI的绘制。    事件处理和GUI绘制

2017-03-09 18:16:27 440

转载 android的窗口机制分析------事件处理

由于Android是linux内核的,所以它的事件处理也在linux的基础上完成的,因此本文我们从linux 内核往应用这个方向慢慢理清它的处理过程。    linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventXX来命名的,如event0,event1等等,但是如果是虚拟

2017-03-09 18:15:02 441

转载 getSystemService() in Android

在之前研究了那么久的bindService()这个API,一直没搞清楚一个问题:为什么我看到的基本上都是和AMS相关的代码,而之前所学到说如果application要和service打交道都是需要通过ServiceManager获得某个service的binder才可以。那么AMS和ServiceManager到底是什么关系呢?如果AMS是通过ServiceManager获得的servic

2017-03-09 18:12:15 415

转载 微信自动回复和自动抢红包实现原理(三):自动抢红包

阅读该文章前,可以先阅读我前两篇文章微信自动回复和自动抢红包实现原理(一):AccessibilityService的介绍和配置微信自动回复和自动抢红包实现原理(二):自动回复经过前两篇文章的阅读,我相信大家应该对AccessibilityService有一定的了解了,是不是已经按捺不住,想自己动手试试?先别急,可以再看完我这篇文章还不迟,相信你另有收获的。接下来我们来探索一下自动

2017-03-02 06:55:29 5097

转载 微信自动回复和自动抢红包实现原理(二):自动回复

阅读这篇文章前,你需要先了解AccessibilityService,可以先阅读我上一篇文章微信自动回复和自动抢红包实现原理(一):AccessibilityService的介绍和配置已经了解的朋友可以直接阅读该文章完成AccessibilityService的配置后,好像无从下手。先别急,先打印一些log看看吧。把下面的方法放在onAccessibilityEvent()里:

2017-03-02 06:54:24 1652

转载 微信自动回复和自动抢红包实现原理(一):AccessibilityService的介绍和配置

1. AccessibilityService的介绍前几天在浏览技术博客时,看到一篇文章自动抢红包,自动安装原理之AccessibilityService。发现了Android提供了一个很有趣的辅助类——AccessibilityService!决定自己也来探索一番。先来看看AccessibilityService官方的介绍:Accessibility services are

2017-03-02 06:53:44 2039 1

转载 Android微信自动回复功能

写在前面:最近接到老大的一个需求,要求在手机端拦截微信的通知(Notification),从而获得联系人和内容。之后将联系人和内容发送到我们的硬件产品上,展示出来之后,再将我们想回复内容传给微信,并且发送给相应联系人。老大还提示我需要用AccessibilityService去实现它,当然在此之前我并不知道AccessibilityService是什么鬼,不过没关系, just do

2017-03-02 06:52:29 971

转载 自动抢红包,自动安装原理之AccessibilityService

前段时间看别人博客的时候偶然间看到了Android微信自动回复功能,最后的效果也很不错,博主在文中提到了AccessibilityService,以前压根没接触过这东西,表示一脸懵逼。也是这个原因我去找了AccessibilityService相关的资料好好的看了一遍,发现这个东西真的太NB了,网上对AccessibilityService的应用还是有不少的文章的,但是详细的介绍资料还是比较少,对

2017-03-02 06:51:16 1059

客户端启动出现错误无法运行的解决办法(缺失的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关注的人

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