察说花园

不浮躁、不轻浮。

分析一个 wechat Pad v08 协议的的 dll 文件

网上有部分编译产物, https://github.com/G5t4r/WeProtocol 源代码写了, 只能执行在 linux 和 windows 机器上。 根据提供的 v08.go 和 dynlib/linux.go 代码,我们已经知道了这个库的接口定义,这为分析提供了极大的便利。以下是尝试系统的分析和破解/还原路径 对于 clientsdk/v08/v08.go fu...

定位一个llvm19 关于控制流的性能分析

问题: autoDock 从llvm12编译器升级到llvm19之后,某个场景性能下降25%。 可以学习下llvm编译器后端的数据控制流分析。 在将 AutoDock-GPU 项目的编译器工具链从 LLVM 12 升级至 LLVM 19 后,我们在特定测试场景(7cpa)下观察到了约 25% 的性能下降。 通过 CUDA Profiler 初步定位,性能瓶颈锁定在核心 Kernel:g...

特斯拉数据记录

teslamate 是什么? TeslaMate 是一个给特斯拉车主用的 开源数据记录和可视化系统。 可以把它理解成:给你的特斯拉装了一个安静又勤奋的数据管家 📊🚗 它主要做三件事: 1️⃣ 自动记录车辆数据 只要你把 TeslaMate 跑起来,它会通过 特斯拉官方 API,持续记录: 行驶轨迹、里程 电耗、充电记录 电池衰减情况 停车时间、地点 速度、功率等 全程自动...

定位一个llvm19 升级带来的性能问题

问题: 在bitsandbytes里面,从llvm12升级到llvm19之后,部分性能下降。 matmul和double_quant,部分case性能下降6%~13%。 matmul的最后一个下降,13% 问题 思路是: 先复现这个问题,可以H列QA测试的结果保持一致。性能确实有回退。 先用内部工具,分析是哪一个kernel的占比耗时比较高。 这个工具可以参考cuda profiler...

是 web3 游戏管理员骗局,还是 游戏项目?

TL;DR 推特上有人邀请我做游戏社区管理员 → 给了激活码让我下载一款所谓的游戏 → Windows / macOS 都无法运行 → 网站和白皮书看似正规,但账号粉丝大多是机器人 → 运行后发现有加密脚本在本地生成文件 → 怀疑是骗局或恶意软件。 事情是这样的,前几天,我在推特上收到了一个私信,对方问我有没有兴趣做游戏社区的管理员。起初我并没有兴趣,就拒绝了。但后来他又说可以“先试试...

树莓派 4B 搭建 OpenWrt 热点 设置

这一篇文章是关于树莓派 4B 搭建 OpenWrt 热点的设置,主要是为了在树莓派上搭建一个热点,方便在没有网线的情况下连接到互联网。 也是为了自己后面再来看的时候,可以设置点,如何设置。 准备工作 硬件准备 首先是买一个免驱动的wifi网卡,拼多多不到20块钱一个。 树莓派4B,内存卡-8G 刷机 开始下载固件,这里由于树莓派的网卡是BCM的,就下载这个对应的版本就可以 下...

Foundry 工具初步探讨 - Forge

what’s Foundry Foundry 是用 Rust 编写的用于以太坊应用程序开发的快速、可移植和模块化工具包。 来自官网的介绍 Foundry consists of: Forge: Build, test, fuzz, debug and deploy Solidity contracts, like Hardhat, Brownie, Ape. Cast: A Swi...

智能合约 学习记录 1

初识 智能合约 各位区块链世界的冒险者们,今天我们来聊聊一个既神奇又有点”笨笨”的东西——智能合约。想象一下,如果自动售货机突然学会了编程,还能自动执行各种复杂的任务,那会是什么样子?没错,这就是智能合约的魔力所在! 首先,让我们来认识一下这个神奇的发明。智能合约是以太坊的一大创新,本质上就是运行在区块链上的程序。它就像是一个被严格管教的乖孩子,永远按照预设的规则行事,不会耍小聪明,也不...

LLVM 学习记录:编译器最佳实践 - 后端

SIMT 是什么意思? Single Instruction Multiple Threads” (SIMT) 单指令多线程。 在纯 SIMD 中,一条指令以完全相同的方式作用于所有数据。 在 SIMT 中,这一限制有所放松:可以激活或停用选定的线程,以便仅在活动线程上处理指令和数据,而在非活动线程上本地数据保持不变。 因此,SIMT 可以适应分支,尽管效率不高。给定以 if (条件)...

LLVM 快速入门 - 后端

如何快速的入门 llvm 后端? IDE工具 推荐一个工具clion:这个没有社区版的, 用付费的就可以, 其他的我不知道。 有个trace功能,1个函数调用路径,然后右键查看源码可以跳转到源码里面去。 操作系统 windoows, 不管是多大的项目,只要debug,几秒就可以调到断点的地方。 我用的m1电脑,编译慢,调试而慢,应该是对于debug没有优化,windwos是 de...