Android 程序分析环境搭建-动态分析环境搭建
静态查看过app 的代码,但是有些app 非常复杂,页面好多,你根本找不到从何处下手。还有app 通过静态分析,发现有被加固(后续会讲如何砸壳),根本找不到,还有即便你搜索app界面上的文字,你也搜索不到,因为有些是H5写的,h5写的也有不同,有些是从服务器获取,有些是在压缩包里边。还有一种,把布局文件打包,变成so 后缀文件,总之很多种种困难,后续我一一解开。今天先把环境搭建起来。
1.3.1 Xposed
Xposed 绝对是动态开发,hook app 的神器,什么是hook,主要是我们可以动态改变app,比如修改微信的步数等等。
安装:之前版本的xposed 需要手机root 以后的版本不需要root ,是个安卓手机就可以用。
有个经验之谈,xposed 一定要保持最新版本,否则有很多问题,切记的一点。
下载地址:https://github.com/android-hacker/VirtualXposed
下载最新版本安装即可。主界面如图1
图 1
1, 查看已安装的app ,向上拖动中间白色按钮,出现如下界面,如图:
图2 。
2 ,安装自己的app,安装你要hook的app,比如要hook微信,你就安装微信,要hook 支付宝,就安装支付宝。
点击图1中的白色按钮,显示如下界面:
图3
点击图中的 添加应用,
图4
可以选择现有的app,或者从存储安装apk 都可以。
这样xpose 就配置好了。
1.3.2 安装inspeck
下载地址:https://github.com/ac-pm/Inspeckage
下载最新版本安装即可,安装运行起来的界面,如图
选择choose target,选择需要查看的app。
1.3.3 查看日志
电脑连接手机usb, 命令行 adb logcat > c:\1.txt
打开app 进行分析,我打开支付红包界面,看到了如下的输出:
10-07 23:25:45.614 19105-19105/? I/chatty: uid=10167(io.va.exposed) com.eg.android.AlipayGphone identical 3 lines
10-07 23:25:45.638 19105-19105/? D/IconCustomizer: Generate customized icon for com.eg.android.AlipayGphone.png
10-07 23:25:45.676 19105-19219/? I/ContentCatcher: Interceptor : Catcher list invalid for com.eg.android.AlipayGphone@com.alipay.android.phone.discovery.envelope.HomeActivity@163966357
Interceptor : Get featureInfo from config pick_mode
10-07 23:25:45.738 19105-19105/? W/id.AlipayGphone: type=1400 audit(0.0:1724): avc: denied { read } for name="version" dev="proc" ino=4026532324 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
10-07 23:25:45.758 19105-19105/? W/id.AlipayGphone: type=1400 audit(0.0:1725): avc: denied { read } for name="stat" dev="proc" ino=4026532322 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=0
是不是,我就看到了打开了那个 界面,不用我去搜索了吧。直接看这个界面的代码即可。
Android 程序分析环境搭建-动态分析环境搭建的更多相关文章
- Android 程序分析环境搭建-开发环境搭建
1.1 JDK 安装 JDK 的配置,初学java 开发,那是必须会的. 下载,遇到的问题就是要注册oracle 的账号,还有你要下载特定版本,比如jdk 1.7,jdk 1.6,很难找到在哪里.解 ...
- Android程序分析环境(搭建步骤略)
1:安装JDK JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK).没有JDK的话,无法编译Java程序. 2:安装Android SDK Androi ...
- Android 程序分析环境搭建-静态分析环境搭建
1.2 静态分析环境搭建 这里主要讲一些用的比较顺手的工具,一并列出来,Uaa,等环境配置, 2,notepad++ ,everything , Jdgui ,idea, ida ,Fiddler , ...
- Android 程序分析环境搭建-Android 9 -代码下载编译
Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- 搭建Linux下Android程序开发环境
从AndroidStudio中文社区下载SDK压缩包,http://dl.google.com/android/android-sdk_r24.2-linux.tgz. 解压到某个目录,比如我的~/p ...
- CAD控件,CAD插件使用教程:Android开发使用控件--开发环境的搭建
Android开发使用控件入门--环境搭建 2014-12-24 09:57 14人阅读 评论(0) 收藏 编辑 删除 CAD控件.CAD三维控件,手机 ...
- Android开发使用控件入门--环境搭建
Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...
- Android学习——windows下搭建Cygwin环境
在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配置,我们也讲到了在NDk r7以后,我 ...
随机推荐
- 简单理解http协议的特性
http协议一种数据传输的规范,像我们的在发送数据的时候,我们无法保证发送与接收的类型是一致的,它就保证了我们传输的同一个类型数据. 特性: 1.灵活:我们不管传输什么数据,图片,文件,文字,都可以进 ...
- linux终端界面的字颜色设置
目录 目录 说明 PS1 颜色语法 保存设置 说明 在网上找了好多资料都不是很详细,要不就是语法有错误. 所以弄了好久才整明白了,写下来方便后面的人学习. 本人linux虚拟机版本为CentOs 6. ...
- 移动开发在路上-- IOS移动开发 五 网络请求封装
接着上次的讲,这次我们讲 网络请求的封装 打开创建的项目,让我们一起来继续完成他, 上次我们说到GET请求地址的拼接: 我们接着上次的继续完善: 下边我们要定义的是 block //定义block ...
- CapSupport 的使用
CapSupport 是在CAP的操作上做了一些封装 目的是让事务同时执行或者同时回滚 startup services.AddCapSupport((optaion) => { optaion ...
- Socket无法通过防火墙的问题
无论是配好端口还是例外的应用程序都不行 更改本地终结点为 socket.Bind()); IPAddress.Any 不要使用127.0.0.1 不要使用127.0.0.1 不要使用127.0.0.1
- 最高分辨率行间转移CCD图像传感器 - KAI-47051 演示视频
http://www.onsemi.cn/PowerSolutions/supportVideo.do?docId=1002912
- Newman
目录 简介 安装 使用 简介 Newman是为postman而生,专门用来运行postman编写好的脚本 使用Newman,你可以很方便的用命令行来执行postman collections Newm ...
- dockerfile-格式和使用
一.dockerfile格式 Dockerfile是一个包含用于组合映像的命令文本文档,可以使用在命令行中调用任何命令,Docker通过读取dockerfile中的指令自动生成映像.docker bu ...
- node+express 配置安装以及数据解析,cookie,session
一.express安装,创建服务 (1)安装:npm install express --save(2)创建服务 server.js: const express = require('express ...
- 建议3:正确处理Javascript特殊值---(1)正确使用NaN和Infinity
NaN时IEEE 754中定义的一个特殊的数量值.他不表示一个数字,尽管下面的表达式返回的是true typeof(NaN) === 'number' //true 该值可能会在试图将非数字形式的字符 ...