让Claude写的一个脚本,很强~ 你可以永远相信你克劳德鸽儿~脚本在附件 (需要pip安装capstone与keystone-engine,否则脚本反汇编会出错)下面是`cmp dword ptr [rsp], 0x12345678`一行代码的混淆结果:(有BUG,汇编正常,最后输出字节码的时候会丢失很多数据,以及偏移跳转错误,Claude没额度了,先这样吧)
C:\Users\Administrator\Downloads\新建文件夹>python obfuscator.py --input "81 3C 24 78 56 34 12" --hex-style spaced --const 2 --out both --level 3 --passes 2
╔══════════════════════════════════════════════════════╗║ x86-64 汇编混淆器 ║║ level=3 passes=2 max=无限制 seed=随机╚══════════════════════════════════════════════════════╝
输入: 7 bytes 原始hex: 81 3C 24 78 56 34 12
[ 反汇编结果 ] (后端: capstone 5.0.7)────────────────────────────────────────────────────────────── cmp dword ptr [rsp], 0x12345678
原始估算: ~4 bytes → 混淆后估算: ~151 bytes (膨胀率: 37.8x)
──────────────────────────────────────────────────────────────[ 混淆后 NASM 输出 ]──────────────────────────────────────────────────────────────; ============================================================; 混淆后 x86-64 汇编 (NASM syntax); 混淆强度: level=3 估算大小: ~151 bytes; ============================================================BITS 64
push r10 ; CMP常数混淆: 保存 r10 mov r10d, 0x7B3052E6 ; 常数混淆: 构造 0x7B3052E6 (step0/初始值) push rsi ; 花[OP-XOR] sub esi, esi ; ZF=1, 必然 or esi, esi pop rsi not r10d ; 常数混淆: step1/2 push rbx ; 花[FLAG噪声] and ebx, 0 or ebx, ebx ; ZF=1, 污染数据流 pop rbx not r10d ; 常数混淆: step2/2 push rdx ; 花[OP-XOR] and edx, 0 ; ZF=1, 必然 or edx, edx
回复或点赞可查看完整内容
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290195.htm