Salta ai contenuti

Relyze - Cheatsheet Disassembler Interattivo & Diff

Relyze - Cheatsheet Disassembler Interattivo & Diff

Relyze è una piattaforma commerciale di disassembly, decompilazione e diffing binario interattiva per software nativo, supportando x86, x64, ARM32 e ARM64. Analizza i binari PE/ELF in funzioni e grafi di flusso di controllo, fornisce un decompilatore per recuperare pseudocodice di alto livello, e include un potente motore di diff binario per confrontare due versioni di un binario — prezioso per patch analysis e tracking delle varianti di malware. È estensibile tramite un framework di plugin/scripting Ruby. Un”edizione gratuita non commerciale è disponibile.

Installazione

PassaggioNote
DownloadOttieni l”installer dal sito ufficiale (Windows)
EdizioniFree (non-commercial) e Professional
Primo avvioConfigura il decompilatore e le opzioni di analisi
PluginScripting Ruby disponibile out of the box

Flusso di Lavoro di Analisi

AzioneDescrizione
Apri un fileAnalizza un binario PE o ELF in funzioni/CFG
Vista FunzioniScorri le funzioni scoperte
Vista GrafoGrafo di flusso di controllo della funzione selezionata
DecompilatoreRecupera pseudocodice simile a C per una funzione
StringheElenca le stringhe referenziate e i loro xref
Imports/ExportsIspeziona le tabelle di import/export
Cross-referencesSalta a dove una funzione/dato è usato

Essenziali di Navigazione

TaskCome
Rinomina un simboloSelezionalo e rinomina (propagazione a xref)
CommentoAnnota istruzioni/funzioni
Segui una callDoppio-click su un target di call
Vai a indirizzoCasella di navigazione dell”indirizzo
Cambia vistaAttiva/disattiva disassembly / grafo / decompilatore

Diffing Binario

Il motore diff di Relyze confronta le funzioni tra due binari e le classifica come identiche, cambiate, aggiunte o rimosse — il flusso di lavoro principale per analizzare una patch di sicurezza o confrontare campioni di malware.

TaskCome
Inizia un diffApri binario A, poi diff contro binario B
Funzioni MatchateRivedi le funzioni accoppiate nei due build
Funzioni CambiateFocalizzati su funzioni il cui codice è diverso
Aggiunte/rimosseVedi cosa la patch ha introdotto o cancellato
Port annotationsTrasporta nomi/commenti da un build al prossimo

Pattern di patch analysis: diff i binari pre-patch e post-patch, concentrati sul piccolo insieme di funzioni cambiate, e studia cosa il vendor ha aggiustato per capire la vulnerabilità sottostante.

Scripting Ruby

Relyze espone il suo modello di analisi a Ruby per l”automazione.

# Concettuale: itera le funzioni e segnala quelle grandi
model = Relyze::Engine.instance.active_model
model.functions.each do |func|
  if func.instructions.length > 500
    puts "Large function at #{func.address.to_s(16)}"
  end
end
UsoEsempio
Bulk renamingApplica euristiche di naming tra le funzioni
Custom analysisRileva pattern (costanti crypto, gadget)
Export dataDump di funzioni/stringhe a file
Automate diffingScript per confronti tra molti campioni

Flussi di Lavoro Comuni

ObiettivoApproccio
Comprendi una patch di sicurezzaDiff pre/post binari → studia le funzioni cambiate
Triage di un campione nativoStringhe + imports → decompila funzioni sospette
Track varianti di malwareDiff nuovo campione contro un membro della famiglia noto
Recupera logicaUsa il decompilatore + rinomina/commento per ricostruire l”intento

Relyze vs Altri Disassembler

AspettoRelyzeIDA ProGhidraBinary Ninja
DecompilatoreSì (Hex-Rays)
Binary diffBuilt-inAdd-on (BinDiff)PluginPlugin
ScriptingRubyPython/IDCJava/PythonPython
CostoFree + ProCommercialFreeCommercial

Risorse