Questions about *.a files on windows

  • Thread starter Thread starter hzp
  • Start date Start date
  • Tags Tags
    files Windows
AI Thread Summary
The discussion centers on the nature of *.a files, which are identified as Unix archive files typically used for static libraries made from object code. Users are exploring how to open and inspect these files on Windows, particularly within the Strawberry Perl environment that includes Unix-like tools. The conversation reveals that some *.a files may contain different formats, with variations in headers indicating potential custom archives, possibly linked to game resources. Tools like the Unix command "ar" and utilities such as IZArc are suggested for accessing these files. The inquiry highlights the complexities of file formats and the potential for obfuscation in game development.
hzp
Messages
10
Reaction score
0
I downloaded strawberry pearl and I was looking through the library files, they are in .a files which according to google is a unix archive file type?

I have seen them in use in other places as well and I want to learn more about them, but I don't have unix running

How can I go about opening this types of files? To look at their contents

Thank you
 
Technology news on Phys.org
unix archive files can have any suffix, but the usual one is ".ar"
the .a files are likely "static libraries", sort of program fragments made from .o (object code) files.
http://tldp.org/HOWTO/Program-Library-HOWTO/static-libraries.html

To learn more about how UNIX does things, but without the expense, you could consider solaris or some form of linux.
 
Simon Bridge said:
unix archive files can have any suffix, but the usual one is ".ar"
the .a files are likely "static libraries", sort of program fragments made from .o (object code) files.
http://tldp.org/HOWTO/Program-Library-HOWTO/static-libraries.html

To learn more about how UNIX does things, but without the expense, you could consider solaris or some form of linux.

Thank you for the reply. There are other files I am interested in - they have a different header when I open them in a hex editor. For example the lib files
have "!<arch>./ ", and these particular files have variations on "ARCH000..1..ý..á", all beginning ARCH000, is this some kind of custom archive?
 
The .lib files may be "dynamic libraries" as opposed to the "static libraries" that Simon mentioned.
 
jtbell said:
The .lib files may be "dynamic libraries" as opposed to the "static libraries" that Simon mentioned.

Oh okay but my interests are the differences between these two files that have the same extension but seem to be different

The extension is .a
 
Well...I just googled "strawberry perl" is a Perl environment for Windows (downloaded and installed for the heck of it).

But (wikipedia) Perl was invented for Unix back in 1987...so, for they to provide you with as UNIX experience as possible on Windows, they have packaged a few things in your download package, including a minimalistic "unix-like" envrionment called MinGW (refer to installation directory C:\perl\c\i686-w64-mingw32\bin) and a bunch of unix utilities including the command "ar".

So, if you launch your perl command line, you actually have access to the "ar" command (you may need to specify full path to it) and you should be able to inspect one of those *.a file with command "ar tv filename.a" ...I did

If looks like the contents inside some of those *.a files is nothing else but *.dll files.

Anyway, read up on UNIX command "ar" to learn about *.a files.

Alternately, I seems that winzip-like Windows utility IZArc can handl *.a files, if that is easier...did not try this.
.
 
gsal said:
Well...I just googled "strawberry perl" is a Perl environment for Windows (downloaded and installed for the heck of it).

But (wikipedia) Perl was invented for Unix back in 1987...so, for they to provide you with as UNIX experience as possible on Windows, they have packaged a few things in your download package, including a minimalistic "unix-like" envrionment called MinGW (refer to installation directory C:\perl\c\i686-w64-mingw32\bin) and a bunch of unix utilities including the command "ar".

So, if you launch your perl command line, you actually have access to the "ar" command (you may need to specify full path to it) and you should be able to inspect one of those *.a file with command "ar tv filename.a" ...I did

If looks like the contents inside some of those *.a files is nothing else but *.dll files.

Anyway, read up on UNIX command "ar" to learn about *.a files.

Alternately, I seems that winzip-like Windows utility IZArc can handl *.a files, if that is easier...did not try this.
.

Yes this works for the first type of *.a files which seems to be the standard but these other *.a files the format is not recognized. The files I mentioned earlier with the same extension but different headers

Basically I'm trying to figure out if anyone has any knowledge of these different types of *.a files
 
Maybe you should attach the files so people can inspect them by themselves
 
gsal said:
Maybe you should attach the files so people can inspect them by themselves

Here you go buddy
 

Attachments

  • #10
Hhhhmmm...the heading sure does not match the specified " !<arch> " for the "ar" format.

Another google search seems to reveal that somebody is doing something on purpose that is not supported by any official tool...like packing certain things into games, obfuscating, compressing, etc., and making difficult to retrieve...I am not a gamer, so, I don't know these things...but read up on these two links:

zenhax thread

QuickBMS script shows the "ARCH000" that your file has.
 
  • Like
Likes harborsparrow
  • #11
gsal said:
Hhhhmmm...the heading sure does not match the specified " !<arch> " for the "ar" format.

Another google search seems to reveal that somebody is doing something on purpose that is not supported by any official tool...like packing certain things into games, obfuscating, compressing, etc., and making difficult to retrieve...I am not a gamer, so, I don't know these things...but read up on these two links:

zenhax thread

QuickBMS script shows the "ARCH000" that your file has.

Yes, you're exactly right! This is from the resource folder of The Binding of Isaac: Rebirth. Thank you for the information
 

Similar threads

Back
Top