executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
re-license授权验证逻辑分析:注册校验定位。触发词:注册码、授权验证、license、序列号校验、破解定位
Independent GitHub snapshot · Automated classification · Original documentation governs
apt install gdb / dnf install gdb / pacman -S gdb,验证 gdb --version;Wine 直读:wine sample.exe 运行后 gdb -p <pid> attach([[re-analyze/platform-tips]] Linux 分支)brew install lldb,验证 lldb --version;attach 前检查 Developer Tools 授权([[re-analyze/platform-tips]] macOS 分支)apt install ghidra / dnf install ghidra / pacman -S ghidra / brew install --cask ghidra,验证 analyzeHeadless -help(安装细节见 [[re-ghidra]])idat,命令见该技能)、[[re-radare2]](安装矩阵见该技能,安装后以 rizin -v 验证)apt install binutils / dnf install binutils / pacman -S binutils(多数自带)strings.exestrings --versionapt install strace ltrace,验证 strace --version;观察注册表(Wine 下)/ 文件 / API 调用(详见 [[re-tracing]])按顺序执行,每步记录结果(校验点地址 + 证据路径,见 [[re-triage]])。产物:全部校验点清单 + 校验算法,交给 [[re-patching]] / [[re-keygen]]。
字符串 / API 交叉引用定位校验函数:
strings -n 5 sample.exe | grep -iE 'register|serial|license|invalid|activation|trial|key' | head -50
strings -el sample.exe | grep -iE 'register|serial|license' | head -20 # UTF-16LE(Windows 常见)
x / rizin axt @ str.*)——看它被哪个函数引用:弹窗/输入框附近的引用函数就是候选校验函数(MessageBox 类"Invalid registration code"、注册对话框、注册表读取 RegOpenKeyExW / RegQueryValueExW、GetVolumeInformationW 机器码读取)MessageBox / Reg* / GetVolumeInformation / GetSystemTimeAsFileTime,反编译引用函数;Linux 目标用 ltrace 观察 strcmp / 文件读取调用([[re-tracing]])调用图与校验分支(成功 / 失败跳转):
jz / jnz 到成功或失败处理)。失败路径特征:MessageBox 报错、置注册标志为假、调用 ExitProcessbreak <addr> 后 si 跟跳转;[[re-x64dbg]]:bp <addr> 后看标志位算法还原(对比 / 解密 / 签名验证):
strcmp / 逐字节比较 → 序列号与固定值或动态派生值比较,还原派生计算(可能是 [[re-crypto-id]] 的 XOR / 查表 / 简单变换)RSA_verify / ECC 验签 → 算法不可逆,正推生成不可能 → 报告给网关转 [[re-patching]](见坑 4)在线激活 vs 离线校验区分:
InternetOpen* / WinHttp* / socket)、激活流程有"输入序列号 → 联网 → 返回激活码"、字符串含服务器 URL / "activation failed"机器码绑定识别:
GetVolumeInformationW(卷序列号)、GetComputerNameW、GetUserProfileDirectoryW、Windows 注册表 MachineGuid、Linux /etc/machine-id 读取授权模型识别(处置路线决定):
时间型校验(有效期):
GetSystemTimeAsFileTime / GetLocalTime,Linux time() / gettimeofday——xref 到比较逻辑(> 到期时间)证据核对(收尾):