Vai al contenuto

Messaggi raccomandati

Inviato

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

  • 4 mesi dopo...
Inviato

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.

Inviato

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. 

Inviato

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..

Inviato

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?

Inviato

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

Inviato

ma tutto questo sbattimento per copiare 4bit ?

puoi benissimo farlo da qualsiasi hexeditor e usare il cerca.. non ha logica alcuna farlo script

Inviato

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

Inviato
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
Inviato

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

 

Inviato

scusa ma perché sbatterti in programmi che secondo me non c entrano nulla ma usa editor professuonal10 e il binbin compare che ti ho è legato per controllare e con quello che ti ho citato prima per fare modifiche 

Inviato

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..

Inviato

ovviamente lo fai per passione a tempo perso ed è solo un mio parere.. sei libero di farlo come vuoi eh :)

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...