Deprecated: Creation of dynamic property Typecho\Widget\Request::$feed is deprecated in /www/wwwroot/blog.iletter.top/var/Widget/Archive.php on line 246
白荼日记 - 软件 https://blog.iletter.top/index.php/tag/%E8%BD%AF%E4%BB%B6/ 去除宝塔界面一些烦人的东西 https://blog.iletter.top/index.php/archives/400.html 2025-07-25T13:18:02+08:00 更新之后越来越难用了,自己懒得配置nginx,mysql,这些环境,开心版的又怕后门,自己改后端的js文件看的脑瓜子疼,反正都是界面,直接js删掉一些dom元素就行了。有需要的可以拿走。// ==UserScript== // @name 宝塔面板优化 - 界面美化 // @namespace http://tampermonkey.net/ // @version 1.3 // @description 移除指定 class 元素、替换特定 span 文字内容,并删除包含“需求反馈”的 span // @match http://152.136.153.72:9999/* // @grant none // ==/UserScript== (function () { 'use strict'; console.log('⚠ 脚本准备加载'); // 定义需要移除的 class 组合 const selectorsToRemove = [ '.h-auto.mt-\\[1\\.2rem\\]', // h-auto mt-[1.2rem] '.svgtofont-desired.\\!mr-4px.\\!text-\\[16px\\]', // svgtofont-desired !mr-4px !text-[16px] '.icon-end-time-free.icon-unpaid-ltd', // icon-end-time-free icon-unpaid-ltd '.el-card.is-always-shadow.is-always-shadow.\\!border-\\[\\#efefef\\]', // el-card is-always-shadow is-always-shadow !border-[#efefef] '.icon-end-time.icon-unpaid-ltd' // icon-end-time icon-unpaid-ltd ]; // 移除指定 class 的元素 const removeElementsByClass = () => { selectorsToRemove.forEach(selector => { document.querySelectorAll(selector).forEach(el => el.remove()); }); }; // 替换指定 span 的文字内容 const replaceSpanText = () => { const spanSelector = 'span.mr-1rem.ml-\\[-1\\.5rem\\]'; document.querySelectorAll(spanSelector).forEach(span => { span.textContent = '精简版'; }); }; // 删除 span/button 包含 指定字符 的 span 元素 const removeSpansWithText = () => { const spans = document.querySelectorAll('span'); spans.forEach(span => { if (span.textContent.trim() == '需求反馈') { span.remove(); } }); const buttons = document.querySelectorAll('button'); buttons.forEach(span => { if (span.textContent.trim() == '立即体验') { span.remove(); } }); }; // 删除指定class 包含置顶字符的元素 const removeClassWithText =()=>{ const parents = document.querySelectorAll('.header-child-tab'); parents.forEach(span => { if ( span.textContent.trim() == '安全检测' || span.textContent.trim() == '违规词检测' || span.textContent.trim() == 'PHP网站安全' || span.textContent.trim() == '入侵防御' || span.textContent.trim() == '系统加固' || span.textContent.trim() == '扫描感知' || span.textContent.trim() == '日志审计' || span.textContent.trim() == 'SSH登录日志' ) { span.remove(); } }); const classparents = document.querySelectorAll('.el-collapse-item'); classparents.forEach(span => { if ( span.textContent.trim().includes('top5') ) { span.remove(); } }); } // 删除包含特定子元素的 el-col 元素 const removeParentIfChildExists = () => { // 获取所有 el-col.el-col-6.wrapper-item 元素 const parents = document.querySelectorAll('.el-col.el-col-6.wrapper-item'); parents.forEach(parent => { // 检查子元素是否包含指定的 class const child = parent.querySelector('.absolute.-left-1\\.5.-top-1'); if (child) { parent.remove(); // 移除父元素 } }); }; // 综合执行函数 const removeElements = () => { removeElementsByClass(); replaceSpanText(); removeSpansWithText(); removeParentIfChildExists(); removeClassWithText(); }; // 等待dom加载完毕后执行综合函数 let timeoutId; const debouncedRemove = () => { clearTimeout(timeoutId); timeoutId = setTimeout(removeElements, 200); }; let runCount = 0; const maxRuns = 5; const observer = new MutationObserver((mutations, obs) => { if (runCount >= maxRuns) { obs.disconnect(); return; } obs.disconnect(); debouncedRemove(); runCount++; obs.observe(document.body, { childList: true, subtree: true }); }); observer.observe(document.body, { childList: true, subtree: true }); // 点击一次执行一次综合函数 let clickTimeout; document.addEventListener('click', () => { clearTimeout(clickTimeout); clickTimeout = setTimeout(removeElements, 200); }); // 初始执行(延迟 1 秒,等待 DOM 加载) setTimeout(() => { removeElements(); }, 1000); })(); 微信hook消息接收 https://blog.iletter.top/index.php/archives/356.html 2025-03-09T23:36:00+08:00 微信hook消息接收微信版本:3.9.12.45账号:两个微信账号,大号用来发消息,小号用来测试工具:微信、CE修改器、x64dbg定位消息地址选择微信进程大号给小号发送消息,扫描类型选择字符串,数值填写消息内容重复之上的步骤,不断重复,直到无法定位的时候(我这里有三个),一个个查看浏览器内存区域找到带着wxid和xml格式的就是内存地址x64dbg断点记录一下当前的微信地址1B6555E11BD,关闭CE修改器,打开x64dbg,附加微信,按住alt+e选择wechatwin.dll点进去,再内存窗口搜索刚才记录的地址设置写入断点此时微信大号给小号发送消息,查看堆栈信息找到有个db的那个(这一步骤是再写入微信数据库之前定位call)选择,右键“在反汇编中转到指定QWORD”跳转之后,先取消上一个断点然后针对跳转的位置,找到上一个call位置,在call处进行断点发送消息,断点到了,查看RDI在地址栏的第一个双击一下这样我们可以得出0x48 是 微信id0x88 是 微信消息的内容计算偏移找到断点位置,复制文件偏移然后打开计算器那个图标,用偏移地址+C00得出结果250AEA7验证结果找到断点位置,复制地址然后按住ALT+E,找到复制wechatwin.dll的基址用计算器两者相减得出结果250AEA7结果是对的,此时编写frida脚本var wechatWin = Module.findBaseAddress("WeChatWin.dll"); if (!wechatWin) { console.error("WeChatWin.dll模块未找到!"); throw new Error("模块未找到"); } var hookAddress = wechatWin.add(0x250AEA7); Interceptor.attach(hookAddress, { onEnter: function (args) { var timestamp = this.context.rdi.add(0x44).readInt(); var wxid = this.context.rdi.add(0x48).readPointer().readUtf16String(); var msg = this.context.rdi.add(0x88).readPointer().readUtf16String(); console.log("[++++] "+ timestamp +" "+ wxid +" : "+msg) } }); console.log("Hook已安装,等待接收消息...");运行脚本发送消息测试 macos卸载系统内置软件 https://blog.iletter.top/index.php/archives/344.html 2024-12-27T10:57:16+08:00 1、关闭系统完整性(SIP)1.1进入recovery的方式有的人使用的vmware虚拟机,在开机时候按键被屏蔽,咋都不管用,网上找找boot.efi启动,也找不到。这里我们可以挂载你安装的iso镜像然后在开机的时候选择“打开电源时进入固件”,然后在里面找到你挂载的光盘也就是带有“cdrm drivcer”这个。在进入安装模式之后找到终端。如果您使用的是黑苹果或者白苹果,可以选择 重启按住Command+R 进入,如果是m系列芯片,长按关机键,进入硬盘选择界面进入。进入系统Recovery模式,然后点击菜单栏,“实用工具 >> 终端”。打开终端执行如下命令:csrutil disable csrutil authenticated-root disable然后手动输入reboot重启2.正常重启系统重启完毕后,可以用status查看是否为disabled,如果都是那就说明是关闭了csrutil status csrutil authenticated-root status3.查找挂载位置使用diskutil list可以找到自己硬盘的所在分区创建挂载目录 mkdir ~/mount3.1虚拟机macos设置挂载硬盘sudo mount -o nobrowse -t apfs /dev/disk1s5 ~/mount进入挂载目录cd ~/mount/System/Applications删除所需要的软件sudo rm -rf 你的软件名称重建系统快照sudo bless --folder /Users/levin/mount/System/Library/CoreServices -bootefi --create-snapshot3.2物理机器macos设置(以mac mini m1为例)挂载硬盘sudo mount -o nobrowse -t apfs /dev/disk3s1 ~/mount进入挂载目录cd mount/System/Applications删除所需要的软件sudo rm -rf 你的软件名称重建系统快照(这里和虚拟机的操作有一点点区别使用的是--setBoot)sudo bless --mount "/Users/mac/mount/System/Library/CoreServices" --setBoot --create-snapshot参考文件:如何删除Mac OS Monterey自带(预装)软件?:https://blog.csdn.net/yzh0911/article/details/127930513关于MacOS升级到Big Sur之后根目录无法挂载问题的解决方案:https://juejin.cn/post/6895635776642482183VMware16Pro中安装的MacOS11.13禁用系统完整性保护(rootless):https://blog.csdn.net/u012332816/article/details/112803018 intel vt-x 处于禁用状态解决办法 https://blog.iletter.top/index.php/archives/74.html 2023-04-01T23:48:00+08:00 title: intel vt-x 处于禁用状态解决办法 - Wonderupdated: 2021-01-26 14:57:19Zcreated: 2021-01-26 14:57:19Zsource: https://www.wonder1999.com/index.php/archives/48.htmltags:windows软件虚拟机 VMware安装系统,提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态这是怎么回事呢?Intel VT-x完整名称是Intel Virtualization Technology,就是Intel虚拟技术,开启它可以让硬件平台同时运行多个操作系统,是虚拟机软件运行必备的技术之一,如果禁用,就会弹出“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”这个提示,解决办法就是进BIOS开启Intel Virtualization Technology。一、操作说明:电脑主板非常多,不同品牌、不同机型BIOS设置都不一样,这边仅列举一部分作例子(联想),1、重启电脑2、按住F12,进入BIOS在界面Main,Devices,Power,Advanced,Security,Startup,Exit,选择Advanced,在选择CPU Setup,Enter 进入 ,选择 Intel (R) Virtualization Technology,设置Disabled为 Enbabled,之后按F10保存,重启即可。注意: 如果你BIOS跟本文介绍的都不同,可以进入BIOS后一个个看看,一般会在Advanced、Security、BIOS Features、Configuration的下面,找到Intel Virtualization Technology按回车键选择Enabled,表示开启。进入BIOS之后选择某个选项按Enter是进入,按Esc是返回,按F10或F4保存。(小提示:联想Y7000 进入bios如果遇到需要输入硬盘密码的话,输入完成后按住回车立刻敲F2,进入bios)