APP逆向神器之Frida[Android初级篇] https://juejin.im/post/5d25a543e51d455d6d5358ab 说到逆向APP,很多人首先想到的都是反编译,但是单看反编译出来的代码很难得知某个函数在被调用时所传入的参数和它返回的值,极大地增加了逆向时的复杂度,有没有什么办法可以方便地知道被传入的参数和返回值呢? 答案是有的,这个方法就是Hook,Hook的原理简单地说就是用一个新的函数替代掉原来的函数,在这个新的函数中你想做什么都可以,为所欲为. 本文中的Fr…
官方的最新support library v7中提供了新的组件ToolBar,用来替代之前的ActionBar,实现更为弹性的设计在 material design 也对之做了名称的定义:App bar.下面描述下它的基本用法,权作抛砖引玉. 基本用法 如下代码,实现了主副标题及Logo和标题颜色的设置 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("交易清单"); toolbar.se…
转自:http://www.jianshu.com/p/3bd5c68cc44d 常用的android的签名工具有两个即jarsigner 和apksigner.这两种使用的key格式不一样,keystore格式转pk8+x509.pem 1. 将keystore文件转换为pkcs12格式 keytool -importkeystore -srckeystore my.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype…
APP漏洞扫描器之本地拒绝服务检测详解 阿里聚安全的Android应用漏洞扫描器有一个检测项是本地拒绝服务漏洞的检测,采用的是静态分析加动态模糊测试的方法来检测,检测结果准确全面.本文将讲一下应用漏洞扫描器在针对本地拒绝服务的检测方法. 一.本地拒绝服务产生原因和影响 Android应用使用Intent机制在组件之间传递数据,如果应用在使用getIntent(),getAction(),Intent.getXXXExtra()获取到空数据.异常或者畸形数据时没有进行异常捕获,应用就会发生Cras…
"知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物由学"希望通过一篇篇技术干货.趋势解读.人物思考和沉淀给你带来收获的同时,也希望打开你的眼界,成就不一样的你. 以下为文章正文: 想知道Android App常见的保护方法及其对应的逆向分析方法吗? 网易云易盾资深安全工程师 钟亚平 3月17日,安卓巴士全球开发者论坛在重庆举办,网易资深安全工程师钟…
[Tool] 取得APP的Store URL Scheme (Android.iOS) 前言 在企业网站中,如果希望使用URL连结的方式,开启Store APP来下载APP(非网页下载).开发人员可以将Store的URL Scheme设定为网页内URL链接的目标,后续用户使用手机浏览网站并点击这个URL连结,就会开启内建的Store来下载APP.本篇文章介绍如何在不同的手机平台上,取得APP的Store URL Scheme,主要为自己留个纪录,也希望能帮助到有需要的开发人员. 范例网页 And…
分享ORACLE数据库恢复神器之ODU.DUL和AUL工具. ODU:ORACLE DATABASE UNLOADER DUL:DATA UNLOADER AUL:也称MyDUL 关于三种工具说明: (1)Oracle 的内部工具是DUL(Data UnLoader).这个需要Oracle 的支持. (2)老熊写的ODU   网址:http://www.oracleodu.com/en/ (3)d.c.b.a (支付宝 楼方鑫)写的AUL. 网址:http://www.anysql.net/do…
在学习NDK中,当我在项目的bin/classes目录下使用javah命令生成头文件时,出现了“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”这个问题,如下 跳转到项目的src目录下使用javah命令,而不是在项目的bin/classes目录下使用javah命令即可! 无法访问android.app.Activity是说明没有引入android.jar包可以看看java -h里面的具体说明.其中有一个-bootclasspath…
原文网址:http://stackoverflow.com/questions/25508735/cant-find-referenced-method-android-app-remoteinput-getremoteinputs-in-cl I am kind of stuck from past 1 week from this issue. I am trying to export my android app for final release but it gives follow…
微信授权登陆接入第三方App(步骤总结)Android Android App实现第三方微信登录…
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按钮的三种响应事件,供技术员参考学习. 第一种:采用匿名内部类方法 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { System.out.println…
(十)PMS及App安装过程 PMS,全称PackageManagerService,是用来获取Apk包的信息的. 在前面分析四大组件与AMS通信的时候,我们介绍过,AMS总是会使用PMS加载包的信息,将其封装在LoadedApk这个类对象中,然后我们就可以从中取出在manifest声明的四大组件信息了. (一) 在下载并安装App的过程,会把Apk存放在data/app目录下. Apk是一个zip压缩包,在文件头会记录压缩包的大小,所以后续在文件尾巴就算是追加一部小电影,也不会对解压造成影响—…
我们在没有效果图的app开发中有一件事情肯定很头疼:一个按钮的调色改过来改过去,还是很难看,最终只能暂时作罢,浪费了大量的开发时间和精力.开发规范篇见Android开发怎么让自己的APP UI漂亮.大方(规范篇一) 一.APP常用搭配参考 底层背景色,内容背景色 ,两种颜色相近,但能区分标题背景色 任意花色标题文字色 通常为黑色或白色黑体内容文字 通常为黑色或白色宋体不重要的内容 浅灰色重要的内容 标题背景色附近的颜色通常比标题色亮,为强调色彩色颜色组合方式有,互补色,相似色,3角色(红.黄.蓝…
首先,笔者是站立在开发者的角度来看UI设计的,欢迎专业人士提供指导,不多说,来看怎么把UI设计和开发高效结合起来~ 一.约定APP开发中的一些规则 1.大部分图标满足HDPI(高清)即可,比如:大众点评首页的右上角图标,尺寸大致在48*48px左右 2.一般提供1280*720px的尺寸即可,最常见的适配模式 3.还有种图标,很多界面复用且图标中等偏大(80px及以上左右),他们在常规手机.平板,小尺寸手机上面需要适配,所以需要多种尺寸的图标,如:微信底部的tab菜单图标,一般设计的尺寸要3套,…
python三大神器之virtualenv   pip, virtualenv, fabric通称为pythoner的三大神器. virtualenv virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境.用virtualenv 来保持一个干净的环境非常有用 测试环境:linux下 1.基本使用 通过pip安装virtualenv: pip install virtualenv 测试安装: virtualenv --version 为一个工程项目搭…
What's the behavior of App killed or restored by Android System or by users? First, user kills the app by swiping out the screen The DEMO process is killed and activity stack is cleared. And the system will relaunch the DEMO process automatically.  W…
SSH客户端神器之 MobaXterm 由于需要连接远程 Linux 服务器,早期使用过 Putty,SecureCRT,后面主要使用 Xshell. 自从接触了 MobaXterm之后,个人感觉比 Xshell 更好用,堪称SSH客户端的神器啊! MobaXterm 和 Xshell 的关系,就像 IntelliJ IDEA 和 Eclipse 的关系一样,功能更加强大,效果更加炫酷. 接下来,介绍 MobaXterm 的下载.安装.简单使用,以及其强大的功能亮点(优点). MobaXterm…
注:本文中的recreate是指当内存不足时,Activity被回收,但再次来到此Activity时,系统重新恢复的过程.例如:当Activity A到Activity B时,如果内存不足,A被回收,但当用户按下Back键返回时,A又会被系统重新创建. 为了便于问题展开,我们首先来看一段最简单的代码 ----------------代码片段1------------------ package com.example.corn.corntest; import android.app.Activ…
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle一些常见问题进行一一介绍: 理解Gradle与android app之间的关系,以及Gradle需要构建的build文件. 在Android Studio中执行Gradle命令. 在Android app添加java库文件. 将eclipse工程导入Eclipse ADT工程 如何为一个APK文件进…
在android使用篇(三) MVC模式中提到一个问题: 1) 视图层(View):一般採用XML文件进行界面的描写叙述,使用的时候能够很方便的引入,可是用xml编写了,又须要在Acitvity声明而且实例化,有点麻烦,考虑是否能做一个类似注解实现匹配,或者写一个类获取xml的各个节点然后自己主动进行封装,当然,这仅仅是个想法,以后再实现. 今天最终把这个想法实现了,使用依赖注入IOC注解实现对activity中控件的实例化. 先普及一下java的反射机制和注解机制的知识: 下面引用大神的两篇文…
========================================================          ======================================================== =              [原创文章]:参考部分博客内容,学习之余进行了大量的筛减细化分析                        =          =                          [特殊申明]:避讳抄袭侵权之嫌疑,特…
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6823777.html 前言 大家好,我是Cavalier,这次和大家分享的是,重构 Android App,我在以往所接触的项目中,大部分的项目都是毫无架构所言,最近我在阅读_包建强<App研发录>,刚好开到所需的重构思想,在此做下记录. #1.1重新规划App项目结构 重新规划Android项目结构 1.新建AndroidLib类库,将于业务无关的逻…
前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Android开发高级工程师必须要跨过的一道坎.但是,我们是否真的清楚,Android中都有哪些方式实现跨进程通信呢?这些方式都有哪些优缺点?如何选择这些通信方式?Binder是什么?为什么要引入Binder?Binder是这么样实现跨进程通信的?AIDL是什么?AIDL和Binder又有什么关系呢?....…
前言        Android系统与其他操作系统有个很不一样的地方,就是其他操作系统尽可能移除不再活动的进程,从而尽可能保证多的内存空间,而Android系统却是反其道而行之,尽可能保留进程.Android这样设计有什么优势呢?又是通过怎样的方法来管理这些被保留的进程的呢?Android用户又该如何正确使用手机从而更好发挥Android系统所特有的优势呢?本文将一一为您解开这些谜团. 本文的主要内容如下:            一.Android进程管理的特殊设计 Linux系统对进程的管理…
前言 Android虚拟机的使用,使得android应用和Linux内核分离,这样做使得android系统更稳定可靠,比如程序中即使包含恶意代码,也不会直接影响系统文件:也提高了跨平台兼容性.在Android4.4以前的系统中,Android系统均采用Dalvik作为运行andorid程序的虚拟机,在android发展中具有举足轻重的地位,而Android 5.0及以后的系统使用ART虚拟机取代Dalvik,在性能上做了很大的优化.本文将对这两款虚拟机做一些介绍,主要内容如下: 阅读本文,建议结…
[转]Android总结篇系列:Activity启动模式(lauchMode) 本来想针对Activity中的启动模式写篇文章的,后来网上发现有人已经总结的相当好了,在此直接引用过来,并加上自己的一些理解,在此感谢原作者. 文章地址: http://blog.csdn.net/liuhe688/article/details/6754323 ------------------------------------------------------------------------------…
[转]Android总结篇系列:Activity生命周期 Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity生命周期进行一次总结. Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部.Acitivity一般意义上有四种状态: 1.当Activity位于栈顶时,此时正好处于屏幕最前…
本文转载自:大神 通过之前的一篇文章,我们了解了 Android中的Binder机制和远程服务调用 在这篇文章中主要介绍了Android中的应用在调用一些系统服务的时候的原理,那么接下来就继续来介绍一下如何通过编译Android源码来手动添加一个系统服务,让编译之后的Android系统中存在我们的这个服务,每个应用都可以调用.但是本文得先介绍一下如何编写一个简单的驱动程序,先介绍了驱动程序,然后在通过JNI让framework层访问这个驱动程序,在通过注册服务来封装这个功能,最后在把这个服务添加…
本文转载自:http://www.wjdiankong.cn/android%E7%B3%BB%E7%BB%9F%E7%AF%87%E4%B9%8B-%E7%BC%96%E5%86%99%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1%E5%B9%B6%E4%B8%94%E5%B0%86%E5%85%B6%E7%BC%96%E8%AF%91%E5%88%B0%E7%B3%BB%E7%BB%9F%E6%BA%90%E7%A0%81/ 在之前已经介绍了一篇关于 如何编写简单的…
正如大家所见,这是本英文书,而由于国内的gradle翻译资料不全,所以特次开辟专栏,翻译gradle for android这本书,同时添加自己的心得体会以及在实际工作上的实战,希望大家能够喜欢. 如果你是名Android开发新手,或者是名从eclipse切换到Android studio的新手,那么我强烈建议您follow我的文章,正如封面所见,利用gradle构建工具来自动构建你的Android项目.废话不多说,我们直接开始吧. 今天主要介绍Android studio工具的使用,以及cra…