Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Conversor Hexadecimal a texto y .pak (https://www.clubdelphi.com/foros/showthread.php?t=41565)

Alfonsoft 19-03-2007 18:57:32

Conversor Hexadecimal a texto y .pak
 
Buenas,

¿Sabeis de algun conversor que introduciendo hexadecimal lo transforme a texto?

Otra cosa mas, con que programa se puede descomprimir un .pak?


Gracias,

seoane 19-03-2007 20:58:28

Cita:

Empezado por Alfonsoft
¿Sabeis de algun conversor que introduciendo hexadecimal lo transforme a texto?

Si te refieres a ver un archivo en hexadecimal, puedes usar el siguiente código:

Es una aplicación de consola:
Código Delphi [-]
program HexDump;

{$APPTYPE CONSOLE}

uses Windows, SysUtils;

function Min(i,j: Integer): Integer;
begin
  if i < j then
    Result:= i
  else
    Result:= j;
end;

procedure Dump(Filename: String);
var
  Buffer: array[1..16] of Byte;
  F: File;
  Leidos: Integer;
  i: Integer;
  Offset: Cardinal;
begin
  AssignFile(F,Filename);
  Filemode:= 0;
  {$I-}
    Reset(F,1);
  {$I+}
  if IOResult = 0 then
  begin
    Offset:= 0;
    while not Eof(F) do
    begin
      Write(IntToHex(Offset,8) + ':' + #32#32);
      BlockRead(F,Buffer,16,Leidos);
      for i:= 1 to Min(Leidos,8) do
        Write(IntToHex(Buffer[i],2) + #32);
      Write(#32);
      for i:= 9 to Min(Leidos,16) do
        Write(IntToHex(Buffer[i],2) + #32);
      for i:= Min(Leidos,16) + 1 to 16 do
        Write(#32#32#32);
      Write(#32 + '|');
      for i:= 1 to Min(Leidos,16) do
        if Char(Buffer[i]) in ['A'..'Z','a'..'z','0'..'9'] then
          Write(Char(Buffer[i]))
        else
          Write('.');
      Writeln('|');
      inc(Offset,Leidos);
    end;
    CloseFile(F);
  end;
end;

begin
  if FileExists(ParamStr(1)) then
    Dump(ParamStr(1));
end.

La salida del programa sera parecida a esta:
Código:

00000000:  4D 5A 90 00 03 00 00 00  04 00 00 00 FF FF 00 00  |MZ..............|
00000010:  B8 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00  |................|
00000020:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030:  00 00 00 00 00 00 00 00  00 00 00 00 E0 00 00 00  |................|
00000040:  0E 1F BA 0E 00 B4 09 CD  21 B8 01 4C CD 21 54 68  |...........L..Th|
00000050:  69 73 20 70 72 6F 67 72  61 6D 20 63 61 6E 6E 6F  |is.program.canno|
  ...

Si no era esto lo que buscabas, explica un poco mas lo que buscas.

Cita:

Empezado por Alfonsoft
Otra cosa mas, con que programa se puede descomprimir un .pak?

Según esta pagina, se trata de un archivo perteneciente a Quake.
http://www.filext.com/detaillist.php...&Search=Search

Si es así su estructura no parece muy complicada.
http://www.wotsit.org/list.asp?search=pak

Alfonsoft 19-03-2007 21:02:43

Gracias seoane,

No me he explicado bien, me referia a algun programa que transforme la salida que has puesto en hexadecimal a texto.


Y sobre los .pak, voy a ver que dicen esos links... ;)

seoane 19-03-2007 21:24:43

Cita:

Empezado por Alfonsoft
No me he explicado bien, me referia a algun programa que transforme la salida que has puesto en hexadecimal a texto.

Como diría Casimiro, esto en linux seria muy sencillo :p :D , con xxd por ejemplo.

Ahora en serio, como es el formato del hexadecimal. Ayudaríaue pusieras por aquí parte del texto que quieres convertir.

Alfonsoft 20-03-2007 01:00:08

El tema de extraer los graficos de los .pak lo he solucionado con un programa llamado FMV Extractor.

Sobre el tema de la conversion, veamos, es un archivo .fdi que lo he abierto con el Hex Workshop y me gustaria pasar a texto el codigo hexadecimal que me da. Que son filas asi:

0000 764A 0000 2900 0000 0B00 0000 009F 4A00 0016

Y más cosillas, podria conoces de alguna forma las tablas y campos que tiene un archivo .dbc de foxpro? No se si valdra abrirlo sin mas con foxpro ya que no lo tengo, pero imagino que tendra contraseña o algo.


La franja horaria es GMT +2. Ahora son las 17:34:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi