![]()
Hextrim è una piccola utility da terminale che svolge una semplice operazione che stranamente non è svolta da nessun tool standard di unix.
Hextrim usa come input lo stdin e lo copia sullo stdout rimuovendo le occorrenze della stringa binaria presentata in esadecimale come parametro.
Hextrim è publicato sotto licenza Gnu GPL
![]()
Hextrim is a simple tool that executes a simple task curiosly not performed by any unix standard tool.
Hextrim use stdin as input and copy it to stdout cutting out every matches of the bynary string given as parameter.
Hextrim is given under the Gnu GPL license
Download Source [hextrim-0.2.tar.bz2]
Download binary (linux x86) [DOWNLOAD]
Esempio d’uso
cat foo.dat | hextrim 1CAFFE >> bar.dat
Note sull’implementazione
Il codice è scritto in c/c++ standard ansi (niente stl tralaltro).
la ricerca all’interno del pattern è effettuata un algoritmo di backtrack che genera una rete a stati finiti in cui sono descritti i collegamenti che portano direttamente al riconoscimento del pattern e i vari salti all’indietro da effettuare in caso di errori.
La tabella dei salti è generata analizzando le ridondanze interne al pattern
Questo algoritmo è stato sviluppato da Knut, Morris e Pratt nel 1977 e permette di eseguire la ricerca in tempo O(n+k) dove n è la lunghezza del testo e k la lunghezza del pattern
Però non riesco a capirne l’utilità…
Da: The Black Voice su Maggio 27, 2009
alle 10:18 am
mi è capitato ti voler estrarre delle stringhe da un file binario, e avvolte in mezzo alla stringa c’era una sottostringa binaria che andava rimossa.
quindi ho scritto questo tool.
Da: thedarshan su Maggio 27, 2009
alle 12:11 pm