使用教程

一、短信过滤

1.基于规则

如何使用过滤规则来拦截短信

概述

你可以添加4种规则来处理短信:

  1. 发件人号码-白名单
  2. 短信内容关键词-白名单
  3. 发件人号码-黑名单
  4. 短信内容关键词-黑名单

当手机收到新的短信,且发件人不在手机通讯录中时,系统会询问当前短信过滤扩展如何处理这条短信,是正常短信还是垃圾短信。

你需要先在系统设置中找到“信息》未知与过滤信息”,打开“过滤未知发件人”开关,在底下“短信过滤”列表中选中此软件。

那么手机在收到未知发件人发来的短信时,系统就会将处理短信的权力交给此软件。

软件按照上面的顺序,首先判断该短信的发件人是否在白名单中,如果在,则判定该短信为正常,流程结束。否则继续判断短信内容是否包含白名单里的关键词,比如我们经常会收到验证码,那么我们一般都会把“验证码”这个关键字加到白名单中,如果此条短信的内容包含“验证码”,那么此条短信也会被判断为正常短信,流程结束。否则继续往下,到了发件人黑名单环节,判断该短信的发件人是否在黑名单中,如果在,则判定该短信为垃圾短信,流程结束。否则继续判断短信内容是否包含黑名单中的关键词,比如我们经常收到贷款中介的短信,内容大致为,有一笔xx万元的备用金,所以我们可以将“备用金”添加至黑名单中,如果短信内容包含了该关键词,那么该短信就被判定为垃圾短信。如果不包含所有的黑名单关键词,那么程序继续往后运行,依靠机器学习的文本分类模型来处理。

使用方法

因为垃圾短信的发送者为了提高短信的送达率,他们会经常更换号码,也会更新模版,所以靠简单的纯文本匹配无法有效地应对他们这种变化,我们可以使用正则表达式,更加灵活地添加规则。

正则表达式应该怎么写?

这个问题就很复杂,如果你会编程,这个问题应该不难。但如果你没有任何编程基础,你可以在网上找一下正则表达式入门教程,比如 https://zhuanlan.zhihu.com/p/107294963

超简单的正则表达式入门 – 知乎 (zhihu.com)  https://www.runoob.com/w3cnote/regular-expression-30-minutes-tutorial.html

正则表达式30分钟入门教程 | 菜鸟教程 (runoob.com) 如何使用过滤规则来拦截短信

概述

你可以添加4种规则来处理短信:

  1. 发件人号码-白名单
  2. 短信内容关键词-白名单
  3. 发件人号码-黑名单
  4. 短信内容关键词-黑名单

当手机收到新的短信,且发件人不在手机通讯录中时,系统会询问当前短信过滤扩展如何处理这条短信,是正常短信还是垃圾短信。

你需要先在系统设置中找到“信息》未知与过滤信息”,打开“过滤未知发件人”开关,在底下“短信过滤”列表中选中此软件。

那么手机在收到未知发件人发来的短信时,系统就会将处理短信的权力交给此软件。

软件按照上面的顺序,首先判断该短信的发件人是否在白名单中,如果在,则判定该短信为正常,流程结束。否则继续判断短信内容是否包含白名单里的关键词,比如我们经常会收到验证码,那么我们一般都会把“验证码”这个关键字加到白名单中,如果此条短信的内容包含“验证码”,那么此条短信也会被判断为正常短信,流程结束。否则继续往下,到了发件人黑名单环节,判断该短信的发件人是否在黑名单中,如果在,则判定该短信为垃圾短信,流程结束。否则继续判断短信内容是否包含黑名单中的关键词,比如我们经常收到贷款中介的短信,内容大致为,有一笔xx万元的备用金,所以我们可以将“备用金”添加至黑名单中,如果短信内容包含了该关键词,那么该短信就被判定为垃圾短信。如果不包含所有的黑名单关键词,那么程序继续往后运行,依靠机器学习的文本分类模型来处理。

使用方法

因为垃圾短信的发送者为了提高短信的送达率,他们会经常更换号码,也会更新模版,所以靠简单的纯文本匹配无法有效地应对他们这种变化,我们可以使用正则表达式,更加灵活地添加规则。

正则表达式应该怎么写?

这个问题就很复杂,如果你会编程,这个问题应该不难。但如果你没有任何编程基础,你可以在网上找一下正则表达式入门教程,比如 https://zhuanlan.zhihu.com/p/107294963

超简单的正则表达式入门 – 知乎 (zhihu.com)  https://www.runoob.com/w3cnote/regular-expression-30-minutes-tutorial.html

正则表达式30分钟入门教程 | 菜鸟教程 (runoob.com)  https://zhuanlan.zhihu.com/p/138866480

这个教程,真的让我学会了正则表达式 – 知乎 (zhihu.com)

如果你看完教程还是不会写,那么你可以到App网站留言,我会尽力帮你。https://www.iamadman.com/products/smsgreatwall/

短信来电过滤 – 阿玛德曼 (iamadman.com)

如何测试正则表达式

为了方便验证正则表达式的正确性,我在此App内置了一个正则表达式测试工具,入口在添加规则页面,“模式”输入框旁边有个提示按钮,点击它就可以进入。

页面包含“文本内容”、“正则表达式”、“测试按钮”、“测试结果”四个部分。

如果你想测试你写的正则表达式能不能正确匹配到某条垃圾短信,你可以把那条垃圾短信的内容复制粘贴到“文本内容”输入框中,然后在“正则表达式”输入框里填入你的正则表达式,然后点击“测试按钮”,查看底部的结果,如果匹配到,那么🎉🎉🎉恭喜你,你的正则表达式功夫很不错。

如果你看完教程还是不会写,那么你可以到App网站留言,我会尽力帮你。https://www.iamadman.com/products/smsgreatwall/

短信来电过滤 – 阿玛德曼 (iamadman.com)

如何测试正则表达式

为了方便验证正则表达式的正确性,我在此App内置了一个正则表达式测试工具,入口在添加规则页面,“模式”输入框旁边有个提示按钮,点击它就可以进入。

页面包含“文本内容”、“正则表达式”、“测试按钮”、“测试结果”四个部分。

如果你想测试你写的正则表达式能不能正确匹配到某条垃圾短信,你可以把那条垃圾短信的内容复制粘贴到“文本内容”输入框中,然后在“正则表达式”输入框里填入你的正则表达式,然后点击“测试按钮”,查看底部的结果,如果匹配到,那么🎉🎉🎉恭喜你,你的正则表达式功夫很不错。

2.机器学习

如何训练自己的垃圾短信分类模型?

How to Train Your Own Message Filter ML Model

1. Prepare Data

1.1 Collect corpus

It may be very difficult to collect corpus, especially with good quality. Many data on the Internet were outdated. So I develop an macOS App that can Export SMS database from my iPhone backup. It’s iBackupExplorer, it’s paid, you can find promo codes here https://www.iamadman.com/2023/02/28/ibackupexplorer-promo-codes/

iBackupExplorer Promo Codes – 阿玛德曼 (iamadman.com)

the SMS database is located at /HomeDomain/Library/SMS/sms.db

howto get the SMS messages out?

You can use some SQLite Editor tools to export the messages out to CSV format. the SQLite Editor tool I used is DB Browser for SQLite, it’s free.

1.2 Label the data

after export all the messages, you need to label messages as “spam” or “ham”

2. Train a Text Classification Model

https://developer.apple.com/documentation/createml/creating-a-text-classifier-model

Creating a Text Classifier Model | Apple Developer Documentation

It’s really convenient to train model using Xcode playground. I used it to train my Chinese and English Message Filter Model which were builtin this app.

2.1 process the data to json format 

the model training data should be json format like this:

// JSON file
[
  {
    "text": "The movie was fantastic!",
    "label": "ham"
  },
  {
    "text": "Very boring. Fell asleep.",
    "label": "spam"
  },
  {
    "text": "It was just OK.",
    "label": "ham"
  }
]

3. Zip and Upload it to Cloud Storage or Website

3.1 rename the mlmodel file to “index.mlmodel”

3.2 zip it directly, no need to put it in Folder

3.3 upload it to somewhere, then get the link, then you can download it 

二、来电阻止与身份识别

1.身份标识

1.1 内置数据

内置了200多个国内很多政府部门以及各大知名企业的电话号码

1.2 支持用户自定义

支持用户自己添加电话号码身份标签,比如给你的好朋友的电话号码,当然他的号码必须不存在于你的通讯录中,否则系统会优先使用通讯录中的名字显示。

2.来电阻止

2.1 内置数据库

目前暂时未收集到比较大的骚扰电话数据库,所以没有内置数据库

2.2 支持用户自定义

支持用户自己添加黑名单,比如当你和男朋友闹别捏的时候,你可以临时把他电话号码删了,并添加到黑名单中。开个玩笑啦,都是成年人了,有矛盾就想办法解决,冷战绝不是良策。你看国家和国家之间搞冷战也没什么好果子吃。

三、短信/来电报告

目前所有的短信/电话拦截软件都不可能做到百分百准备地拦截骚扰短信/电话,所以当你碰到漏网之鱼时,你可以选择将它们上报到我的服务器,以帮助我训练出更好的机器学习模型,收录更多的骚扰电话号码。当有足够多的人报告相同的骚扰电话号码时,这个电话号码则会标记为“骚扰电话”,被收录到数据库中,在后续的app版本更新时,更多的用户可以免受其骚扰。请可以放心,你上报的数据,我仅用于训练机器学习模型和收录到骚扰电话数据库,不会用于任何其他非法用途。

Leave a Reply