Chr_小屋 - 记录
type: channel
link: https://blog.chrxw.com/tag/记录
items: 【油猴脚本教程】P2 初识油猴脚本 & 油猴脚本的基本构成
items: 【油猴脚本教程】 P0 开发环境配置
items: 小黑盒逆向分析笔记（五）【未完成】
items: VS Code Arduino开发环境配置
items: Handsome 7.X 修改记录
items: 【过期】618京东金币任务自动脚本【2.3】
items: Handsome主题修改记录 - 适用于6.0
items: Handsome主题修改记录 - 适用于5.3.1

【油猴脚本教程】P2 初识油猴脚本 & 油猴脚本的基本构成
type: item
date: 2022-08-17T00:00:00+08:00
description: P2 初识油猴脚本 教程索引 视频链接 光讲JS感觉不是特别直观，用两个不涉及网络请求的脚本进行讲解 第一个脚本 - Remove Live.js 脚本链接： https://github.com/chr233/GM_Scripts/blob/master/Bilibili/Remove_Live.js 脚本功能： 提供一个开关，用于移除直播播放器，并且带有记忆功能 源码： // ==UserScript== // @name Remove_Live // @name:zh-CN 去除B站直播间播放器 // @namespace https://blog.chrxw.com // @version 1.1 // @description 去除B站多余的直播播放器（滑稽） // @author Chr_ // @include https://live.bilibili.com/* // @license AGPL-3.0 // @icon https://blog.chrxw.com/favicon.ico // ==/UserScript== (() => { "use strict"; //去除播放器的开关 let VEnable = localStorage.getItem("VEnable") === "true"; if (VEnable) { setTimeout(() => { document.getElementById("live-player").remove(); }, 3000); } let btnArea = document.querySelector(".right-ctnr"); let btn = document.createElement("button"); btn.textContent = VEnable ? "恢复播放器" : "移除播放器"; btn.addEventListener("click", () => { VEnable = !VEnable; localStorage.setItem("VEnable", VEnable); btn.textContent = VEnable ? "恢复播放器" : "移除播放器"; if (VEnable) { document.getElementById("live-player").remove(); } else { location.reload(); } }); btnArea.insertBefore(btn, btnArea.children[0]); })(); 第二个脚本 - SteamDB CN.js 脚本链接： https://github.com/chr233/GM_Scripts/blob/master/SteamDB/SteamDB_CN.js 脚本功能： 汉化SteamDB 源码： // ==UserScript== // @name:zh-CN SteamDB汉化 // @name SteamDB_CN // @namespace https://blog.chrxw.com // @supportURL https://blog.chrxw.com/scripts.html // @contributionURL https://afdian.net/@chr233 // @version 1.32 // @description SteamDB汉化插件 // @description:zh-cn SteamDB汉化插件 // @author Chr_ // @match https://steamdb.info/* // @license AGPL-3.0 // @icon https://blog.chrxw.com/favicon.ico // @resource data https://cf.chrxw.com/SteamDB/SteamDB_CN.json // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_registerMenuCommand // ==/UserScript== (() => { "use strict"; //是否打开调试模式（使用自定义汉化规则而不是在线规则） const DEBUG = localStorage["dbg_mode"] == "开"; //是否在控制台输出未汉化文本 const OUTPUT = localStorage["out_word"] == "开"; GM_registerMenuCommand(`调试汉化文本: 【${DEBUG ? "开" : "关…

【油猴脚本教程】 P0 开发环境配置
type: item
date: 2022-08-01T00:28:00+08:00
description: P0 开发环境配置 教程索引 视频链接 下载工具 VSCode : https://code.visualstudio.com/#alt-downloads Git：https://git-scm.com/download/win 安装 一路下一步，推荐勾选“添加右键菜单” 推荐把Git默认编辑器改成Vscode VSCode配置 插件安装 Chinese —— 简体中文语言包 EsLint —— JS语法检查 GitLens —— 源代码管理工具（可选） 左边栏菜单 Git简介与使用 工作流程 修改文件 -> 暂存 -> 提交 配置用户名和邮箱 暂存 提交 查看提交记录和文件历史 配置远程仓库 直接通过账号密码连接到GitHUB 生成SSH密钥对，手动添加远程仓库 GreasyFork的使用 编写你的脚本 添加必要的元信息 发布你编写的脚本 使用WebHook自动更新 为远程代码仓库配置 Greasy Fork 的 WebHook 为指定脚本配置仓库中脚本的文件路径 （Raw链接） 这个时候GreasyFork中的脚本就会跟远程仓库保持同步

小黑盒逆向分析笔记（五）【未完成】
type: item
date: 2021-11-19T13:28:00+08:00
description: 前言 本文仅供学习探讨之用，如果侵犯您的权益请联系我删除。 上文 [post cid="714"/] [post cid="1347"/] [post cid="1365"/] [post cid="1383"/] 前情提要 距离上一篇文章已经过去一年多了，前两天心血来潮找了最新版本研究了一下，熬了两天夜也没整明白，不打算继续研究下去了，做个笔记记录下分析过程。 @> 本文适用于小黑盒 1.3.191，小黑盒历史版本参考我的仓库 @> 全文评论后可见

VS Code Arduino开发环境配置
type: item
date: 2021-04-25T15:48:00+08:00
description: 前言 最近在学习单片机开发，用的是ESP 8266这块芯片，Arduino IDE实在是用不习惯，研究了下怎么配置VS Code，简单的做个记录。 插件安装 在扩展商店里搜索arduino，然后安装微软开发的那个插件即可 Arduino 插件配置 手动添加这两行即可： "arduino.additionalUrls": "附加开发版管理器的网址", "arduino.path": "C:\\Program Files (x86)\\Arduino" arduino.additionalUrls 对应ArduinoIDE里的设置项（如图） arduino.path 即Arduino IDE的安装路径 i> 插件配置以后需要重启VS Code才会生效 Arduino Cli 安装 从 Arduino-Cli Releases 下载对应操作系统的版本，然后丢进Arduino IDE安装目录，最后在VS Code的插件设置里勾选Use Arduino Cli 终端乱码解决方法 安装最新版本的Arduino IDE后终端显示会不正常，原因是中文环境下终端默认的代码页为936，只能显示GBK编码的文本，而最新版本的Arduino IDE输出的文本编码是UTF-8，对应编码页是65001，Arduino插件中包含代码页的判定，但是好像忘记设置代码页了，作用存疑，稍微修改一下即可。 涉及到的文件位置为%HOMEPATH%\.vscode\extensions\vsciot-vscode.vscode-arduino-0.4.0\out\src\common\util.js !> 插件版本不同文件夹后缀名称也会不同，自行修改即可 在第207行左右，把const chcp = child_process.execSync("chcp.com");改成const chcp = child_process.execSync(chcp.com ${codepage});即可 重启VS Code生效。 顺手提交了一个PR，不知道会不会采纳。

Handsome 7.X 修改记录
type: item
date: 2020-07-25T19:19:00+08:00
description: 前言 Handsome主题又更新了，改动挺大的，还好之前有记录，摸索着又加了个性化内容。 handsome 6.0 的修改记录参见： [post cid="814"/] !> 修改前务必先备份 超链接特效 修改/usr/themes/handsome/assets/css/handsome.min.css，删除这两节： .comment-content-true a:hover,.wrapper-lg .entry-content a:hover{ color:#222;border-bottom-color:#222 } .comment-content-true a,.wrapper-lg .entry-content a{ color:#58666e;border-bottom-color:#222;border-bottom:1px solid #999;word-wrap:break-word;word-break:break-all } 自定义CSS： /*超链接特效*/ .comment-content-true a:not(.light-link):not(.post_inser_a),.wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a){position:relative;margin:auto 4px;color:#23b7e5;-webkit-transition:color .3s;transition:color .3s;-webkit-perspective:600px;perspective:600px;-webkit-perspective-origin:50% 100%;perspective-origin:50% 100%;word-wrap:break-word;word-break:break-all;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit;width:inherit} .comment-content-true a:not(.light-link):not(.post_inser_a):focus,.comment-content-true a:not(.light-link):not(.post_inser_a):hover,.wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a):focus,.wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a):hover{color:#fff} .comment-content-true a:not(.light-link):not(.post_inser_a)::after,.comment-content-true a:not(.light-link):not(.post_inser_a)::before,.wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a)::after,.wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a)::before{position:absolute;top:0;left:-4px;z-index:-1;box-sizing:content-box;padding:0 4px;width:100%;height:100%;content:''} .comment-content-true a:not(.light-link):not(.post_inser_a)::before,.wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a)::before{background-color:#23b7e5;-webkit-transition:-webkit-transform .2s;transition:transform .2s;-webkit-transition-timing-function:cubic-bezier(.7,0,.3,1);transition-timing-function:cubic-bezier(.7,0,.3,1);-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-web…

【过期】618京东金币任务自动脚本【2.3】
type: item
date: 2020-05-21T09:20:00+08:00
description: x> 本脚本已过期，仅作存档 前言 本脚本仅供学习交流之用，使用者如何使用与本文作者无关。 AutoJS下载 & 教程 [post cid="1235" /] 脚本【控件定位版】 脚本 //遇到问题请在https://chrxw.com留言 //Ver:2.3 By Chr_(chr@chrxw.com) //增强模式，支持自动加购任务，如果不需要请把true改成false var adv_mode = true; auto.waitFor(); toast('\n脚本开始运行\n请切换到任务页'); className("android.view.View").text("做任务领金币").waitFor(); if (!className("android.view.View").textContains("任务每日0点刷新").exists()) { className("android.view.View").text("做任务领金币").findOne().parent().click(); } toast("\n即将开始工作\n中途需退出请按【音量+】终止"); sleep(2000); var i = 0; for (;;) { var btn = text("去完成").findOnce(i); if (btn != null) { var task = btn.parent().parent().parent(); var txt = task.child(0).child(1).text(); if (txt.search("8秒") != -1) { btn.click(); view(); i = 0; } else if (txt.search("88") != -1) { btn.click(); view(); i = 0; } else if (txt.search("浏览可得") != -1) { btn.click(); view2(); i = 0; } else if (adv_mode & txt.search("5个") != -1) { btn.click(); advview(); i = 0; } else { i++; } } else { toast("\n脚本运行完毕\n模拟浏览任务全部完成（大概）"); exit(); } } //随机延时 function rsleep(s) { while (s--) { sleep(random(900, 1200)); } } //模拟返回 function advback() { for (var i = 0; i < 3; i++) { if (!className("android.widget.ImageView").desc("返回").exists()) { rslideR(1); rsleep(2); continue; } className("android.widget.ImageView").desc("返回").click(); rsleep(3); if (className("android.view.View").textContains("做任务领金币").exists()) { return; } } toast("定位不到返回按钮，模拟返回键"); back(); } //随机划屏 function rslide(i) { while (i--) { var x1 = random(200, 900); var y1 = random(1200, 1900); var x2 = random(200, 900); var y2 = random(1000, 1200); swipe(x1, y1, x2, y2, 300); rsleep(1); } } //随机划屏，反向 function rslideR(i) { while (i--) { var x1 = random(200, 900); var y1 = random(900, 1300); var x2 = random(200, 900); var y2 = random(1500, 1900); swipe(x1, y1, x2, y2, 300); rsleep(1); } } //模拟浏览（浏览会场任务） function view() { rsleep(3); rslide(10); className("android.view.View").textStartsWith("恭喜完成").findOne(5000); rslideR(1); rsleep(3); advback(); } //模拟浏览（浏览会场任务） …

Handsome主题修改记录 - 适用于6.0
type: item
date: 2019-12-07T15:52:00+08:00
description: 前言 记录一下本博客针对Handsome 6.0主题的修改 handsome 7.X 的修改记录参见： [post cid="1315"/] !> 修改前务必备份 博客图标修改 feathericon图标修改方法：搜索data-feather，把后面的值改掉即可 顶部图标： 文件路径：/usr/themes/handsome/component/headnav.php 图标(从左往右)：music，message-square，log-in 右栏图标： 文件路径：/usr/themes/handsome/component/sidebar.php 我使用的图标： 图标1(从左往右)：thumbs-up，message-square，coffee 图标2(从上往下)：archive，message-square，calendar，activity 右侧悬浮按钮： 文件路径：/usr/themes/handsome/component/sidebar.php，/usr/themes/handsome/component/footer.php 图标(从上往下)：list，arrow-up 原图标改成feathericon以后会有轻微的位移，所以在自定义CSS里修正： /*右侧悬浮按钮*/ .pos-abt svg { margin-top: 2px; } 超链接特效 (与5.3.1相同) 修改/usr/themes/handsome/assets/css/handsome.min.css，删掉下面的内容： .comment-content-true a:hover,.wrapper-lg .entry-content a:hover{ color:#222;border-bottom-color:#222 } .comment-content-true a,.wrapper-lg .entry-content a{ color:#58666e;border-bottom-color:#222;border-bottom:1px solid #999;word-wrap:break-word;word-break:break-all } 自定义CSS： /*超链接特效*/ .comment-content-true a:not(.light-link):not(.post_inser_a), .wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a) { position: relative; margin: auto 4px; color: #23b7e5; -webkit-transition: color 0.3s; transition: color 0.3s; -webkit-perspective: 600px; perspective: 600px; -webkit-perspective-origin: 50% 100%; perspective-origin: 50% 100%; word-wrap: break-word; word-break: break-all; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: inherit; width: inherit; } .comment-content-true a:not(.light-link):not(.post_inser_a):hover, .comment-content-true a:not(.light-link):not(.post_inser_a):focus, .wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a):hover, .wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a):focus { color: #fff; } .comment-content-true a:not(.light-link):not(.post_inser_a)::before, .comment-content-true a:not(.light-link):not(.post_inser_a)::after, .wrapper-lg .entry-content a:not(.light-link):not(.post_inser_a)::before, .wrapper-lg .entry-content a:not(.light-link…

Handsome主题修改记录 - 适用于5.3.1
type: item
date: 2019-10-14T23:30:00+08:00
description: 前言 Handsome主题现已更新至7.1，本文章仅作存档之用。 handsome 7.X 修改记录请前往： [post cid="1315"/] handsome 6.0 修改记录请前往： [post cid="814"/] 原文： 使用Handsome主题一年了，主题从5.1升级到5.3.1了，最近刚好迁移了网站，也顺带着把整个博客做了一些改动，写这篇主要方便我升级主题的时候还能保留DIY的特性。 超链接特效 修改/usr/themes/handsome/assets/css/handsome.min.css，删掉下面的内容： comment-content-true a:hover,.wrapper-lg .entry-content a:hover{ color:#222;border-bottom-color:#222 } .comment-content-true a,.wrapper-lg .entry-content a{ color:#58666e;border-bottom-color:#222;border-bottom:1px solid #999;word-wrap:break-word;word-break:break-all } 自定义CSS： /*超链接特效*/ .comment-content-true a:not(.light-link), .wrapper-lg .entry-content a:not(.light-link) { position: relative; margin: auto 4px; color: #23b7e5; -webkit-transition: color 0.3s; transition: color 0.3s; -webkit-perspective: 600px; perspective: 600px; -webkit-perspective-origin: 50% 100%; perspective-origin: 50% 100%; word-wrap: break-word; word-break: break-all; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: inherit; width: inherit; } .comment-content-true a:not(.light-link):hover, .comment-content-true a:not(.light-link):focus, .wrapper-lg .entry-content a:not(.light-link):hover, .wrapper-lg .entry-content a:not(.light-link):focus { color: #fff; } .comment-content-true a:not(.light-link)::before, .comment-content-true a:not(.light-link)::after, .wrapper-lg .entry-content a:not(.light-link)::before, .wrapper-lg .entry-content a:not(.light-link)::after { position: absolute; top: 0; left: -4px; z-index: -1; box-sizing: content-box; padding: 0 4px; width: 100%; height: 100%; content: ''; } .comment-content-true a:not(.light-link)::before, .wrapper-lg .entry-content a:not(.light-link)::before { background-color: #23b7e5; -webkit-transition: -webkit-transform 0.2s; transition: transform 0.2s; -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); -webkit-transform: rotateX(90deg); transform: rotateX(90deg); -webkit-transform-origin: …