安卓开发短信小骗子

直接上项目代码,技术很简单就是一些对于数据库的操作,不得不感慨安卓安全性实在是。。。。。。


主activity

package com.android.fromdaemonwry  ;
//import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date ;

import com.thisdaemonwry.messageliar.R;

import android.view.View.OnClickListener;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.Toast;

@SuppressLint("NewApi")
public class Main extends Activity {
    private String num ;
    private String msg ;
    private int lyear,lmonth,lday,lhour,lminute ;
    private int FLAG=2 ;     //1表示发件,2表示收件
    private RadioGroup group ;
    private EditText dateEt,timeEt ;
    private EditText numText ;
    private EditText msgtext ;
    private Button insert ;
    private TimePicker timePicker ;
    private DatePicker datePicker ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.numText = (EditText) findViewById(R.id.num) ;
        this.msgtext = (EditText) findViewById(R.id.text) ;
        this.insert = (Button) findViewById(R.id.insert) ;
        this.group = (RadioGroup)findViewById(R.id.group) ;
        this.datePicker = (DatePicker)findViewById(R.id.datePicker) ;
        this.timePicker = (TimePicker)findViewById(R.id.timePicker) ;
        this.dateEt = (EditText)findViewById(R.id.dateEt) ;
        this.timeEt = (EditText)findViewById(R.id.timeEt) ;
        //System.out.println("时间:"+lhour+"   "+lminute) ;
        
        /*
         * DatePicker监听
         */
        this.datePicker.setCalendarViewShown(false);
        Calendar cal = Calendar.getInstance() ;
        this.lyear = cal.get(Calendar.YEAR) ;
        this.lmonth = cal.get(Calendar.MONTH)+1 ;
        this.lday = cal.get(Calendar.DAY_OF_MONTH) ;
        this.lhour = cal.get(Calendar.HOUR_OF_DAY) ;
        this.lminute = cal.get(Calendar.MINUTE) ;
        dateEt.setText("你选择的日期是"+lyear+"年"+(this.lmonth)+"月"+lday+"日");
        this.datePicker.init(lyear, lmonth-1, lday, new OnDateChangedListener() {
            
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear,
                    int dayOfMonth) {
                // TODO Auto-generated method stub
                dateEt.setText("你选的日期是"+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日");
                lyear = year ;
                lmonth = monthOfYear +1;
                lday = dayOfMonth ;    
            }
        });
        this.timeEt.setText("你选择的时间:"+lhour+"点"+lminute+"分");
        this.timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
            
            @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                // TODO Auto-generated method stub
                lhour = hourOfDay ;
                lminute = minute ;
                timeEt.setText("你选择的时间:"+lhour+"点"+lminute+"分");
                
            }
        });
        
        this.group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub
                RadioButton rb = (RadioButton)findViewById(checkedId) ;
                if(rb.getId() == R.id.fajian)
                {
                    FLAG = 1 ;
                }else if(rb.getId() == R.id.shoujian)
                {
                      FLAG = 2 ;
                }
            }
        });
        this.insert.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                num = numText.getText().toString() ;
                msg = msgtext.getText().toString() ;
                if(num.equals("") || msg.equals(""))
                {
                    Toast.makeText(getApplicationContext(), "电话号码和短信内容不能为空!", Toast.LENGTH_LONG) ;
                    return ;
                    
                }
                /*
                 * 下面开始执行插入操作
                 */
                SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm" );
                //String time="1970-01-06 11:45:55";
                String time = lyear+"-"+lmonth+"-"+lday+" "+lhour+":"+lminute;
                Date date = null;
                try {
                    date = (Date) format.parse(time);
                } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                ContentValues value = new ContentValues() ;
                ContentResolver cr = getContentResolver() ;
                value.put("address", num);
                value.put("body",msg) ;
                java.sql.Date sqldate=new java.sql.Date(date.getTime());
                value.put("date", sqldate.getTime());
          
                if(FLAG == 1)
                {
                    value.put("type", 4);
                } else value.put("type", 1);
                
                if(FLAG == 1)
                {
                    getContentResolver().insert(Uri.parse("content://sms/sent"), value) ;
                    //cr.insert(Uri.parse("content://sms/sent"), value) ;
                }
                else 
                {
                    getContentResolver().insert(Uri.parse("content://sms/inbox"), value) ;    
                    //cr.insert(Uri.parse("content://sms/inbox"), value)  ;
                }
                cr = null ;
                AlertDialog alert ;
                AlertDialog.Builder builder = new AlertDialog.Builder(Main.this) ;
                builder.setTitle("插入成功") ;
                builder.setMessage("短信伪造成功,剩下的你懂的。。") ;
                builder.setPositiveButton("查看已伪造的短信", new DialogInterface.OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-gen
                        Intent intent = new Intent();
                        intent.setClassName("com.android.mms","com.android.mms.ui.ConversationList");
                        startActivity(intent);
                        
                    }
                }) ;
                
                alert = builder.create() ;
                alert.show(); 
                                    
            }
        });
        
    }
        
    
     
     
}



布局xml

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:background="@drawable/from"
    android:layout_height="wrap_content">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <EditText 
        android:id="@+id/num"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="在此输入电话号码"
        android:inputType="number"
        android:background="@drawable/bg_sms_input"/>
    
    <EditText 
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="在此输入要制造的短信内容"
        android:layout_marginTop="18dp"
        android:gravity="top"
        android:background="@drawable/bg_sms_input"
        android:minLines="3"/>
    
        
    <DatePicker android:id="@+id/datePicker" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:startYear="1975"
        android:endYear="2100"
        android:layout_gravity="center_horizontal"/>
    <EditText android:id="@+id/dateEt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:cursorVisible="false"
        android:editable="false"/>
    <TimePicker android:id="@+id/timePicker" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"/>
    <EditText android:id="@+id/timeEt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:cursorVisible="false"
        android:editable="false"/>

    
    <RadioGroup
        android:id="@+id/group"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
    
    <RadioButton 
        android:id="@+id/fajian"
        android:text="插入已发短信"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    
     <RadioButton 
        android:id="@+id/shoujian"
        android:text="插入已收短信"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    </RadioGroup> 
    
    
    <Button
        android:id="@+id/insert"
        android:textSize="25sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:background="@drawable/selector"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:text="插入"/>
    

</LinearLayout>

</ScrollView>



效果图


posted @ 2015-03-07 22:15  emoji  阅读(255)  评论(0编辑  收藏  举报