Loading... # 引言 此文章仅用于学习交流,不提供下载服务,如果心怀不轨,还是出门左转慢走不送了。 # 加密策略 1. 开发者工具无法调试(debugger应该有个计时器,没到我的debugger呢他的就执行了。) 2. 相关的js被加密,虽然类似于_0x123456这样的,我把这个项目中的debugger全部换成了console.log("debugger"),也无济于事,即使清缓存刷新,所以这肯定是另一种赋值方式 3. gzinflate函数,这个我没有研究过,网上说的也很多,类似于压缩算法,什么把eval换成echo,可是我这边什么也没有显示。 # 心路历程 不得不说,反盗版的验证做的是真的不戳~我就眼看着发送异步请求,死活不知道在哪儿发送的,代码都有,只不过就是被加密过的,解密闹了半天也没出个所以然,后面的加密更加过分了,直接是乱码。真的是无从下手,尝试过PHP的xDebug,配置环境还挺麻烦的,因为我本地的环境是php7.3,xDebug的版本并不是对应关系,说的是7.3,但是配置完ini,就是看不到info,后来查出来了,也配置上了,phpStorm也是死活监听不到,提示监听端口什么玩意,意思也就是说xdebug是开着的,只是端口设置的不对,netstat也能看出来,配置的端口号没有进程监听,网上说2和3版本配置还不同,试了试也没什么效果,干脆换一种思路,因为这条路走的太久了。最终从JavaScript实现了。 # 过程 1. 先把网给断了,这样的话他会走本地的js,并且验证结果肯定是接收不到的。 2. 突然我就开窍了,因为他引用了jQuery,不会把jQuery加密吧,或者是直接手写XmlHttpRequest,那就搜索本地的jQuery相关的文件,发现是min的,改起来不容易,那就找一个相同版本的发行版。 3. 找到Ajax入口,判断URL地址,然后return 4. 但是这样不是长久之计,所以开网,发现继续走CDN了。 5. 修改对应的页面中jQuery路径,只让这个改过的走本地,其他不管。 6. 成功 # 效果图 ![image.png](https://www.zunmx.top/usr/uploads/2021/05/2733100349.png) # 另辟蹊径 这个没有继续尝试,使用postman模拟请求,发现action=0时是通过的,1的时候是不允许使用的,那么可以使用fiddler模拟应答,这样的话就是麻烦了点,但是可以通过Hosts重定向,自己写一个接口也是可以的。 # Tips 授权失败的数据库会修改,然后首页也会变。修改数据库中typecho_options表,里面的views改为0即可。 如果debugger在生成的html之前,是可以使用的。或者調整順序也可以。 # 意图 我的意图就是,如果哪一天我的服务器挂掉了,或者是不想线上使用了,里面的内容可以在本地归档,或者局域网内使用,所以这样的授权就有点麻烦了。。。emm,在这里先向原作者致敬,很优秀。。 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏