一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫

Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫

2021-04-25 15:12xjxmars Android

這篇文章主要介紹了Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫 的相關資料,需要的朋友可以參考下

安卓系統(tǒng)比起ios系統(tǒng)最大的缺點,相信大家都知道,就是系統(tǒng)安全問題。這篇博客就秀一波“黑科技”。

讀取用戶短信

android應用能讀取用戶手機上的短信,相信已經(jīng)不是什么新鮮事,比如我們收到的短信驗證碼,一些app馬上就能自動獲取并填上驗證碼,省去我們手動填寫驗證碼。原理就是通過android的contentprovider組件間接訪問系統(tǒng)的短信數(shù)據(jù)庫,獲取所有短信內容。下面來演示一下。

        布局很簡單,如下:

 Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫

代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public class mainactivity extends activity {
  list<message> smslist;
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_main);
    smslist = new arraylist<message>();
  }
  public void click(view v){
    //訪問內容提供者獲取短信
    contentresolver cr = getcontentresolver();
    //            短信內容提供者的主機名
    cursor cursor = cr.query(uri.parse("content://sms"), new string[]{"address", "date", "body", "type"},
        null, null, null);
    while(cursor.movetonext()){
      string address = cursor.getstring(0);
      long date = cursor.getlong(1);
      string body = cursor.getstring(2);
      string type = cursor.getstring(3);
      message sms = new message(body, type, address, date);
      smslist.add(sms);
      log.e("tag", sms.tostring());
    }
  }
  public void click2(view v){
    xmlserializer xs = xml.newserializer();
    file file = new file("sdcard/sms.xml");
    fileoutputstream fos;
    try {
      fos = new fileoutputstream(file);
      xs.setoutput(fos, "utf-8");
      xs.startdocument("utf-8", true);
      xs.starttag(null, "message");
      for (message sms : smslist) {
        xs.starttag(null, "sms");
        xs.starttag(null, "body");
        xs.text(sms.getbody());
        xs.endtag(null, "body");
        xs.starttag(null, "date");
        xs.text(sms.getdate() + "");
        xs.endtag(null, "date");
        xs.starttag(null, "type");
        xs.text(sms.gettype());
        xs.endtag(null, "type");
        xs.starttag(null, "address");
        xs.text(sms.getaddress());
        xs.endtag(null, "address");
        xs.endtag(null, "sms");
      }
      xs.endtag(null, "message");
      xs.enddocument();
    } catch (exception e) {
      // todo auto-generated catch block
      e.printstacktrace();
    }
  }
}

要讀取手機短信和插入短信,還必須加上一下權限:

?
1
2
<uses-permission android:name="android.permission.read_sms"/>
  <uses-permission android:name="android.permission.write_external_storage"/>

下面來分析一下代碼:第一個按鈕通過contentprovider間接獲取了一些短信的信息,保存在一個list數(shù)組下。我們先導出android系統(tǒng)的sms表看一下:

 Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫

總共有17個字段這么多,顯然不是我們都關心的,這里只要了address,date, body, type四個字段,分別表示對方號碼,短信時間,短信內容,發(fā)送還是接收。第二個按鈕把短信相關信息存儲在一個序列化的xml文件中,方便查看。 

放上xml截圖:

 Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫

可以看出此時手機上共有5條短信,大功告成。

修改系統(tǒng)短信數(shù)據(jù)庫

         真正的黑科技來了,相信大家知道有些不法分子能冒充各種號碼發(fā)布虛假信息,如10086啥的,下面示范一下用95533(建行)發(fā)送一條愚人節(jié)賀卡。

         代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class mainactivity extends activity {
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_main);
  }
  public void click(view v){
    thread t = new thread(){
      @override
      public void run() {
        contentresolver cr = getcontentresolver();
        contentvalues values = new contentvalues();
        values.put("address", 95533);
        values.put("type", 1);
        values.put("date", system.currenttimemillis());
        values.put("body", "您尾號為9999的信用卡收到1,000,000rmb轉賬,請注意查收");
        cr.insert(uri.parse("content://sms"), values);
      }
    };
    t.start();
  }
}

思路跟前一步差不多,不過這里是插入一條短信。實現(xiàn)效果:

Android黑科技之讀取用戶短信+修改系統(tǒng)短信數(shù)據(jù)庫

順帶一提,從android 5.0開始,默認短信應用外的軟件不能以寫入短信數(shù)據(jù)庫的形式(write sms)發(fā)短信,也就是說修改系統(tǒng)短信數(shù)據(jù)庫行不通了,不過讀取用戶短信這個bug至今還沒修復。所以不想被騙的童鞋還是感覺升級5.0以上的版本吧^_^

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产小视频在线免费 | 高清国产在线观看 | 91日本在线观看亚洲精品 | 99视频久久精品久久 | 亚洲精品久久久992KVTV | ferr孕妇videos毛茸茸 | sss视频在线精品 | 国产精品99精品久久免费 | 狠狠夜夜久久日日91av | 亚洲精品日韩专区在线观看 | 王淑兰李思雨李铁柱乡村小说免费 | japanese在线观看| 催眠 迷j系列小说 | 男女刺激高清视频在线观看 | 婷婷久久热99在线精品 | 午夜福利体检 | 加勒比一本大道香蕉在线视频 | 刺激一区仑乱 | 久久内在线视频精品mp4 | 欧美老人与小伙子性生交 | 日本免费不卡在线一区二区三区 | 欧美一级片在线看 | 美女精品永久福利在线 | 春宵福利网站在线观看 | 天天操夜夜操狠狠操 | 国内精品一区视频在线播放 | 精品播放| 日本高清中文字幕 | 动漫美女人物被黄漫在线看 | 免费导航 | 精品网站一区二区三区网站 | 免费亚洲视频 | 国色天香社区视频免费观看3 | 亚洲热在线观看 | 91国内精品久久久久怡红院 | 日韩欧美推理片免费看完整版 | 我们日本在线观看免费动漫下载 | 青青热久免费精品视频网站 | 全日爱韩国视频在线观看 | 999热这里只有精品 999久久久免费精品国产牛牛 | 手机看片国产免费现在观看 |