Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PedroSilva

Como manipular/editar arquivos .bin igual via Hex?

Recommended Posts

Olá pessoal, queria saber como funciona a manipulação/edição/modificação de arquivos .bin da mesma forma que via Hex.

Tipo assim, abro esses arquivos .bin no Hex Workshop e faço as alterações que eu quero e depois salvo o arquivo modificado.

Depois importo eles para o jogo (São arquivos de um jogo de PS2) e funciona normal com as alterações dos arquivos via Hex.

Então é isso, queria criar um programa que fizesse essas alterações, no caso um programa editor desse jogo.

Eu já sei o passo à passo de cada modificação e etc dos arquivos, então quero que o programa faça o trabalho por mim.

Agradeço qualquer informação, um Abraço! 
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por TommyOne
      Boa noite, bom eu tenho o site do meu servidor e a galera gosta de colocar cor HEX no nome para que no jogo fique bonito, mas no site fica todo cagado, eu gostaria de saber se tem como eu fazer para o site reconhecer esse estilo de cor, ao invés dele mostrar o código mostrar a cor em si,



      O nome ai é: Gabriell Henrique colorido mas como podem ver ele mostra o código de cor, eu gostaria que ficasse a cor.
    • Por cgm2k7
      Olá pessoal mais uma vez eu aqui pedindo ajuda..
      É o seguinte estou desenvolvendo um aplicativo e preciso visualizar os arquivo que usuário está editando em Hex e ASCII, assim com na imagem veja abaixo:

      Exatamente como na imagem só que em um memo ou qualquer outro componente. Achei este código na net mas não estou conseguido adapta-lo para abrir em um memo. Se alguém pude me ajudar... Agradeço.

      # include <cstdlib> # include <iostream> # include <iomanip> # include <fstream> # include <ctime> using namespace std; int main ( long argc, char *argv[] ); void handle ( char file_in_name[] ); void timestamp ( void ); int main ( long argc, char *argv[] ) {   char file_in_name[80];   int i;   bool VERBOSE = true;   if ( VERBOSE )   {     timestamp ( );     cout << "\n";     cout << "HEXDUMP:\n";     cout << "  C++ version\n";     cout << "\n";     cout << "  Compiled on " << __DATE__ << " at " << __TIME__ << ".\n";     cout << "\n";     cout << "  Produce a hexadecimal dump of a file.\n";   } // //  If the input file was not specified, get it now. //   if ( argc <= 1 )   {     cout << "\n";     cout << "HEXDUMP:\n";     cout << "  Please enter the name of a file to be analyzed.\n";     cin.getline ( file_in_name, sizeof ( file_in_name ) );     handle ( file_in_name );   } // //  Otherwise, get the file(s) from the argument list. //   else   {     for ( i = 1 ; i < argc ; ++i )     {       handle ( argv[i] );     }   }   if ( VERBOSE )   {     cout << "\n";     cout << "HEXDUMP:\n";     cout << "  Normal end of execution.\n";     cout << "\n";     timestamp ( );   }   system("pause");   return 0; } void handle ( char file_in_name[] ) {   long int addr;   unsigned char buffer[20];   long int cnt;   long int cnt2;   ifstream file_in;   long n; // //  Open the file. //   file_in.open ( file_in_name );   if ( !file_in )   {     cout << "\n";     cout << "HANDLE - Fatal error!\n";     cout << "  Cannot open \"" << file_in_name << "\"\n";     return;   }         cout << "\n";   cout << "Hexdump of \"" << file_in_name << "\":\n";   cout << "\n";   cout <<     "Address               Hexadecimal values                  Printable\n";   cout <<     "-------  -----------------------------------------------  -------------\n";   cout << "\n"; // //  Dump the file contents. //   addr = 0;   while ( 1 )   {     file_in.read ( ( char * ) buffer, 16 );     cnt = file_in.gcount();     if ( cnt <= 0 )     {       break;     } // //  Print the address in decimal and hexadecimal. //     cout << setw(7) << ( int ) addr << "  ";     addr = addr + 16; // //  Print 16 data items, in pairs, in hexadecimal. //     cnt2 = 0;     for ( n = 0; n < 16; n++ )     {          cnt2 = cnt2 + 1;       if ( cnt2 <= cnt )       {         cout << hex << setw(2) << setfill ( '0' ) << ( int ) buffer[n];       }       else       {         cout << "  ";       }       cout << " ";     }     cout << setfill ( ' ' ); // //  Print the printable characters, or a period if unprintable. //     cout << " ";     cnt2 = 0;     for ( n = 0; n < 16; n++ )     {       cnt2 = cnt2 + 1;       if ( cnt2 <= cnt )       {         if ( buffer[n] < 32 || 126 < buffer[n] )         {           cout << '.';         }         else         {           cout << buffer[n];         }       }     }     cout << "\n";     cout << dec;     if ( file_in.eof ( ) )     {       break;     }   }   file_in.close ( );   return; } void timestamp ( void ) { # define TIME_SIZE 40   static char time_buffer[TIME_SIZE];   const struct tm *tm;   size_t len;   time_t now;   now = time ( NULL );   tm = localtime ( &now );   len = strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm );   cout << time_buffer << "\n";   return; # undef TIME_SIZE }
    • Por fernandohrp
      Boa tarde a todos!
      Estou desenvolvendo um software que se comunica com uma balança toledo.
      Eu instalei uma extensão no xampp ( direct io) que faz essa comunicação.
      Estou conseguindo comunicar normal com a balança.
      Como protocolo, preciso enviar um ASCII (05) ou seja, um parametro ENQ para a balança, então ela me retorna o peso.
      Mas, como fazer isso em php?
      Através de um terminal de testes, eu consigo fazer isso:
      - no programa eu digito: "05" , e seleciono a opção "hex" e ele envia essa hex para a balança e imediatamente me retorna o peso dentro do próprio programa.
      Mas em linguagem php não sei como isso pode funcionar.
       
      Resumindo: Preciso mandar um Hex(05) para a balança.
      Mas como faço um atributo com esse valor em php?
       
      Muito obrigado desde já!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.