Android组件安全和drozer的使用

android有四大组件:Activity、Service、Content Provider、Broadcast Receiver,四大组件在配置文件AndroidManifest.xml中进行注册,通过反编译工具如apktool来读取配置文件信息。Activity、Service和Broadcast Receiver三大组件没有配置intent-filter属性的exported默认为false,配置了intent-filter属性exported默认为true。Content Provider不同于其他三个组件,不受intent-filter的影响,对于android:minSdkVersion 或 android:targetSdkVersion不大于17时exported默认为true,对于这两个属性值为17以上时,默认值则为false,需要显示声明exported为true,通过借助drozer对app的四大组件进行测试,大致步骤如下:

1、安装jdk、android sdk,确保java和adb已经在系统环境变量path中

2、下载drozer直接安装即可:https://www.mwrinfosecurity.com/products/drozer/

3、将agent.apk安装到手机里,adb install agent.apk,打开app,选择Enbeded Server,选择Enable开启agent server

4、下载sieve用于练习使用drozer

https://www.mwrinfosecurity.com/system/assets/380/original/sieve.apk

5、drozer启动方式①②③

普通模式,开启USB调试,使用数据线连接pc,进入drozer安装目录,在cmd下建立端口转发,默认使用31415端口

adb forward  tcp:31415  tcp:31415   //将pc端31415的所有数据转发到手机上的31415端口

drozer console connect   //使用drozer console 连接agent server

使用wifi的正向连接方式,不需要开启USB调试:

drozer console connect --server 手机IP:port

infrastructure mode(反向连接),适合网络环境比较复杂的情况下和多个android设备,不需要知道设备的IP,不需要开启USB调试,设备上安装agent,与server互通,server与console互通(这里使用同一电脑),在agent上点击New Endpoint,host为server的IP,端口默认31415,在cmd下输入 drozer server start

在console上新建一个cmd窗口查看设备:drozer console devices (Device ID可以在agent上修改)

连接某一个设备 : drozer console connect mate7

注:如果server与console不同一电脑,连接某一设备:

drozer  console  connect  DeviceID  --server  ServerIP:port

6、获取手机上所有安装的app包名:run app.package.list  加上”-f [app关键字]”查找某个app,如run app.package.list -f sieve

得到sieve的包名为com.mwr.example.sieve

7、获取sieve的基本信息 run app.package.info -a com.mwr.example.sieve

时间: 2024-10-17 08:19:06

Android组件安全和drozer的使用的相关文章

Android组件化

附:Android组件化和插件化开发 App组件化与业务拆分那些事 Android项目架构之业务组件化 Android组件化核心之路由实现

Android组件之间的信使——Intent

从一个Activity启动到另一个Activity可以使用startActivity()方法或者是startActivityForResult()方法 第一种:直接启动一个ActivityIntent intent = new Intent(Main.this, SecondActivity.class);startActivity(intent); 第二种:启动另一个Activity并返回结果作用:当从第二个Activity回跳到前一个Activity的时候,就不再需要使用startActiv

Android组件学习之ExpandableListView

一个简单的小例子: 可以展开的ListView,和Listview差不多,只是设置的Adapter不同.常用的Adapter有BaseExpandableListAdapter.SimpleExpandableListAdapter.SimpleCursorTreeAdapter 布局如下:(布局中我设置了android:groupIndicator,不知道为什么不起作用.另外,android:dividerHeight这个属性是组对象和子节点共用的.如果要定义比较复杂的组视图及子节点视图,还是

[Android]组件-进度条1

多式样ProgressBar 普通圆形ProgressBar 该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中. 一般只要在XML布局中定义就可以了. <progressBar android:id="@+id/widget43" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layou

[Android]组件之进度条2

这个例子不错,详细讲解了alertdialog及LayoutInflater的用法: main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:lay

Android组件间的相互调用

我们研究两个问题,1.Service如何通过Broadcaster更改activity的一个TextView.(研究这个问题,考虑到Service从服务器端获得消息之后,将msg返回给activity) 2.Activity如何通过Binder调用Service的一个方法.(研究这个问题,考虑到与服务器端交互的动作,打包至Service,Activity只呈现界面,调用Service的方法) 结构图见如下:效果图如下:点击“start service”按钮,启动Service,然后更改Activ

自定义Android组件之组合方式创建密码框组件

Android中所有控件(也称组件)都继承自adnroid.view.View类,android.view.ViewGroup是View类的重要子类,绝大多书的布局类就继承自ViewGroup类. 附上一张基于Android Api21的View和Widget类图 自定义Android组件基本可以从2个入口着手,一是继承Viewe类拿起画笔和画布绘制组件,而是通过继承View的子类和组合已有的组件的方式构造自定义的组件. 本文通过自定义一个PassWordView组件来实现密码能够通过点击点选框

【Android开发精要笔记】Android组件模型解析

Android组件模型解析 Android中的Mashup 将应用切分成不同类别的组件,通过统一的定位模型和接口标准将他们整合在一起,来共同完成某项任务.在Android的Mashup模式下,每个组件的功能都可以被充分的复用.来自不同应用的组件可以有机地结合在一起,共同完成任务. 基于Mashup的Android应用模型 三个基本要素:组件.连接.配置 接口就是实现单元.从代码来看,组件就是派生自特定接口或基类的子类的实现,如界面组件Activity就是指派生自android.app.Activ

2015最流行的Android组件、工具、框架大全(转)

转自:2015最流行的Android组件.工具.框架大全 Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件.本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 部分图片需国内或许不能访问才能显示 很好的中文教程Google Android官方培训课程中文版 awesome-android, android列表. 另,g