Cloud Album
面向海外用户的私有云相册,围绕备份、整理和订阅体验持续打磨。
从真实产品研发出发,记录 iOS 客户端、MinIO 存储、海外支付与增长实验的完整过程。
产品
把技术文章沉淀成产品能力,也把产品研发过程继续写成文章。
面向海外用户的私有云相册,围绕备份、整理和订阅体验持续打磨。
从真实产品研发出发,记录 iOS 客户端、MinIO 存储、海外支付与增长实验的完整过程。
技术博客
查找PC微信数据库句柄
数据库句柄和函数偏移会随应用版本、编译方式和地址随机化发生变化。本文只用于自有程序或明确授权的兼容性研究,不应读取、修改或传播他人聊天数据。
IDA定位PC微信sqlite3_exec
二进制版本变化后,函数地址和特征都会改变,固定偏移不能跨版本直接使用。本文仅适用于自有程序或获得授权的兼容性与安全分析,操作前应核对模块版本和加载基址。
OllyICE_1.10 调试sqlite3
下载 OllyICE https://tool.kanxue.com/index-detail-1.htm
下载 IDA https://tool.kanxue.com/index-detail-6.htm
调试器中看到的地址与机器码只对应特定构建和加载环境,编译选项变化就可能失效。本文适用于自有程序或授权研究,固定特征不能作为长期稳定接口。
windows cpp 编译sqlite3
SQLite 提供 amalgamation 单文件源码,适合直接加入 C/C++ 项目。编译时要统一运行库、字符集和目标架构,并保留实际 SQLite 版本用于问题追踪。
磁盘空间突然不足时,通常需要先定位占用空间较大的文件。Linux 可以组合使用 find、du 和 sort,快速找出指定目录中的大文件。
Ubuntu22.04安装pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv && src/configure && make -C src
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
. ~/.bashrc
pyenv 通过源码编译并切换用户级 Python 版本,不会替代系统 Python。不要删除发行版自带解释器,否则 apt 和系统工具可能无法运行。
Frida 使用小技巧
var o = Java.use("com.tencent.mm.o").$new();
o.a.value = 1;
Frida 的 Java API 操作需要在 Java.perform 回调中进行,并准确选择方法重载签名。示例适合分析自有 Android 应用的运行行为,不应绕过第三方应用的安全控制。
解密Android某信聊天记录
frida, frida-tools, adb 本文仅用于自有设备、测试账号和获得明确授权的数据恢复与安全研究。不要访问他人设备、绕过访问控制或传播隐私数据;实验前应备份原始文件并在隔离副本上操作。
JavaScript 模板字符串适合在代码中直接插入变量,但如果模板来自配置文件、接口或数据库,就需要在运行时根据对象替换 ${name} 形式的占位符。
安装PaddleSpeech
python: 3.8.10
pip install paddlepaddle==2.4.2
git clone -b r1.2 https://gitee.com/paddlepaddle/PaddleSpeech
cd PaddleSpeech
pip install pytest-runner -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install uvicorn==0.18.3
语音工具链对 Python、深度学习框架、CUDA、驱动和系统架构的版本组合较敏感。建议使用独立虚拟环境,并先验证 CPU 版本流程,再按硬件条件配置 GPU。