android框架

Android使用XPosed复现app Crash

与世无争的帅哥 提交于 2020-03-28 05:21:04
很久前的一篇文章了,发出来纪念一下:) 在前一篇文章中提到( https://www.cnblogs.com/areful/p/10399409.html ),我们app有个因xposed软件导致的crash,本文来看看怎么使用xposed复现crash。 crash复现及代码分析 〇、 前言   在《crash日志分析》中我们提到,在XPosed框架基础上,“008神器”这款应用劫持了安卓系统十几个API,并间接导致了我们的应用崩溃。当时推测是bugly的SDK持续监视系统所有log,并捕获相近的log作为crash日志计入bug统计平台,因为我们的应用和“008神器”之间并没有直接的关系,根据crash log无法将两者联系起来。   不过与腾讯相关工程师讨论后知道,只有应用crash了才会捕获log计入统计平台,那可能的情况就分成两种,一种是确实是我们的应用崩溃了,因为不知名的原因看不到我们应用crash的log,而只有“008神器”的log;另一种就是,确实是“008神器”导致了我们的应用崩溃。   进一步反编译分析“008神器”代码及其逻辑,照其逻辑编写XPosed模块,使用XPosed框架劫持部分系统API,并在劫持后的处理方法中做特殊处理,使模块生效,再运行目标应用(对本文来说,目标应用是demo.apk,劫持的API是android.webkit

Android App渗透测试工具drozer,Qark,Androguard

北慕城南 提交于 2020-03-28 05:19:15
一. drozer简介 drozer(以前称为Mercury)是一款Android安全测试框架。 drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和底层操作系统进行交互来搜索应用程序和设备中的安全漏洞。 drozer提供工具来帮助您使用,共享和理解公共Android漏洞。它可以帮助您通过开发或社会工程将drozer Agent部署到设备。使用weasel(MWR的高级开发负载)drozer能够通过安装完整代理,将有限代理注入正在运行的进程或连接反向shell以充当远程访问工具(RAT)来最大化其可用权限。 项目地址:https://github.com/mwrlabs/drozer Mac 安装drozer 1. 安装Python 2.7(系统自带) 2. 安装Protobuf 2.6 or greater sudo pip install protobuf 3. 安装Pyopenssl 16.2 or greater sudo pip install pyopenssl 4. 安装Twisted 10.2 or greater sudo pip install twisted 5. 安装JDK 1.7 这里我安装的是JDK 1.8,最后也安装成功了。 6. 安装Python的service_identity模块

打造亿级日活SDK的十大常见问题及解决方案

半城伤御伤魂 提交于 2020-03-27 10:53:44
3 月,跳不动了?>>> 一个好的SDK应该具备易用性、稳定性、轻量、灵活的特点,而个推作为国内第三方推送市场的早期进入者,一直致力于为开发者提供高效稳定的推送SDK。 经过十年的深耕与创新,个推夯实了行业地位。截止2019年6月,个推SDK累计安装量超440亿,日活独立设备数达4.3 亿,并成功服务了人民日报、新华社、微博、马蜂窝、酷我音乐等一系列明星APP。辉煌数据的背后是强大的技术支撑。 这期文章,我们特地采访了个推Android 资深开发敬瑜,以个推推送SDK为例,来聊聊打造大型SDK的关键技术点。 作者 个推Android 资深开发 敬瑜 01 开发 SDK 和 开发APP 有什么联系? APP 和 SDK两者关系密切,APP是SDK的主要载体, SDK 则是 APP开发所需的重要工具。从研发者的角度来看,SDK开发和 APP开发均属于 Android 顶层应用开发,并无本质区别,两者的目的均是要提供产品给客户使用;但从商业角度来讲,APP 是to C 的产品,用户是广大群众;而 SDK 则是to B 的产品,用户为广大开发者,两者在运营模式上有所不同。 02 SDK 开发最关键的点是什么? SDK没有UI交互,用户使用 APP 时并不会感知到SDK 的存在。但是作为APP的重要部分,SDK的性能直接影响着APP的性能,也间接影响着用户在使用APP时的体验和感受

Android 开发技术周报 Issue#273

自古美人都是妖i 提交于 2020-03-23 09:48:38
新闻/News Android 11有新玩法:双击手机背部截屏/进入多任务界面 Android 11 DP2证实了类似AirDrop的附近文件分享功能 谷歌发布Camera Go:即使入门机也能有出色肖像模式 Android高级防护功能已限制非Play商店的应用安装 教程/Tutorial Using Scoped Functions in Kotlin - let, run, with, also, apply 设计模式在外卖营销业务中的实践 微信支付跨平台软件架构 开源库/Librarys GestureLockView 一款MIUI手势解锁控件的开源实现版本 MNCrashMonitor MNCrashMonitor 监听程序崩溃日志,直接页面展示崩溃日志列表,调试方便,测试人员可以随时给程序猿查看日志详情,可以动态添加日志内容,手机直接查看日志内容可以分享,复制,生成长截图。 MNImageBrowser 一个图片浏览框架(适配AndroidX),类似微信图片浏览,手势向下滑动关闭,图片加载引擎自定义,支持长按,单击监听,切换监听,自定义任意的遮罩层,实现各种效果,支持横竖屏切换,简单方便。 MNUpdateAPK Android APK Update 版本更新的下载和安装,适配7.0,8.0下载安装 MNPasswordEditText Android验证码和密码输入框

Android 开发技术周报 Issue#273

独自空忆成欢 提交于 2020-03-23 09:12:10
3 月,跳不动了?>>> 新闻/News Android 11有新玩法:双击手机背部截屏/进入多任务界面 Android 11 DP2证实了类似AirDrop的附近文件分享功能 谷歌发布Camera Go:即使入门机也能有出色肖像模式 Android高级防护功能已限制非Play商店的应用安装 教程/Tutorial Using Scoped Functions in Kotlin - let, run, with, also, apply 设计模式在外卖营销业务中的实践 微信支付跨平台软件架构 开源库/Librarys GestureLockView 一款MIUI手势解锁控件的开源实现版本 MNCrashMonitor MNCrashMonitor 监听程序崩溃日志,直接页面展示崩溃日志列表,调试方便,测试人员可以随时给程序猿查看日志详情,可以动态添加日志内容,手机直接查看日志内容可以分享,复制,生成长截图。 MNImageBrowser 一个图片浏览框架(适配AndroidX),类似微信图片浏览,手势向下滑动关闭,图片加载引擎自定义,支持长按,单击监听,切换监听,自定义任意的遮罩层,实现各种效果,支持横竖屏切换,简单方便。 MNUpdateAPK Android APK Update 版本更新的下载和安装,适配7.0,8.0下载安装 MNPasswordEditText

利用Cordova开发移动应用程序

可紊 提交于 2020-03-23 07:33:49
不少内容摘自 易百教程 Hybrid App 简介 简介详情 混合型移动应用,是指一种介于Native App(本地原生应用)与Web App (网页应用)之间的应用,该类应用的开发除了使用到本地平台开发技术(Android、iOS、 BlackBerry等)外,部分功能还使用了Web技术,通过内嵌浏览器显示网页的方式来实现。 PhoneGap与Cordova PhoneGap是一个使用Web技术(HTML,CSS和JavaScript)开发跨平台移动应用的免费且开源框架,目前很多主流的移动开发框架均源于PhoneGap,比如WeX5、appMobi、Worklight等。而要了解Cordova,得先了解一下PhoneGap的一些背景: PhoneGap框架的起源于加拿大一家叫Nitobi的软件公司,08年一次iOS开发者大会上,该公司的几个人提出一个想法:Bridging the gap between the web and the iPhone sdk,想做一个工具来弥补Web和iOS开发之间的不足,这是PhoneGap名字的来源。 2011年10月,Adobe收购了创立PhoneGap项目的Nitobi公司,随后把PhoneGap项目捐给了Apache基金会,但Adobe保留了PhoneGap的商标所有权。故项目到了Apache旗下,改了个名字叫Apache

Android---快速拨话程序(涵盖appWidget、Tab、联系人、多线程、自定义ListView使用)

与世无争的帅哥 提交于 2020-03-22 05:34:19
快速拨话程序是之前学习android appWidget(窗口小部件)时在eoe找下载的一个appWidget程序, 它主要是在桌面上产生一个联系人的widget,点击可以直接拨打电话。因为感觉缺少点内容,不是 那么完美,所以现在有时间了就将它完善完善,添加了读取联系人图像,ListView的数据源采用重 写BaseAdapter进行绑定,并且添加了一个多线程加载联系人信息等。而这个apk主要围绕的内容也 是这几方面Android下的AppWidget、Tab的使用、多线程(AsyncTask)的使用,联系人的读取 、自定义ListView使用。也许这些方面讲得不深,就需要各位看官自己多多学习使用了。 效果图: (1)Tab:选项卡,在同一个界面中,选择不同的选项卡,呈现不同界面布局。这里添加选项卡一方 面是读取系统中的联系人列表、另一方面允许用户自行输入一个昵称和电话号码而产生一个快捷拨话 Widget。android中的Tab,一个TabSpec表示一个选项卡,而所有的TabSpec都由TabHost管理。 TabHost载入基本的xml布局文件。R.layout.main:最外层是框架布局,尔后是两个TapSpec的LinearLayout布局 代码 <FrameLayout android:id="@+id/FrameLayout01" android:layout

Android中的图片视图的边框?

淺唱寂寞╮ 提交于 2020-03-21 17:36:34
3 月,跳不动了?>>> 如何为 ImageView 设置边框并在Android中更改其颜色? #1楼 这是我认识的一篇旧帖子,但我认为这可能会帮助那些人。 如果要模拟不与形状的“实心”颜色重叠的半透明边框,请在xml中使用此边框。 请注意,我根本不使用“stroke”标签,因为它似乎总是与实际绘制的形状重叠。 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="#55111111" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> <corners android:radius="5dp" /> </shape> </item> <item> <shape android:shape="rectangle" > <padding android:bottom="5dp" android:left="5dp" android:right="5dp

(8 Android) 用户界面UI设计

左心房为你撑大大i 提交于 2020-03-21 10:11:51
(8 Android) 用户界面UI设计 3.1.1 Android界面视图类 Android 图形化的用户界面(Graphical User Interface , GUI) 采用了结构清晰的MVC模型(Model-View-Controller) ,其具体含义: ·提供了处理用户输入的控制器(Controller) ; ·显示用户界面的视图(View) ; ·保存数据和代码的模型(Model) 。 在Android MVC中,控制器是由Activity组件完成的,它能够接受并响应程序的外部动作,如按键动作或触摸屏动作等,每个外部动作作为一个对立的事件被加入队列中,按照"先进先出"的规则从队列中获取事件,并将这个事件分配给所对应的事件处理函数。 控制器负责接受并响应程序的外部动作;通过视图反馈应用程序给用户的信息(通常是手机屏信息反馈) ;模型是应用程序的核心,用于保存数据和代码。 Android视图类android.view.View提供了用于处理屏幕事件的多个内部接口(如OnClickListener等)及常用方法(如setVisibility()等)。 3.1.2 Android用户界面事件 在Android系统中,各种屏幕手势的相关信息(如操作类别、发生时间等)被自动封装成一个KeyEvent对象,供应用程序使用。因此,在Activity的事件处理方法中

cordova 一个将web应用程序封装成app的框架

冷暖自知 提交于 2020-03-19 21:27:11
cordova的详细介绍请参考这个链接:http://www.zhoujingen.cn/blog/7034.html 我接下来主要将如何搭建。 1.首先你需要下载几样东西 1.jdk. 2.android_SDK. 2.安装这两个,并配置环境变量 这里jdk的环境变量配置我就不细说了。 android_SDK的环境变量配置 C:\Development\android-sdk\platform-tools C:\Development\android-sdk\tools 将这两个目录添加到系统path中,注意,这里一定是你的android-sdk目录,不要直接用我的奥! 3,下载cordova并安装平台等操作 下载cordova是用node本身自带的npm,所以在这之前你还需要安装node(这里默认你已经安装好了node) 首先你可以在某个盘里面新建一个文件夹,名字随意命名(webApp)。然后在命令行中进入到那个目录下面,在执行下面的操作。 1 安装Cordova Cordova的命令行运行在 Node.js 上面并且可以通过 NPM 安装。 根据 平台具体指导 安装相应平台的依赖。打开命令提示符或终端,然后键入 npm install -g cordova . 例如:$ npm install -g cordova 2 创建一个项目 使用命令行创建一个空的Cordova项目