
Este es un pequeño plugin para copiar el desensamblado de una manera que sea utilizable en reglas de YARA.
Autor: alden
Copia el desensamblado con un formato adecuado para reglas de YARA.
Este es un plugin muy sencillo que te permite copiar el desensamblado de una manera que puede usarse en reglas de YARA. Tienes la opción de copiar el código ensamblador tal cual o usar comodines de direcciones para crear reglas más robustas.
Para copiar el desensamblado que desees, selecciónalo independientemente de la vista. A continuación, navega a Plugins > Copy for YARA > [Opciones]. El texto formateado resultante se copiará automáticamente al portapapeles.
Este formato intentará usar comodines en posibles tokens de dirección para hacer las reglas más robustas. Usa dos estrategias para lograrlo:
x86
49 8b 5e 08 // mov rbx, qword [r14+0x8]
48 8d bd 48 ff ff ff // lea rdi, [rbp-0xb8 {var_c0}]
4c 89 fe // mov rsi, r15
4c 89 f2 // mov rdx, r14
e8 ?? ?? ?? ?? // call sub_1000ca056
ARM
f7 03 01 aa // mov x23, x1
e0 03 01 aa // mov x0, x1
ca ?? ?? ?? // bl sub_100128728
f9 03 00 aa // mov x25, x0
f8 03 01 aa // mov x24, x1
9a ?? ?? ?? // bl sub_1001bd674
f9 03 00 36 // tbz w25, #0, 0x10012788c
Esto simplemente copiará los bytes del ensamblado de forma compacta, sin comentarios, si eso es lo tuyo.
49 8b 5e 08 48 8d bd 48 ff ff ff 4c 89 fe 4c 89 f2 e8 ff 0c 00 00
Copia todos los bytes con comentarios, pero sin comodines.
49 8b 5e 08 // mov rbx, qword [r14+0x8]
48 8d bd 48 ff ff ff // lea rdi, [rbp-0xb8 {var_c0}]
4c 89 fe // mov rsi, r15
4c 89 f2 // mov rdx, r14
e8 ff 0c 00 00 // call sub_1000ca056
Esto generará una regla completa rápida que podrás usar; en el futuro, los metadatos se podrán personalizar mediante ajustes.
rule binary_ninja_export {
meta:
description = "Auto generated by Binary Ninja YARA plugin"
architecture = "aarch64"
strings:
$bytes = { f7 03 01 aa e0 03 01 aa ca ?? ?? ?? f9 03 00 aa f8 03 01 aa 9a ?? ?? ?? f9 03 00 36 }
condition:
$bytes
}

Este plugin se publica bajo una licencia MIT.