this post was submitted on 26 Jul 2024
128 points (100.0% liked)

Technology

37742 readers
508 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] LibertyLizard@slrpnk.net 5 points 4 months ago (2 children)

How do these contain random files like this? Isn’t it just a file that applies some kind of visual effect to the media player?

[–] PythagreousTitties@lemm.ee 18 points 4 months ago (2 children)

They're zip files, with the extension renamed. So you could probably have almost anything in one.

[–] LibertyLizard@slrpnk.net 4 points 4 months ago (2 children)

Oh so they’re actually created the same way as a zip file? That makes sense I guess. Thanks.

[–] christophski 11 points 4 months ago (1 children)

It is literally a zip file. If I remember correctly you have to write some xml which describes the layout of the skin and then include any images you need, you then zip it and change the file extension to wsz. So really you could put anything in a skin.

[–] intensely_human@lemm.ee 4 points 4 months ago (1 children)

This is a common design pattern for “packages”.

Winamp uses a pattern called package management for its skins. Same as chrome extensions, etc etc. Most of the time we don’t call it that because the term is more reserved for package sets which provide a wider array of functionality. The iOS app store is a package management system.

The packages, much like boxes being handled by FedEx, contain standardized elements which allow that package management system to find and install the package. Much like how when you ship a box through FedEx the first thing they do is put standardized labels on that contain all the different barcodes that different parts of their process use to route the package.

Like with Chrome extensions, there are certain files that must be there (iirc something like a manifest.json file) and others which can be anything. If you need an image for a button, that image becomes part of the package. If you need a complex set of rules then maybe there’s a little sqlite file or csv file containing all the rules. Or font files, or whatever.

Thing is, the package format is defined by the “box” as opposed to by the “contents of the box”.

[–] theneverfox@pawb.social 1 points 3 months ago

Just to put this in context:

There's only so many ways to turn a bunch of files into one - mainly, you stick them back to back. Easy.

Then, there's an infinite ways to compress that file... You could come up with you own method, but what good is that? It's better and smarter to use a format already supported by your users

So of course most bundles are the same archive type under the hood. Everything from backups to installers - you shouldn't be inventing new formats without a damn good reason

[–] FaceDeer@fedia.io 4 points 4 months ago

A surprising number of "file formats" these days are really just zip files with a standard for the filenames and folders contained within. There's likely a ton of wonderful secrets like these to be found in the collective dataspace of humanity.

[–] Midnitte@beehaw.org 1 points 4 months ago (1 children)

Wonder how using a zip bomb works out...

[–] PythagreousTitties@lemm.ee 2 points 4 months ago

I was thinking of moving my "system32" porn archive into a winamp skin. Teenage me would be very proud

[–] Gaywallet@beehaw.org 10 points 4 months ago (1 children)

The author touches on this near the beginning-

Winamp skins are actually just zip files with a different file extension

So they're treating them like archives and extracting them

[–] driving_crooner@lemmy.eco.br 5 points 4 months ago (2 children)

Everything is just a zip file with a different extension

[–] morbidcactus@lemmy.ca 5 points 4 months ago

Seriously though, it's been some time be afaik any microsoft product file that ends in x, .docx, .xlsx, .pbix are all just archives and you can totally interact with them programmatically if you want. Really easy to corrupt them but hey, found it interesting years ago.

[–] NeatNit@discuss.tchncs.de 5 points 4 months ago (1 children)

I take issue with "everything", as most things are not. But it is a common trick when a developer wants to make a "new" file format that encapsulates a bunch of different files.

[–] driving_crooner@lemmy.eco.br 3 points 4 months ago* (last edited 4 months ago) (3 children)

Everything, including you, is a .zip file.

[–] Midnitte@beehaw.org 2 points 4 months ago (1 children)

Transcription is just unzipping your coding

[–] SteevyT@beehaw.org 2 points 4 months ago (1 children)

It's just .zip files all the way down

[–] adespoton@lemmy.ca 1 points 4 months ago

I just came here to say stuffit.