美文网首页按键精灵
【按键精灵教程】通过谐音字的方式来防止平台屏蔽

【按键精灵教程】通过谐音字的方式来防止平台屏蔽

作者: 3分钟学堂郭立员 | 来源:发表于2019-07-27 10:12 被阅读0次

    这个案例来自于VIP群友的问题,问我能不能把数字自动换成谐音字?看到这个问题我猜测是为了发联系方式,又怕平台检测到,所以用谐音字代替。

    比方说,QQ:453485278 可以写成企鹅:四伍叄泗捌伍七扒

    通过这种谐音字的转换,平台检测不到多位纯数字,减少QQ被检测出来的可能性。

    前期需要准备一套谐音字库,用来替换数字使用。

    接下来说一下原理:

    把连续数字拆分,逐一读取得到单个数字。

    匹配每一个数字对应的谐音库。

    从匹配的谐音库中随机提取一个。

    将所有的谐音字组合在一起,形成一组数字谐音。

    我在编写这个脚本遇到的一些问题,初期群友是想把谐音库放到数字里面。

    这种方式在思路上是可以,但是在编写的时候发现,代表不够简洁需要调用10个数组,加上变量名又不支持 i+数字这种拼接方式。考虑了一下换了另外一种方式,把谐音字库存在表中(二维数组)。

    Dim arr={{"零","澪","玲"},{"一","壹","伊"},{"二","贰","弍"},{"三","叁","彡"},{"四","泗","肆"},{"五","伍","忢"},{"六","陆","溜"},{"七","柒","漆"},{"八","捌","扒"},{"九","玖","氿"}}

    TracePrint arr(0,1)

    TracePrint arr[1][2]

    对于这种二维数组,有两种读取方式,一是数组读取方式就是arr(0,1),二是表的读取方式arr[1][2],两种的区别是数组的第一个内容是从0开始,二是表的第一个内容是从1开始。

    这里我选择数组的表示方式,因为0如果用表的方式表达就是10了,而数组可以用0表示。

    有两个容易犯错的小细节:

    由于数字的个数不确定,用到了len命令,但是数字不支持,需要先转为字符串 cstr(数字)。

    考虑到谐音库未必都是3个字,我在编写的时候先读取一维数组,然后获取数组最大下标来来确定有几个字,然后把字数赋值给随机数命令。

    相关文章

      网友评论

        本文标题:【按键精灵教程】通过谐音字的方式来防止平台屏蔽

        本文链接:https://www.haomeiwen.com/subject/luusrctx.html