起因
看直播的时候发现一个有趣的插件,在英雄联盟对局开始时,发送双方战力评价,高手被称作上等马,战力差的被称为下等马。十分有趣,一番搜索之下,我找到了这个插件程序。
免费软件?
这是一个用易语言写的程序,免安装(划重点),只需要解压之后用管理员权限运行。
好奇心驱使之下便运行了程序。长这个样子
使用也很容易,注册账号之后直接登录即可。功能也和在直播中看到的一样,十分有趣。 不过我才玩了一会,就弹出来这个提示
好家伙,明目张胆的要钱是吧。 虽然门票不贵,但本着能白嫖的不付费原则,便有了下文。
拙劣的账号系统
仔细一想,注册账号的时候不需要验证手机和邮箱,没有什么成本,那么再建一个账号,不就又可以继续用了吗?接着便尝试重新建号。 很显然,作者也想到了这一点,再次注册时提示,不可短时间内再次注册。
这怎么能善罢甘休,我决定卸载重装,再试一次。 突然想起来这软件免安装,也就是说要想卸载,就只能手动删除文件。 这也意味着,无法借助uninstall等软件将其彻底删除,会残留大量的数据信息。 果不其然,卸载重装解决不了任何问题。
注册表?
继续猜测,如果通过把ip/mac地址+注册时间等信息传给后台进行限制注册处理的话,会不会太麻烦了?对于如此简易的程序和注册方式,作者会不会偷懒把注册时间记录在了本地呢?也就是说,通过读取本机时间来限制注册呢? 手头的台式机上没有装wireshark,也就没去验证是否是后台限制处理。 索性直接开干,找找程序在我电脑里写入了什么东西。 反复确认此程序没有在其他目录生成文件后,断定问题一定是在注册表中。 一般我们卸载软件时,残留的注册表卸载不干净,都要使用一些强力软件进行辅助。但这是免安装软件。。。。 那,只能,手动删注册表了。 免安装软件,控制面板上根本找不到一点信息,如何去找关联的注册表呢? 上万条记录总不能一条一条去查吧? 一时间陷入困境,直到我找到了process monitor
是微软提供的进程监控软件,gui酷似wireshark,故上手极快。 摸索几分钟后开始"抓包",只不过这次抓的不是数据包,而是程序在某个时间干了什么。 不了解易语言的特性,但是我发现这个程序每次运行时的程序名都不同,是动态生成的字符串。不过问题不大,用filter过滤一次,便清晰的看到了它的行动轨迹。
白嫖成功
有了强力的程序监控,我便轻而易举的找到了它的注册表信息,而在繁杂的信息当中,一条中文记录格外扎眼。
这个时间,不就是可再次注册的时间吗? 验证猜想,把时间改成当前时间,然后再次注册,果不其然,注册成功!
接着就可以白嫖免费时长了。。。
题外话
据作者写道,他的所有插件功能全部基于riot提供的公开api,让人十分感兴趣。去年我有用过拳头的一个api获取大乱斗局内免费皮肤,不过爽了两天就被tx封掉了。不知道有没有逆向反编译这个说法,好想去看看作者引用的api源码,如果github上有相关的api项目,务必告诉我一下!!!