手动绕过Owl3D的60秒生成限制

本文主要涉及js reverse方向。放到ctf里面应该属于签到题的难度。

继之前鼓捣好了quest3的v67后,就想给自己整点3D视频看。试了下几个开源的效果都一般。

最后找到了这个Owl3D,效果还不错。但是生成视频的时候有个60秒的限制,这对于我的动作大片来说太短了。

简单观察了一下运行的程序,应该是使用了electron打包的,应用内甚至可以直接打开developer tools。

到应用的安装目录去看了一下,应用的源码也未加密处理,甚至没有打包,直接一个孤零零的index.js放在外面。这对于我这种菜鸡选手来说十分友好。

打开index.js,突然就发现了这么一段代码:

1
(()=>{if(!o||!o.desktopSubscription||(o.desktopSubscription!==yf&&o.desktopSubscription!==vf&&o.desktopSubscription!==bf)){if(o&&o.purchases)for(let e of o.purchases)VQ.includes(e)&&C({hasPurchased:!0,isSubscription:!1,plan:vf});if(o&&o.purchaseTimes)for(let e of o.purchaseTimes)YQ.includes(e.productType)&&C({hasPurchased:!0,isSubscription:!1,plan:yf,startTime:e.updatedAt,freeUpdateExpired:e.freeUpdateExpired,freeUpdateExpiredAt:e.freeUpdateExpiredAt,});}else C({hasPurchased:!0,isSubscription:!0,plan:o.desktopSubscription,});},[o])

瞪眼法知o是用来储存订阅信息的数据。考虑到o是一个常量,直接新建一个变量替换即可。

以下是简单的操作流程:

(已注释)