android
文章平均质量分 77
疑是银河落九天
这个作者很懒,什么都没留下…
展开
-
热修复系列——Android热修复技术进阶篇
一、前言对热修复技术做一个总结,也是告一个段落(2年前的研究,有些可能过时了)。以AndFix入门,具体可以参考以前的使用步骤。热修复系列——AndFix使用教程基础篇_疑是银河落九天的博客-CSDN博客_andfix使用二、热修复技术分类...原创 2022-05-10 19:52:01 · 1257 阅读 · 0 评论 -
ART虚拟机(一)—— Dalvik 与ART概念
本系列文章记录对ART虚拟机学习过程中的一些资料记录,及个人对虚拟机的一些理解。原创 2021-01-09 03:01:16 · 1055 阅读 · 0 评论 -
Android第一个NDK示例
前面我们讲了三种方式编译原生程序,今天我们讲一下android代码中编译原生程序的例子。这个例子是基于上篇文章eclipse编译那个例子,因此没看过的同学,可以转战这里了:http://blog.csdn.net/u012195899/article/details/52704206现在,我们开始修改这个hello3工程。1、首先在com.example.hello3目录下新建类JNI.j原创 2016-09-30 16:17:26 · 1169 阅读 · 0 评论 -
Droidbox环境搭建
最近需要使用Droidbox,网上这方面的资料比较少,这里把我的整个环境搭建过程记录下来。文中步骤会写得比较详细。我的基础环境是Ubuntu14.04LTS,。不过例行惯例,我每次新建虚拟机之后,总是会命令行更新一下源。 命令:sudo apt-get update大家都知道Droidbox是一个分析android的动态分析工具,我这里并不做android开发,仅仅分析apk而已,原创 2016-10-14 17:09:41 · 5987 阅读 · 15 评论 -
APIMonitor安装
参考官网描述:https://github.com/pjlantz/droidbox/wiki/APIMonitor前面我们讲了Droidbox的环境安装流程,http://blog.csdn.net/u012195899/article/details/52814013,这里我们讲APIMonitor如何使用。这个的使用就非常简单了,只需要重打包apk然后在真机或avd运行即可。运行环境原创 2016-10-17 11:19:27 · 2819 阅读 · 0 评论 -
IDA调试so文件进阶篇
之前我们讲了用IDA调试so文件的基础,想了解的可以转这里:http://blog.csdn.net/u012195899/article/details/52780062,今天学习当apk采用了一些反调试手段时,如何使用IDA来帮助我们解决问题。这里我们使用14年阿里ctf第三题作示例。一、安装apk因为我们需要对apk进行调试,因此拿到apk的第一件事,就是使用apktool反原创 2016-10-27 14:29:55 · 6557 阅读 · 1 评论 -
真机上运行monkeyrunner python脚本踩坑系列一
monkeyrunner工具提供了一个API,可以控制Android设备和模拟器。通过monkeyrunner,可以写python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图传送回来。使用monkeyrunner命令运行脚本时,脚本最好也建在tools目录下。MonkeyDevice目前操作是根据坐标,EasyMonkeyDevic原创 2016-12-15 16:47:35 · 7886 阅读 · 9 评论 -
真机上运行monkeyrunner python脚本踩坑系列二
之前搞monkeyrunner的时候,尝试过使用AndroidViewClient,但是一直没配好环境。这两天有空恰好朋友也在弄,又捡起来。才发现之前网上查到的用monkeyrunner 跑androidviewclient完全没必要。androidviewclient已经完全独立了,相当于可以python直接运行,它的包里面也有封装得很好的可以直接操作真机的函数。通过文本、id等都可以操原创 2016-12-25 10:21:17 · 3173 阅读 · 2 评论 -
java源码编译成dex文件
1、编写test.java文件2、打开命令行窗口,输入如下命令,即可将.java文件编译成.class文件javac -source 1.6 -target 1.6 test.java3、进入dx所在目录,并将test.class文件复制到该目录下,命令行执行命令:dx --dex --output=e:\DexTest\classes.dex test.class转载 2016-09-09 10:18:09 · 3096 阅读 · 0 评论 -
signapk.jar利用eclipse签名apk文件
本文的目的是,使用eclilpse的签名配置文件,然后利用signapk.jar对apk文件进行签名。1、debug.keystoredebug.keystore是eclipse的默认配置文件,查看该配置文件路径操作如下:2、将debug.keystore转为pk8+x509.pem(1)执行以下命令 keytool -importkeystore -srcke原创 2016-12-29 17:06:48 · 1365 阅读 · 0 评论 -
Android第一行代码学习笔记八----网络技术
1、WebView借助WebView控件在应用程序里嵌入一个浏览器。首先修改activity_main.xml,示例代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height=翻译 2016-09-26 11:22:00 · 446 阅读 · 0 评论 -
热修复系列——AndFix使用教程基础篇
一、前言 最近研究阿里的开源热修复框架AndFix,本文参考AndFix官方教程,给出我所使用详细小白demo教程,包括在构建测试demo过程中所遇到对问题也列出来。阿里github链接:https://github.com/alibaba/AndFix 限制: 1、支持的Android版本为2.3-7.0(即:Android API 9 ~ Android API ...原创 2018-07-12 12:55:44 · 4988 阅读 · 0 评论 -
Ubuntu16.04编译Android源码系列二—— android 5.1和android 6.0及踩坑
前言本文不涉及源码的下载,主要记录自己的编译源码过程及其中遇到的问题,并最终运行在真机上。通用的aosp具体的编译步骤已经在上一篇博客详细描述过了,链接如下:https://blog.csdn.net/u012195899/article/details/82078384#comments本篇博客只针对android 5和android 6的编译差别进行描述。预置环境1、u...原创 2019-06-22 23:00:19 · 1774 阅读 · 0 评论 -
NDK编译基础示例
本篇博文参考了非虫大大的Android软件安全与逆向分析,这真的是一本好书,里面涵盖的内容比较全也比较基础。下面开始我们的学习。Android为了提高效率、安全性等,提供了NDK(原生开发套件),现在我们来看看如何编译原生程序。原生程序的编译有三种方法:1、使用gcc手动编译2、使用ndk-build手动编译3、使用eclipse自动编译我们分别使用这三种方式来分别编译看看原创 2016-09-30 12:15:18 · 4787 阅读 · 0 评论 -
so文件格式详解
可执行链接格式 ( Executable and Linking Format)最初是由 UNIX 系统实验室 ( UNIXSystem Laboratories, USL)开发并发布, 作为应用程序二进制接口 ( Application BinaryInterface, ABI)的一部分,它是一种常用的目标文件格式,主要包含以下三种类型1、可重定位文件:可与其它目标文件一起创建可执行文件和共原创 2016-09-28 15:28:21 · 16216 阅读 · 0 评论 -
反编译dex文件
1、修改.apk文件为.zip文件2、进入dex2jar所在目录,将需要反编译的dex文件复制到与d2j-dex2jar.bat文件同一目录下3、执行以下命令,生成Example-dex2jar.jar文件d2j-dex2jar Example.dex4、将生成的jar文件用jd-gui打开即可转载 2016-09-09 10:15:04 · 894 阅读 · 0 评论 -
windows下解密微信数据库
本文不涉及如何获取微信数据库原理及解密原理(这部分代码网上已经非常非常多了),假设本文读者都已经获取了两个数据,分别是加密库EnMicroMsg.db,解密密钥。我们知道,微信数据库是使用sqlcipher进行加密的。因此,使用sqlcipher解密即可。网上下载sqlcipher-3.0.1版本使用方法,进入bin文件目录,根据自己的系统情况选择.exe文件执行,执行sqlcip原创 2016-09-12 18:17:24 · 13620 阅读 · 17 评论 -
Android第一行代码学习笔记一----android架构
本文参考android第一行代码,大部分文字也摘自此书,为个人学习笔记之用。Android 大致可以分为四层架构,五块区域。1. Linux 内核层Android 系统是基于 Linux 2.6 内核的,这一层为 Android 设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。2. 系统运行库层这一层通过一些 C/C++翻译 2016-09-13 17:47:29 · 616 阅读 · 2 评论 -
Android第一行代码学习笔记三----广播
简介Android 中的广播主要可以分为两种类型,标准广播和有序广播。标准广播:完全异步执行,效率会比较高,无法被截断。有序广播:同步执行,广播接收器有先后顺序,可以截断。接收系统广播Android 内置了很多系统级别的广播,可以通过监听这些广播来得到各种系统的状态信息动态注册注册广播的方式一般有两种,在代码中注册(动态)和在 AndroidManifest翻译 2016-09-18 20:09:53 · 741 阅读 · 0 评论 -
Android第一行代码学习笔记二----活动
本文参考Android第一行代码,大部分文字也摘自此文,作学习之用。活动是一种可以包含用户界面的组件,主要用户和用户进行交互。所有的活动都要在AndroidManifest.xml中注册才能生效。活动的销毁按back键或者调用finish()函数即可。主活动需要在标签中加入以下两句声明一、IntentIntent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅翻译 2016-09-13 18:09:53 · 520 阅读 · 0 评论 -
Android第一行代码学习笔记七----后台服务
服务是Android实现程序后台运行的方案,适合执行不需和用户交互且长期运行的任务。服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉时,所有依赖于该进程的服务也会停止运行。1、Android多线程1、线程的基本用法与java多线程编程类似。有三种方式1、继承新建类继承Thread,重写父类run()方法,在里面处理耗时逻翻译 2016-09-23 11:39:30 · 732 阅读 · 0 评论 -
Android第一行代码学习笔记四----数据存储
Android主要提供三种方式简单存储数据,即文件存储、SharedPreference 存储以及数据库存储。并且这三种存储方式比存储在SD卡中更安全。文件存储文件存储直接将数据保存到文件中,适用于简单的文本数据或二进制数据。存储数据Context 类中提供 openFileOutput ()方法,该方法接收两个参数,第一个参数是文件名,默认存储到/data/data//files翻译 2016-09-19 17:54:44 · 427 阅读 · 0 评论 -
Android第一行代码学习笔记五----内容提供器
内容提供器主要用于在不同的应用程序直接实现数据共享。内容提供器一般有两种,一种是使用现有的内容提供器另一种是创建自己的内容提供器给我们程序的数据提供外部访问接口。翻译 2016-09-20 20:51:56 · 600 阅读 · 0 评论 -
eclipse动态调试smali
本文转载自看雪:http://bbs.pediy.com/showthread.php?t=189610跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够动态调试就最好了。下面就给大家介绍apk+eclipse来调试smali。前期准备:eclipse。Jdk或jre,并设置好环境变量,我的是7.0版本。A转载 2016-10-10 11:34:04 · 1220 阅读 · 0 评论 -
IDA调试so文件基础篇
我们前面学习了如何使用eclipse调试smali文件,今天我们一起来学习一下如何使用IDA调试so文件。今天我们讲述的重点放在成功调试so文件,讲得比较基础,因此我们使用前面eclipse建立的NDK项目hello3作为示例来讲解。想了解的同学,可以转战这里:http://blog.csdn.net/u012195899/article/details/52711524,这个示例非常的简单,就是原创 2016-10-11 11:18:45 · 15541 阅读 · 3 评论 -
IDA so 反调试
http://blog.csdn.net/jltxgcy/article/details/50598670转载 2016-10-21 15:12:23 · 2225 阅读 · 0 评论 -
Android第一行代码学习笔记六----手机多媒体
通知通知基本用法静态显示首先,调用Context的getSystemService()获取NoticationManager(),getSystemService()方法接收一个字符串参数确定获取系统的 哪个 服务 ,这 里我们 传入Context.NOTIFICATION_SERVICE 即可。示例如下:NotificationManager manager = (Not翻译 2016-09-22 14:28:59 · 763 阅读 · 0 评论 -
Android第一行代码学习笔记九----高级技巧
ContextAndroid 提供了一个 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。而我们可以定制一个自己的 Application 类,以便于管理程序内一些全局的状态信息,比如说全局 Context。示例代码:public class MyApplication extends Application {private static Con翻译 2016-09-26 20:06:49 · 338 阅读 · 0 评论 -
android简单程序破解流程
1、利用apktool工具反编译 .apk文件,批处理文件为d.bat,生成与该apk同名文件夹2、打开文件夹,修改.smali文件3、重新build 整个文件夹,批处理文件为b.bat4、在dist目录下生成新apk5、利用签名工具对新apk文件重新签名,批处理文件为s.bat原创 2016-09-09 09:46:15 · 1270 阅读 · 0 评论