Questions about *.a files on windows

  • Thread starter Thread starter hzp
  • Start date Start date
  • Tags Tags
    files Windows
Click For Summary

Discussion Overview

The discussion revolves around understanding the nature and contents of *.a files, particularly in the context of the Strawberry Perl environment on Windows. Participants explore the differences between static and dynamic libraries, the potential use of Unix-like tools on Windows, and the peculiarities of certain *.a files with non-standard headers.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants suggest that *.a files are Unix archive files, typically used as static libraries made from object code files.
  • Others mention that .lib files may represent dynamic libraries, contrasting with the static libraries indicated for *.a files.
  • A participant notes that the Strawberry Perl environment includes a minimalistic Unix-like environment and tools like "ar" to inspect *.a files.
  • There is mention of alternative tools, such as IZArc, that may handle *.a files on Windows.
  • One participant raises concerns about certain *.a files having different headers, suggesting they may be custom archives or obfuscated formats.
  • Another participant references external resources indicating that some files may be packed or compressed in a non-standard way, possibly related to gaming applications.

Areas of Agreement / Disagreement

Participants express differing views on the nature of *.a files, particularly regarding the existence of non-standard formats and the implications of their headers. There is no consensus on the exact nature of these files, and the discussion remains unresolved.

Contextual Notes

There are limitations in understanding the specific formats of the *.a files mentioned, particularly those with non-standard headers. The discussion also highlights the dependency on definitions and the potential for custom implementations that are not widely recognized.

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   Reactions: 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

  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 29 ·
Replies
29
Views
4K
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 18 ·
Replies
18
Views
2K
Replies
19
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K