基于Trojan-Qt5的工具使用
这是以前写的笔记,现在已经不用 Trojan-Qt5 了,目前是在路由器刷了 openwrt 进行代理,不过这个也许对一些人可能会有帮助
导入代理配置 运行程序后,页面中间主体显示是空白的,首先需要导入配置信息,该配置是从服务提供商处获取到的
检测以及连接 导入配置后,需要检测导入的配置是否都是正常的,在程序主面板中右键菜单选择 “测试所有连接的延迟”
然后根据响应的时间快慢,选中一个耗时较少的记录,右键菜单中选择 “连接”(该记录没有连接的时候,“连接” 菜单是黑色可操作的)
由于防火墙是动态检测的,可能导致节点可能随时会被 block 掉,有需要的话可以重新检测下,换一个可用的节点进行连接
配置站点访问 程序中已经通过 gfwlist 配置了大部分被 block 的站点,详细记录在 proxy.pac 文件 …
基于python生成音乐的onset节拍信息
音乐文件的节拍信息,在一些视频剪辑中非常流行,在剪映中可以通过下面 “踩节拍” 的方式进行一键操作
如果希望使用自动化进行处理,可以通过代码的方式进行封装处理,python 中提供了成熟的 librosa 代码库
安装 python 的依赖库
python -m pip install librosa 编写代码,核心的代码就是下面这一段,onset_detect 检测,其中 units 是指定检测的单位,默认为帧,time 表示指定时间
import librosa y, sr = librosa.load('audio/music.wav') onsets = librosa.onset.onset_detect(y=y, sr=sr, units='time') …
路由器刷机ImmortalWrt的使用
存在问题 基于国内的现状,在路由器上进行刷机,使用 openwrt 的 ImmortalWrt 分支,路由器刷机参考 这里
在路由器中进行代理后,比原来的 pc 端启动客户端进行代理的方式相比有很大的优势,但是依旧存在很多的问题
1、页面上没有找到对 ssr 进行 stop 的按钮,只能终端登录命令进行 stop,即便页面可以 stop,每次登录很麻烦,这里 进行了优化
2、ip 地址库的更新问题,导致访问部分站点的时候,本地公网地址一会变国内,一会变国外,这同样带来了很多问题
3、访问控制这里的设置似乎成了摆设的,设置后并没有生效,软件的bug?还是和上面的 ip 地址是同一类问题?
配置ssr 在路由器安装 ImmortalWrt 后,通过 web 页面登录路由器,默认安装了多款代理软件,可以选择使用熟悉的 …
本地怎么使用unity官网的资源
资源已经购买添加到个人的名下,在我的资源中点击 “在Unity中打开” 无法启动 unity hub 打开项目
浏览器中输入 “unityhub://” 可以正常唤起 Unity Hub ,点击 “在Unity中打开” 在网络请求中提示错误如下
显示为请求了一个 com.unity3d.kharma:content/195698 地址,然后出现 “(已取消)” 的状态
com.unity3d.kharma:// 似乎是一个 Unity 旧的资源商店 (Asset Store) 协议 ,新的协议应该是 unityhub://
将请求修改为 unityhub://content/195698,然后直接在浏览器中打开,弹出 Unity Hub 后,显示一个错误如下,似乎编辑器版本的问题?
估计是待打开项目的编辑器版本 …
nginx部署goaccess监控
前言 要在 nginx 中增加 流量访问的统计功能,可以通过以下几种方式实现:
1、通过分析 nignx 的日志
2、使用 ningx 的模块,如 ngx_http_stub_status_module 以及第三方的 nginx 组件
3、使用第三方监控,如Grafana + Prometheus、ELK Stack、Zabbix 等
其中组件 ngx_http_stub_status_module 提供的监控信息比较基础,如果需要更详细的监控需要引入其他的组件,在部署上相对麻烦
第三方的监控方式,是比较成熟的商业解决方案,但是部署上比较麻烦,通常用于企业部署,个人部署倾向使用 goaccess 来分析 nginx 日志进行监控
部署 goaccess 是轻量级的开源解决方案, …
软件反调试(9)- 基于文件完整性的检测
前言 在前面的文章中,提到了一些基本的反调手段,事实上大部分的手段都作用不大,因为太容易被绕过了,只是从理论角度进行反调的学习
这里稍微升级一下,从基于文件完整性的角度进行反调试的学习,在这之前,补漏说明一下基于时间的反调
基于时间的反调理论也很简单,就是在关键代码前记录一下时间戳,接着在关键代码后记录一下时间戳,然后计算运行关键代码的时间差
通常来说,在没有被调试的情况下,运行关键代码的耗时不会太久(假定 100ms 内肯定能运行完毕),如果关键代码被调试了,那么这个时间差就会变大超过 100ms
实际反调的时候,对应的伪代码类似如下
ULONGLONG start = GetTickCount64(); //significant code ULONGLONG end = GetTickCount64(); …
软件反调试(8)- 基于SEH异常的检测
反调原理 异常处理 SEH(Structured Exception Handling)是 windows 提供的一种结构化异常处理机制,用于捕捉并处理运行时异常(如除以零、访问无效内存等)
基本结构如下
__try { // 可能抛出异常的代码 } __except(EXCEPTION_EXECUTE_HANDLER) { // 异常处理代码 } 目标程序在被调试时,程序触发的异常会被调试器优先处理,而不是程序的 SEH 来处理
调试器先收到 “first-chance exception” 通知,如果调试器选择不处理,异常将会传递给程序的 SEH 来进行处理
如果 SEH 也不处理该异常,调试器将会再次收到 “second-chance exception” …
软件反调试(7)- 基于NtSetInformationThread设置线程信息
反调原理 NtSetInformationThread 和 ZwSetInformationThread 是本质相同的函数,Nt 位于 ntdll.dll 模块,在用户模式下供应用程序调用
Zw 位于内核模式中,供驱动/内核模块使用,它们的调用关系如下
NtSetInformationThread -> syscall -> 内核 -> ZwSetInformationThread(或统一的内核服务处理函数)
通过 NtSetInformationThread 设置线程的某些属性,可以对调试器的行为造成干扰,最常见的反调试用途是 隐藏线程
函数原型如下
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetInformationThread( [in] …
hugo博客优化PasteImage以及其他
前言 之前的博客是使用 halo 进行搭建的,前段时间迁移到了 hugo 构建,在 halo 中文章的图片是保存到自建的 easyimage 图床上的
在迁移到 hugo 后,图片不再需要保存到图床上,直接保存在 md 文件的当前目录下即可,基于 hugo 的配置,完整路径为 /archives/xxx/phndmy.png 这种格式
其中 xxx 为当前 md 文件的目录,phndmy 为图片的随机名称,在 vscode 中本身也支持 ctrl + v 粘贴剪切板中的图片,但并不支持这种自定义路径和随机文件名
PasteImage插件 vscode 插件市场里面有很多同类插件,其中安装量最大的是下面这款,从最后 commit 的时间来看,已经是 6 年前的了
查看该插件的配置说明,也并不支持这种自定义路径和随 …
软件反调试(6)- 基于NtQueryInformationProcess的检测
反调原理 NtQueryInformationProcess 是一个未公开的函数,函数原型如下,关于函数的更多信息可以参考官方的文档 MSDN
__kernel_entry NTSTATUS NtQueryInformationProcess( [in] HANDLE ProcessHandle, [in] PROCESSINFOCLASS ProcessInformationClass, [out] PVOID ProcessInformation, [in] ULONG ProcessInformationLength, [out, optional] PULONG ReturnLength ); 使用 ProcessInformationClass 字段赋予不同值的方式来进行检测
0x00 检测PEB结构 …
软件反调试(5)- 基于注册表实时调试器检测
反调原理 当程序发生异常崩溃的时候,如果设置了系统的调试器,那么就会启动调试器来调试该异常
这个信息是记录在注册表中的,win32 和 win64 版本分别是两个不同的路径,Debugger 表示调试器路径,Auto 为 1 表示启用自动附加调试
//32 位调试器的注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug //64 位调试器的注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug 在调试器中也可以进行设置,设置后将会覆写注册表这里的配置项,在程序发生异常时将会启动新设置的调试 …
基于悬浮球快速启停ssr进程
前言 路由器安装了 openwrt 并启用了 ssr 实现了分流,但是由于插件或者 ip 库存在一些问题,导致部分流量并没有按预期的走,这引发了很多不必要的麻烦
插件的代码逻辑,短时间内也没精力去研究怎么优化,只能暂时通过手动 start、stop 规避,而且在路由器的 web 管理页面,发现只能开启而不能停止
然后为了停止插件,还必须得登录路由器的终端,手动去运行命令实现停止,即便在 web 页面上可以 stop,每次登录 web 去停止是一件极其麻烦的事
因此,编写了一个小工具实现手动 start/stop 路由器的 ssr 插件,在 windows 本地运行一个悬浮小球,类型于 360 加速小球这种
在路由器运行一个 lua 脚本,提供一个启停 ssr 的接口,本地悬浮小球实时显示路由器 ssr 插件的运 …
clawcloud测评
前言 最近准备入手一台海外的 vps,在网上了解了一下,一些人在推 claw cloud 的机器,总体评测还不错
考虑到国内的延时,然后就入手了一台香港的 claw vps,使用官方的优惠码,2C4G 的机器年付花了 48 刀,人民币 346,汇率 7.22
结果给踩坑里去了,延时实在是太高了,考虑退款的,还得扣 10% 的手续费,什么事都没干就抽 10%,先留着吧,后面再看怎么利用起来
itdog ping测试如下,全部是橙黄色的,延时都在 300 以上,这是在早上低峰期 ping 的,网上高峰期 ping 的话接近 500
使用 opentrace 测试节点线路,发现是绕美国去了,然后再打道回日本,最后到达香港
延时都不是最大的问题,最大的问题是掉包严重,部分地区访问掉包率超过了 10%,网上高峰期掉包更加 …
加速访问基于hugo部署的静态博客站点
前言 前几天使用 hugo 构建了博客,并部署到了 github pages 上,然后通过托管在 cloudflare 上的域名进行访问
在魔法加持的情况下,表现没有任何异常,但是关闭魔法后,访问域名就出现间歇性抽风,通过 itdog 测试 ping 延时的部分情况如下
国内大部分地区访问均出现严重丢包的情况,一些地区的 dns 解析直接被污染了(如下面的甘肃兰州)
对于移动线路的访问,情况就更加严重了,请求全部都是失败的,看起来 github pages 在移动线路是被完全 block 掉了
迁移cloudflare 基于国内环境对 github 访问的严重破坏,考虑迁移到 cloudflare 的 pages 上来(当然 cloudflare 的默认访问也是被严重破坏的,迁移后再进一步优化) …
Securecrt丢失tab以及终端重新配色
今天在使用 Securecrt 的时候,发现 Securecrt 的 tab 标签消失不见了,仔细回想起来,应该是上一次误按了 alt + enter 最大化,然后导致配置丢失的问题
还有表现就是菜单中的 Session Tabs 无论勾选还是不勾选都没有任何变化,以及 Full Screen 菜单当时是灰色不可操作的(之前没截图)
问了 gpt 以及网上搜了一遍,Securecrt 的配置也仔细看了一遍,没有找到有效的解决方案
只好尝试将配置文件 C:\Users\Administrator\AppData\Roaming\VanDyke\Config\Global.ini 重命名 backup 起来,然后重启 Securecrt 进行配置初始化
这时候 tab 显示恢复正常了,但是所有 Session 的配 …