抄袭https://scriptcat.org/zh-CN/script-show-page/2827
脚本抄袭比对证据(1.js vs 2.js)
一、比对对象
- 原作者脚本:
1.js
- 被质疑脚本:
2.js
- 文件规模:
1.js:约 10599 行
2.js:约 10675 行
二、量化比对结果(自动统计)
- 非空唯一行重合:
2448 行
- 占
1.js 唯一行约 38.64%
- 占
2.js 唯一行约 45.76%
- 连续 3 行指纹重合:
3229 组(约 33%~36%)
- 连续 5 行指纹重合:
3078 组(约 30%)
- 可调用函数/方法名重合:
87 个
说明:已排除大量公共依赖/编译产物(如 rxjs、字体解析库、转译辅助函数)造成的自然重合干扰。以下证据重点选择业务逻辑区域。
三、高价值业务逻辑重合证据(可用于举报)
证据 1:作业状态判断语句完全一致
共同代码:
if (iframeDocument.documentElement.innerText.includes("已完成") || iframeDocument.documentElement.innerText.includes("待批阅")) {
证据 2:任务点图标定位语句完全一致
共同代码:
const ansJobIcon = (_b = iframe.parentElement) == null ? void 0 : _b.querySelector(".ans-job-icon");
证据 3:innerbook 分支判断结构一致
共同代码:
} else if (["innerbook"].some((type) => iframeSrc.includes("modules/" + type))) {
证据 4:下一章节点击逻辑一致
共同代码:
document.querySelector(".jb_btn.jb_btn_92.fr.fs14.nextChapter").click();
证据 5:题型文本解析逻辑一致
共同代码:
questionTypeText = this.removeHtml(colorShallowElement).slice(1, 4) || "";
证据 6:媒体节点获取语句一致
共同代码:
const mediaElement = iframeDocument.documentElement.querySelector(mediaType);
证据 7:字体解密选择器一致
共同代码:
const elements = iframeDocument.querySelectorAll(".font-cxsecret");
证据 8:任务处理主函数签名一致
共同代码:
const processWork = async (iframe, iframeDocument, iframeWindow) => {
证据 9:媒体处理函数签名一致
共同代码:
const processMedia = async (mediaType, iframeDocument, iframe) => {
证据 10:iframe 收集逻辑一致
共同代码:
return Array.from(element.querySelectorAll("iframe"));
证据 11:答题分支逻辑一致(单/多选)
共同代码:
if (question.type === "0" || question.type === "1") {
证据 12:视频/音频任务分发逻辑一致
1.js:9837-9840
2.js:9633-9636
共同代码:
if (iframeSrc.includes("video")) {
return processMedia("video", iframeDocument, iframe);
} else if (iframeSrc.includes("audio")) {
return processMedia("audio", iframeDocument, iframe);
}
四、结构级证据(连续代码块)
- 发现多处连续 3 行完全相同业务代码块,典型块位置:
1.js:9835 对应 2.js:9631
1.js:9746 对应 2.js:9476
1.js:9550 对应 2.js:8374
1.js:9822 对应 2.js:9610
- 连续代码块复用比单行重复更能体现“同源改写”。
五、结论(技术判断)
2.js 与 1.js 并非简单“功能类似”,而是存在大量业务实现层面的同句、同分支、同函数骨架重合。
- 同时
2.js 对部分命名、UI、配置项做了二次改造,呈现“在原实现基础上改壳和再包装”的特征。
- 综合量化指标与证据片段,判断为:高概率同源改写,具有明显抄袭嫌疑。
六、可直接提交的举报说明(模板)
可复制以下内容到平台举报:
我是脚本 1.js 的原作者。经对比,2.js 与我的脚本存在大量非公共库层面的业务逻辑重合,包括但不限于作业状态判断、任务点识别、媒体处理分发、题型解析、iframe 递归处理等核心流程。
自动比对显示:唯一行重合 2448 行(约占对方唯一行 45.76%),连续 5 行指纹重合 3078 组。
关键证据示例:
1) if (iframeDocument.documentElement.innerText.includes("已完成") || iframeDocument.documentElement.innerText.includes("待批阅"))(1.js:9581 / 2.js:9543)
2) const ansJobIcon = (_b = iframe.parentElement) == null ? void 0 : _b.querySelector(".ans-job-icon");(1.js:9835 / 2.js:9631)
3) } else if (["innerbook"].some((type) => iframeSrc.includes("modules/" + type))) {(1.js:9845 / 2.js:9639)
4) document.querySelector(".jb_btn.jb_btn_92.fr.fs14.nextChapter").click();(1.js:9654 / 2.js:8437)
这些均属于业务实现细节而非通用依赖代码,已达到明显同源改写特征。请平台协助核验并处理。