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

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

转载 数据存储之 SQLite 数据库操作(三)

上一讲中我们讲到了SQLite数据库的操作方法 [数据存储之SQLite数据库操作(二)],我们主要是以SQL语句对数据库进行增删改查,这一讲我们来学习一下 Android 建议的对数据库的操作方法    查看 SQLiteDatabase 中, 在上一讲中有讲到 execSQL (String sql, Object[] bindArgs) 这个方法,在这里Android建议我们在操

2016-04-28 05:46:50 786

转载 数据存储之 SQLite 数据库操作(二)

上一讲我们讲解了SQLite数据库的创建[数据存储之 SQLite 数据库操作(一)],还有更新的操作,这一讲我们来讲解一下数据库的增删改查,这边的程序是对上一个程序进行修改,建议结合上一讲内容进行学习。1. SQLiteDatabase介绍 1. 在 SQLiteOpenHelper 类中,调用getWritableDatabase()方法也会完成创建或者打开数据库的操作

2016-04-28 05:45:35 779

转载 数据存储之 SQLite 数据库操作(一)

这一讲我们来讲解一下数据库的存储方式 ,SQLite数据库属于文本型的数据库,它是以文本的形式来保存的。1. SQLite 数据库介绍查看 Android API文档中 SQLite 的介绍    Android提供了对 SQLite 数据库的完全支持,应用程序中的任何类都可以通过名称来访问任何的数据库,但是应用程序之外的就不能访问。建议创建一个新的数据库的方式就是创建一个子类

2016-04-28 05:44:04 675

转载 Android SQLite Database的使用模板

1、数据库–公共变量:2、数据库–打开:3、数据库–增:4、数据库–删:5、数据库–改:6、数据库–查:7、数据库–关闭:8、数据库–辅助工具:9、数据库–效果:10、效果图:原文地址: http://blog.csdn.net/rjden

2016-04-28 05:41:42 638

转载 Android 4.4 packageinstaller之权限获取及展现

1、源码分析:Packageinstaller主要是有界面的安装和卸载,先看看源码大概: AndroidManifest.xml里面的组件: 先看看PackageInstallerActivity.java文件,在安装的时候,会启动这个Activity,下面是OnCreate函数的代码片段: 前面是解析了一大堆APK的信息,后面最主要的调用了initia

2016-04-28 05:38:48 2100

转载 android permission权限与安全机制解析(上)

目录(?)[-]uses-permission自定义permissionpermission标签permission-tree标签permission-group标签安全机制组件权限权限检测URI权限androidsharedUserId总结引用文章  总结整理了一下androi

2016-04-16 09:56:01 1620

转载 Android Binder 分析——匿名共享内存(Ashmem)

前面分析了 binder 中用来打包、传递数据的 Parcel,一般用来传递 IPC 中的小型参数和返回值。binder 目前每个进程 mmap 接收数据的内存是 1M,所以就算你不考虑效率问题用 Parcel 来传,也无法传过去。只要超过 1M 就会报错(binder 无法分配接收空间)。所以 android 里面有一个专门用来在 IPC 中传递大型数据的东西—— Ashmem(Anonymou

2016-04-15 09:27:07 5053

转载 Android Binder 分析——数据传递者(Parcel)

前面 binder 原理和通信模型中在接口实现部分(Bp 和 Bn)中应该看到很多地方都有使用 parcel。这个 android 专门设计用来跨进程传递数据的,实现在 native,java 层有接口(基本上是 jni 马甲)。照例先说下源代码位置(4.4 的):12345678910111213141516171819202122232425262728# ja

2016-04-15 09:25:44 7535

转载 Android Binder 分析——通信模型

通信就要搞一些协议,binder 的比较简单,但是也有一个基本的模型,这里以最基本的一次 IPC 调用来说明一下。然后涉及的代码主要在(这里不列 java 层的代码了,java 层的代码前面原理篇分析过了,主要是挂马甲调用 native 的方法的):123456789# native binder 头文件frameworks/native/include/binde

2016-04-15 09:24:49 886

转载 Android Binder 分析——原理

分析之前说一下原理。为要 android 要搞这么复杂的一个东西。那是因为 android 是个多进程的系统,进程间的数据交换、相互调用(某几个程序配合完成某些业务)就涉及跨进程通信。2个进程不能直接访问数据的原因:每个进程的地址空间的独立的,所以进程A中某个数据的地址在进程B中不确定是什么东西。安全性,如果能随便访问其它进程空间的数据,那么是非常危险的事情(想想看你再用支付宝输支付密码的

2016-04-15 08:57:37 1080

转载 Android Native Binder

Android binder(S)A key part of Android is the Binder mechanism.A bit of history/backgroundThe Android binder mechanism was originally based on the OpenBinder project. As you can readhere Dia

2016-04-15 07:49:10 722

转载 Android类动态加载技术

Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求。但是有些特殊问题,常常引发我们进一步的沉思。我们从沉思中产生顿悟,从而产生新的技术形式。如何开发一个可以自定义控件的Android应用?就像eclipse一样,可以动态加载插件;如何让Android应用执行服务器上的不可预知的代码?如何对Android应用加密,而只在执行时自解密,从而防止被破解?……熟悉J

2016-04-15 06:28:20 512

转载 Android MediaRecorder系统结构

前面有分析过Camera的实现,现在来看看MediaRecorder的实现,这里我不会太去关注它的分层结构,我更关注它的逻辑!APP层 /path/to/aosp/frameworks/base/media/java/android/media/MediaRecorder.javaJNI层 /path/to/aosp/frameworks/base/media/jni/android_me

2016-04-15 06:01:11 1097

转载 理解堆栈及其利用方法

作者:王智通 堆栈基础篇:1、堆栈结构从广义上来讲,堆栈其实就是一种后进先出的数据结构,这跟队列的作用正好相反, 你可以定义一个数组或用malloc分配一块内存来模拟堆栈的作用, 比如openjdk的解释器就要用到堆栈结构来做计算。我们在从c的角度来仔细审视下堆栈的结构,本文以intel体系结构为例。intel处理器定义了跟堆栈有关的几个寄存器:es

2016-04-10 17:30:04 632

转载 Android异步编程

目录:Android的线程和内存模型AsyncTask碎片化问题Activity生命周期问题Handler & HandlerThreadLooperLoaderAsyncTaskLoaderCursorLoaderIntentServiceServiceAlarmManager参考链接Android的线程和内存模型Android

2016-04-10 17:26:35 503

转载 深入理解 Android 的 IPC 机制--------Binder

在android中,,应用程序虽然是以独立的进程来运行的,但相互之间还是需要通信。。比如,,我们的应用程序 和后台服务往往会运行不同的进程当中,,各自有这独立内存地址空间,,,但是又要彼此互相合作,,,需要进行通信和数据共享,,在linux下,进程通信的方式有  socket,,named pipe命名管道,,signal  信号,,message  queue  消息队列,,share memo

2016-04-10 17:23:07 501

转载 使用Android Studio打Andorid apk包的流程

启动Android studio 1.点击菜单栏Build -> Generate Signed APK...,打开如下窗口2.这里是类似eclipse中Android的签名,假设这里没有打过apk包,没有签名,那么点击Create new,窗口如下这里只要输入几个必要项Key store path(生产key文件的保存路径 )

2016-04-10 17:20:58 646

转载 深入理解Android的startservice和bindservice

一、首先,让我们确认下什么是service?         service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互、它必须由用户或者其他程序显式的启动、它的优先级比较高,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦。 二、那么,什么时候,我们需要使用service呢

2016-04-10 17:17:40 532

转载 Android实战技术:深入理解Android的RPC方式与AIDL

目录(?)[-]Understanding ADIL揭开面纱脱去外套本质--脱去内衣原理和内幕不用AIDL来实现Understanding ADILAIDL是一个接口描述文件,用于实现Android平台上面的RPC,aapt在编译的时候会自动根据规则生成用于IPC的接口和对象,而作为使用者只需要:1.在服务端Service实现接口;2. 在客户端bindServic

2016-04-10 17:14:42 612

转载 Android-深入理解AIDL

最近从新温习AIDL,发现技术这玩意就跟女人一样,你过久没去了解就会对它陌生却又充满新鲜感,然后查看网上的多半是胡扯,粘贴,我这里整合下,里面如果有错误望大家及时指出。废话不多说,进入主题首先来了解几点常识:1,一个Android应用程序对应一个进程;2,Android应用程序进程间需要借助IPC轻量级通讯协议;3,切勿把线程和进程的概念搞混乱。一个进程可以包含多个

2016-04-10 17:11:26 471

转载 Android 中 RegistrantList消息处理机制 以android 5.0 MT为例

这其实是观察者模式的一种实现形式先明确两个身份 1.RefistrantList 通知者 2.Registrant 观察者,这是一个一对多的关系,在有事件更新时,凡是在名单上登记过的对象,都会收到通知。RegistrantList通知者支持对通知者的增加(add/addUnique)删除(remove),并且能够发出通知(notifyRegitrants);而Registrant作为观

2016-04-09 09:49:07 708

转载 IDEA 快捷键 Android Studio快捷键

IDEA 快捷键 这是从IDEA官网下载的IDEA keymap Windows/Linux,中文我会慢慢补充上去。因为AS是基于IDEA社区版开发的,所以快捷键都AS同样适用。IntelliJ IDEA Default Keymap To find any action inside the IDE useFind Action     Ctrl+Shift+

2016-04-09 09:46:40 472

转载 如何在Eclipse和Android Studio中导入library project

在Eclipse中:把一个项目作为library右键点击project选择Properties。在Properties窗口选则Android。在右侧视图勾选“Is Library”,点Apply点击OK关闭窗口。如下图:引用一个lib项目确保lib项目和应用项目在同一个workspace右击应用项目,打开Properties在打开的Propert

2016-04-09 09:45:34 680

转载 Ubuntu 14 配置Android Studio的快捷启动方式

在window7下安装配置了Android Studio之后就想把ubuntu下的Android Studio整舒服。桌面图标Ubuntu下解压Android Studio压缩包后有个名为"Install-Linux-tar.txt"的说明文件,里面有这么一段:Unpack the Android Studio distribution archive that y

2016-04-09 09:44:13 567

转载 Android Studio系列(二)使用Android Studio开发/调试整个android系统源代码(不定时更新)

本文是以源码中development/tools/idegen/README作为指导文档,给出了使用Android Studio导入Android源码的方法步骤。环境: Ubuntu 12.04,openJdk 1.7,Android Studio 1.1 Beta 4,android-5.0.1_r1源码由于Android Studio(以下简称AS)是基于IntelliJ IDEA开发

2016-04-09 09:42:07 3744

转载 Setting up Intellij with CyanogenMod/AOSP development

Recently, I discovered a way to import the CyanogenMod source into Intellij. Since the documentation in this area is severely lacking, I thought I might share my experience. There are several things

2016-04-09 09:30:47 586

转载 Debugging native framework code of Android Java applications

This article describes a way of debugging native libraries loaded by Android Java applications using Eclipse CDT. Android SDK applications and Android Java framework services load various C/C++ libr

2016-04-09 09:27:27 2530

转载 Debugging Android Java framework services using Eclipse

Android provides rich SDK and developer environment to build applications targeted for Android devices. An application developer can prototype, test and debug Android SDK applications using Eclipse

2016-04-09 09:03:57 586

转载 Android Binder总结

本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接从前面的博客中我们已经学习到如何使用binder,也学习到binder的框架及原理。今天就聊聊我对android为什么使用binder作为最重要的IPC机制这个问题的想法,并总结一下先前的android binder相关博客。binder其实不是android首先提出来的IPC机制,它是基于OpenBinder来实现的。O

2016-04-07 02:51:25 504

转载 Android实现点击通知栏后,先启动应用再打开目标Activity

情况简述在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击动作,点击后跳转到app中对应的Activity。目前遇到的问题是Service以独立进程运行,在收到消息并弹出通知后,app本身的进程有两种情况:app正在运行app已退出对于第一种情

2016-04-05 16:58:44 2476

转载 Android实现双进程守护

做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论。这里先总结一下网上流传的各种解决方案,看看这些办法是不是真的可行。1.提高优先级这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的被系统回收了,还是无法让应用自动重新启动!    2.让service.onStartC

2016-04-05 04:30:52 379

转载 我的编程之路——知识管理与知识体系

Table of Contents generated with DocTocCoder-Knowledge-Graph当我要学习一门编程语言:C++/Java/PHP/Swift/Rust/Go。。。语法基础入门概述Quick Start数据结构流程控制与异常处理函数模块与组件类与对象IO语法应用AdvancedNetworkStorageTestReleas

2016-04-04 15:58:27 3062

转载 研究Xposed相关二:如何root android模拟器(android4.3.1)

从上一篇文章研究Xposed相关一:Xposed框架的安装 了解了Xposed框架的安装过程,但是Xposed的使用有一个基础前提,那就是设备的Root权限已经获取的状态下;那这一篇文章就来讲述下如何来Root android的模拟器,模拟器版本是android4.3.1;首先需要准备的是busybox以及su文件,另外和su对应的授权管理的APP,当然也可以自己编译su来不进

2016-04-04 15:54:27 964

转载 研究Xposed相关一:Xposed框架的安装

[html] view plain copy说到Xposed,首先得了解Xposed是什么;  参考:http://blog.csdn.net/wxyyxc1992/article/details/17320911,我的Xposed之路就是这位大神引导的啊;在读这篇文章之前请务必仔细阅读这篇博文才能更好的明白接下来的内容;Xposed源码:https:/

2016-04-04 15:52:50 1287

转载 Android Hook框架Xposed原理与源代码分析

Android Hook框架Xposed原理与源代码分析标签: XposedAndroidSecurityHookInjection2013-12-14 16:58 20072人阅读 评论(17) 收藏 举报 分类: Security版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]自己重新做了文章希

2016-04-04 15:51:23 2555

转载 Android Linux内核编译调试

对于在Windows上写代码写习惯的人,调试是必不可少的手段,但是转到Android以后,发现调试手段异常简陋,跟Windows简直不是一个级别,特别是Android的内核调试,网上资料也相对较少,不过通过一段时间的倒腾,我终于找到了还算靠谱的调试方法.就是利用Emulator + Eclipse进行Android Linux内核调试. 1.系统预装环境在目前为止,都是使用

2016-04-03 17:12:06 1125

转载 ftrace、kpatch、systemtap的基本原理、联系和区别

1、ftraceLinux当前版本中,功能最强大的调试、跟踪手段。其最基本的功能是提供了动态和静态探测点,用于探测内核中指定位置上的相关信息。静态探测点,是在内核代码中调用ftrace提供的相应接口实现,称之为静态是因为,是在内核代码中写死的,静态编译到内核代码中的,在内核编译后,就不能再动态修改。在开启ftrace相关的内核配置选项后,内核中已经在一些关键的地方设置了静态探测点,需要使用

2016-04-03 15:54:01 3030

转载 ARM Cortex-A 编程手册学习笔记

闲话从前都在X86上分析内核,做开发、trouble shooting,对于其他架构了解较少,对于新架构的学习,甚至还有些抵触,这次趁分析问题的机会,顺便学习了一下ARM架构的基础知识,权当笔记。这里主要是AArch32架构(即32位,后面就都简写成ARM了),相对比较简单,入门必备。ARM处理器模式在引入安全扩展之前,ARM有7中处理器模式,其中6种是特权模式,剩下一种为用户程序

2016-04-03 15:52:32 4947

转载 Arm64中的异常处理

闲话最近优化环境中出现了多次不同种类的异常,其他文章中也有提及,为此专门去研究了一下Arm64的异常处理机制和代码,之前主要的开发和应用环境为X86,ARM接触很少,也没有机会去研究和学习,总以为不会有用上的一天,谁知,现在。。。 可能是机会来了,让自己多长些见识,学习之后发现又有另一番收获。Exception in ARM64## Exception类型ARM64中包含如下几种类

2016-04-01 18:14:42 8533

转载 kernel 3.10内核源码分析--中断--中断和异常返回流程

一、问题1、内核调度与中断/异常/系统调用的关系如何?2、信号处理与中断/异常/系统调用的关系如何?3、内核抢占与中断/异常/系统调用的关系如何?4、内核线程的调度有何特别之处?中断/异常/系统调用返回时,内核线程会发生调度吗? 这些问题都需要分析清楚中断/异常的返回流程,才能解答。二、中断/异常的返回流程1、中断/异常的返回内核软件流程中断、异常(包括系统调用

2016-04-01 18:09:06 1031

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

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