Vai al contenuto

Programma per comparare File Hex/ascii


skeruya

Messaggi raccomandati

Buongiorno a tutti; 

sapreste indicarmi un programma (possibilemente free) per poter comparare file .bin ?

Attualmente quando devo comparare dei file uso il comparatore di UPA ma è abbastanza pessimo direi va bene solo se ci sono piccolissime differenze; 

Un saluto a tuti e grazie in anticipo

Link al commento
Condividi su altri siti

  • 4 mesi dopo...

Confrontando un File Ori e un file Mod di una 1.3 mjt con esito:

_________________________

Confronto in corso dei file ORIGINALE.bin e NOEGR.bin
00084750: 37 B9
00084751: AC 92

_________________________

Come posso creare un file batch che mi vada a modificare i due indirizzi su un terzo file sapendo che devo portare il primo a B9 e il secondo a 92? Mi spiego meglio... Se ho un file formula NOEGR voglio un programmino che modifichi il file ORIGINALE.bin in automatico.

Link al commento
Condividi su altri siti

Ho trovato questo codice...

 

xcopy NOEGRFORMULA.BIN ORIGINALE.BIN /K /D /H /Y

In pratica dovrebbe sovrascrivere il primo file già pronto con l'esclusione al file originale, l' ho testato e nella prova inversa funziona!

fc /b NOEGR.BIN ORIGINALE.BIN 

FC: nessuna differenza riscontrata

 

Quindi si potrebbe creare un archivio con tutte le Mappe già pronte per ogni tipo di hardware e software e con i vari programmini che gestiscono la modifica della mappa, magari aggiungendo anche una correzione checksum alla fine del processo.

 

PS.Ancora non ho le competenze per compilare applicazioni che gestiscono la ricerca degli hex e la loro modifica in automatico. 

Link al commento
Condividi su altri siti

Così non fai altro che giocare con gli stdin.. pensavo cercassi qualcosa di automatizzato .exe.. tali funzioni puoi anche scriptarli in hta (HTML base) e compilartelo in exe.. due variabili e una funzione.. molto blando..

Link al commento
Condividi su altri siti

Tramite batch non apri nulla, ti serve il vbscript col quale crei una gui..

Devi fare una array con 2 variabili per i file %ori e %mod e una terza variabile di %codice al quale va applicata la query nella variabile %ori e genera un sdtout su variabile %mod.

Sicuro di riuscirci?

Link al commento
Condividi su altri siti

Si potrebbe fare con questo?

dim inStream,outStream
const adTypeText=2
const adTypeBinary=1
 
set inStream=WScript.CreateObject("ADODB.Stream")
inStream.Open
inStream.type=adTypeBinary
 
inStream.LoadFromFile("c:\mybinaryfile")
 
set outStream=WScript.CreateObject("ADODB.Stream")
outStream.Open
outStream.type=adTypeBinary
 
buff=inStream.Read()
 
DoASearchAndReplace(buff)
 
outStream.Write(buff)
outStream.SaveToFile("c:\myeditedbinaryfile")
 
outStream.Close()
inStream.Close()
 
Function DoASearchAndReplace(bytestring)
 Rem For Example, change the 5 bytes 
 Rem beginning at the 734th byte
 Rem from "50 C1 3D 10 EF" 
 Rem to   "48 A1 FF 0B 7C"
End Function

Link al commento
Condividi su altri siti

Cmq se ti va di perderci tempo, il codice in vbs dovrebbe essere approsimativamente cosi:

Function qq(str)
  qq = Chr(34) & str & Chr(34)
End Function

Function AreDifferent(f1, f2)
  cmd = "%COMSPEC% /c fc /b " & qq(f1) & " " & qq(f2)
  AreDifferent = CBool(CreateObject("WScript.Shell").Run(cmd, 0, True))
End Function

in questa modalità hai 2 variabili, f1 e f2.

Il campo oggetto definito con "fc" per la funzione e l'stdout del campo differenze, che devi integrare in una terza variabile che sarebbe il file mod quindi f3 o come vuoi tu

Link al commento
Condividi su altri siti

5 ore fa, Tky ha scritto:

Cmq se ti va di perderci tempo, il codice in vbs dovrebbe essere approsimativamente cosi:


Function qq(str)
  qq = Chr(34) & str & Chr(34)
End Function

Function AreDifferent(f1, f2)
  cmd = "%COMSPEC% /c fc /b " & qq(f1) & " " & qq(f2)
  AreDifferent = CBool(CreateObject("WScript.Shell").Run(cmd, 0, True))
End Function

in questa modalità hai 2 variabili, f1 e f2.

Il campo oggetto definito con "fc" per la funzione e l'stdout del campo differenze, che devi integrare in una terza variabile che sarebbe il file mod quindi f3 o come vuoi tu

Ma questo script lo devo inserire nel File .hta?

Non ci sto capendo una mazza :'D

  • Haha 1
Link al commento
Condividi su altri siti

Tky gentilmente puoi correggermi questo VBS?

In pratica si apre la finestra Scegli File e voglio che quando seleziono il BIN me lo aprisse nel programmino Batch EGROFF.BAT

Option Explicit

Dim strFile

strFile = SelectFile( )

If strFile = "" Then 
    WScript.Echo "Nessun file selezionato"
Else
'    WScript.Echo """" & strFile & """"
End If


Function SelectFile( )

    Dim objExec, strMSHTA, wshShell

    SelectFile = ""

    ' For use in HTAs as well as "plain" VBScript:
    strMSHTA = "mshta.exe ""about:" & "<" & "input type=file id=FILE>" _
             & "<" & "script>FILE.click();new ActiveXObject('Scripting.FileSystemObject')" _
             & ".GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);" & "<" & "/script>"""
    ' For use in "plain" VBScript only:
    ' strMSHTA = "mshta.exe ""about:<input type=file id=FILE>" _
    '          & "<script>FILE.click();new ActiveXObject('Scripting.FileSystemObject')" _
    '          & ".GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);</script>"""

    Set wshShell = CreateObject( "WScript.Shell" )
    Set objExec = wshShell.Exec( strMSHTA )
    objShell.Run "egroff.bat cmd", 0

    SelectFile = objExec.StdOut.ReadLine( )
    wshshell.Run "%comspec% /c start egroff.bat"

    Set objExec = Nothing
    Set wshShell = Nothing

End Function

 

Link al commento
Condividi su altri siti

un mappazzone di script :blink:

Fai un passo in dietro.. stai facendo un bordello infinito...

Valuta prima di scrivere/copiare codice visto che devi definire di quante variabili necessiti alla funzionalità dello script, ovviamente legate alla quantità di istruzioni che vuoi integrare e vedere se è il caso di creare $Variabili o creare un sql per indicizzare il flusso di calcolo..

Devi applicare una policy di sviluppo tale che l'applicativo sia Single sign-on e non fare singoli applicazioni in cartella multi-thread.. non è un lavoro pulito a vista mia..

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

×
×
  • Crea Nuovo...