Program för att lägga ihop två bin-filer.

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Hedis
Inlägg: 2487
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Program för att lägga ihop två bin-filer.

Inlägg av Hedis »

Jag skulle behöva ett program för att kopiera ihop två stycken bin-filer.

Det är såhär att på ett stykort i en switch så har dom använt sig utav två stycken 29f040 för att skapa ett 16-bitars minne. Dom har alltså knutit ihop alla adressledningarna parallellt på bägge minnena och sedan plockat ut data-bitarna "i serie".

Nu när jag läst ur bägge eepromen så behöver jag få ihop dessa till en fil.

Jag behöver alltså få något program som kopierar byte 1 från 1.bin, sedan byte1 från 2.bin, sedan byte2 från 1.bin, byte2 från 2.bin osv.

Är det någon som vet något färdigt, eller som känner sig manad att slänga ihop något enkelt? (för windows-miljö)

Här är iaf filerna. http://hedis.ath.cx/temp/macromate/

Sen är frågan hur jag skapp behandla filen, men det blir nästa problem.

Det är en Macromate switch som jag har tappat lösen till. (eller jag ändrade lösen o det jag satte fungerar inte)
MFH-1824D/M är beteckningen på den. Jag behöver igentligen bara veta hur man nollställer user/passw. Men företaget svarar inte på mail och jag hittar ingen dokumentation på nätet.

Det som ligger i det eepromet lär vara "operativsystemet". Men det är ju komprimerat, så jag vet inte riktigt om man kan extrahera det.
Har även boot-programmet i ett annat eeprom.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Typ såhär?

Kod: Markera allt

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>

int main(int argc, char **argv)
{
   char buf[2];
   int fd1=open(argv[1],O_RDONLY);
   int fd2=open(argv[2],O_RDONLY);
   int fd3=open(argv[3],O_WRONLY|O_CREAT|O_TRUNC);
   

   assert(fd1>0 && fd2>0 && fd3>0);

   while(read(fd1,buf,1))
  {
      read(fd2,buf+1,1);
      write(fd3,buf,2);
   }


}
Osäker på om det går att kompilera med typ MSVC++, men under cygwin ska det väl iaf funka (mer hemma på *nix).

Körde det på dina "1.BIN" och "2.BIN" (två ggr, inte säker på vilken byte-ordning som är rätt ?)

http://area26.no-ip.org/linked/1_2.BIN
http://area26.no-ip.org/linked/2_1.BIN

edit: den första är nog korrekt, kör man "strings" på den får man upp en del intressant, typ filnamn och copyright-strängar:

"sys_info.htm"
"Ledp7SegIndic.class"
"GifBuilder 0.2 by Yves Piguet"
"Ulead GIF SmartSaver Ver 2.0"

osv...
Senast redigerad av cyr 7 maj 2005, 13:25:08, redigerad totalt 1 gång.
Användarvisningsbild
Hedis
Inlägg: 2487
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Jag skall kolla på dom.

Tack så mycket för hjälpen.

Finns det någon standard-algoritm (eller vad det nu kallas) som man komprimerar med? (man ser nämligen när man ansluter med console-kabeloch bootar den att den dekomprimerar både bootrom och systemet.
Användarvisningsbild
Hedis
Inlägg: 2487
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

1_2.bin är den rätta.
Här ser man att vissa bitar i filen är läsbar om man converterar den till ascii.
http://hedis.ath.cx/temp/macromate/ascii.txt
Öppna filen med tex. wordpad så får ni med radbrytning mm.

Frågan är hur man kommer åt dom bitarna. (och om det går att extrahera dom ur binärfilen)

Allt tjat om vfd ibland filerna är för att switchen har vfd-display med menysystem för config mm.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Finns det några seriella EEPROM i den?

Det känns som det mest logiska stället att lagra inställningar (som lösenord) tycker jag. Att lagra såna, komprimerat, i huvudflashet låter lite jobbigt.
Användarvisningsbild
Hedis
Inlägg: 2487
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Jo det finns 3st seriella eeprom, inget utav dom innehåller ngt däremot. (förutom ett som har mac-adress)

Däremot så sitter det ett 28c256 eeprom. I det lagrar den ip-inställningar, lösenordet för låsningen för editering via displayen.

Problemet är bara att det eepromet verkar ha tagit stryk när jag lödde loss det igår. Jag har inget nytt 28c256 i plcc så jag får vell löda dit en dil-sockel :)
Lösen för display-redigering blir iaf 0000 när det eepromet är nollat.
Om man då gör lite inställningar (ip,subnät, lösen) och startar om så håller den minnet, även om man plockar ut eepromet, men om man plockar ut det och läser ur det i programmmeraren så får man bara ut junk. När man sedan sätter tillbaka det så är allt minne tappat.

Det är ju mycket möjligt att den (och även ganska troligt) lägger user/passw för console/websidan i detta eeprom.

Frågan är då bara vad som är default när det har blivit nollat.

Jag har provat en massa olika. (såsom admin,root mfl)
Skriv svar