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/tag/%E8%BD%AF%E4%BB%B6/ 宝塔面板V11.4精简去除vip以及其他推广功能 https://blog.iletter.top/archives/516/ 2025-12-21T22:57:03+08:00 该操作仅适用于宝塔面板 V11.4,其他版本需要自行测试。功能隐藏:关闭不必要的功能设置->常用设置->面板栏隐藏,隐藏如下功能WAF、WP Tools、多用户、邮局、节点管理不想用,隐藏就行了。去除首页的软件推荐功能。一开始我本以为这个是在utils-lib.js里面带着的,后来通过减慢请求查看到是在请求里面带着的。通过搜索关键词get_pay_type发现,是通过getRecommendContent这个请求函数带过来的。所以我们需要在这里设置返还值为空即将getRecommendContent=()=>useAxios.post("ajax/get_pay_type")替换成getRecommendContent=()=>{return []}去除日志部分的 SSH 登录日志删掉如下部分{path:"ssh",name:"ssh",meta:{title:"SSH登录日志"},component:()=>__vitePreload(()=>import("./index57.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},去除 SSL 部分的 自动部署删掉如下部分{path:"auto-deploy",name:"auto-deploy",meta:{title:"自动部署"},component:()=>__vitePreload(()=>import("./index89.js?v=1766131796").then(e=>e.i),__vite__mapDeps([]),import.meta.url)},去除 安全部分的 安全检测和违规词检测删掉如下部分{path:"safe-detect",name:"safe-detect",meta:{title:"安全检测"},component:()=>__vitePreload(()=>import("./index46.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"keyword",name:"keyword",meta:{title:"违规词检测"},component:()=>__vitePreload(()=>import("./index47.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},去除 PHP网站安全 入侵防御 系统加固 扫描感知 部分删掉如下部分,{path:"php-safe",name:"php-safe",meta:{title:"PHP网站安全"},component:()=>__vitePreload(()=>import("./index48.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"intrusion",name:"intrusion",meta:{title:"入侵防御"},component:()=>__vitePreload(()=>import("./index49.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"fixed",name:"fixed",meta:{title:"系统加固"},component:()=>__vitePreload(()=>import("./index50.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"network-scan",name:"network-scan",meta:{title:"扫描感知"},component:()=>__vitePreload(()=>import("./index51.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)}去除网站界面 的漏洞扫描 和 网站安全找到 index74.js漏洞扫描删除如下部分{type:"custom",render:()=>w(P,{onClick:ee},{default:()=>{var e,t;return[S("漏洞扫描"),w("span",{class:"ml-4px py-1px px-4px text-center font-bold ".concat((null==(e=Se.value)?void 0:e.loophole_num)>0?"text-danger":"text-warning")},[null==(t=Se.value)?void 0:t.loophole_num])]}})},网站安全删除如下部分,{type:"custom",render:()=>w(P,{onClick:te},{default:()=>{var e,t;return[S("网站安全"),w("span",{class:"ml-4px py-1px px-4px text-center font-bold ".concat((null==(e=Se.value)?void 0:e.web_scaning_times)>0?"text-danger":"text-warning")},[null==(t=Se.value)?void 0:t.web_scaning_times])]}})}去除 table 表格的右侧的统计和 waf{onClick:e=>{le(e,"monitor-setting")},title:"统计"},{onClick:e=>{le(e,"bt_waf")},title:"WAF"},去除网站安全和防篡改找到 index235.js删除该部分{label:"防篡改",name:"antiTamper",lazy:!0,render:()=>r(()=>import("./index463.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{label:"网站安全",lazy:!0,name:"siteSecurity",render:()=>r(()=>import("./index464.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},Css隐藏:主要路径为/www/server/panel/BTPanel/static/css/style.css 一下更改需要在此文件内进行调整,如需更改其他部分会另作说明去除顶部的企业版tag.icon-end-time-free[data-v-402b09ab]{ 后面添加 display:none;软件商店的推广 banner.recom-view[data-v-81e888c5]{ 后面添加 display:none去除底部的vip推广找到如下路径的/www/server/panel/BTPanel/static/css里面的style.css搜索advantage-view吧这里面的display:flex改成display:none去除网站里面的 waf 图标.svgtofont-left-waf:before{content:""} 替换成 .svgtofont-left-waf:before{dispaly:none;content:""} 去除宝塔界面一些烦人的东西 https://blog.iletter.top/archives/400/ 2025-07-25T13:18:00+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/archives/356/ 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/archives/344/ 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/archives/74/ 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)