Programs like 7-zip and PeaZip both have an unusual feature: Ability to explore NT paths that Windows Explorer will refuse to load.
You can go to a path like "\\?\Harddisk0Partition2\" in 7-zip file manager or PeaZip. On my PC, that happens to be the EFI partition. (Need to run as Admin before it lets you access the EFI partition)
Sysinternals WinObj will let you see all the paths in the NT Object Namespace. To convert an NT Object Namespace path into a standard Windows path, put "\\?\GLOBALROOT\" at the beginning of the path. Windows Explorer and the File Dialogs will refuse to open such paths, but many Win32 applications will accept those paths as command line arguments.
Not so much "refuse", but lacking code to go down those paths. ReactOS includes built-in shell extensions to browse native NT device paths and the registry right in Explorer. Its same shell extensions can even be installed on Windows to achieve the same thing in Microsoft's Windows Explorer :)
Currently using it under Linux because it's able to extract the malformed large zip files generated by onedrive, that give a corrupted file error when you try to open them using the native file extractor. See https://www.bitsgalore.org/2020/03/11/does-microsoft-onedriv...
I've been using this for over a decade. I keep using it because it extracts files directly where you want them, instead of extracting to a temp folder, then copying to where you want, multiplying IO traffic by up to 2. It also lets me use 7z files with zstd compression, though I'm not sure which other software supports it.
Moving files from one directory to another directory on the same filesystem doesn't actually result in any data getting moved, only the directory entries are changed
The trick to do it using the default 7zip file manager is to open the .7z file in the manager (double clicking it, not right clicking it), and extract the archive whenever you want it - it will be extracted straight there with no transition using temporary folder.
Edit: just noticed it was mentioned in other reply, but as aunpack, a symlink to atool. I got used to the -x|-l|-a|... style and rarely remember the alternative names.
PeaZip is great software, and doubly so because it is written using Lazarus and compiled with Free Pascal. I highly recommend giving it a try, if only to experience that high quality software can be built using tools that lead you somewhat off the beaten path.
Unfortunately, its lead developer has recently posted[0] that he has to undergo what seems to be complicated, major eye surgery, and that he will probably be unable to continue development :(
I don't know if this is better, but 7zips developer has an unnerving track record when it comes to security practices. He resisted adopting basic mitigations like DEP and ASLR for a long time, only relenting after a security researcher basically begged him to after finding arbitrary code execution exploits, and he still doesn't want to use any more advanced hardening techniques because they (slightly) bloat the binary size or have a (tiny) performance overhead.
I'm all for lean software but breaking ASLR by stripping the relocation tables, just to shave a few kilobytes off an executable which is primarily intended to parse untrusted files is just reckless.
I've sworn by 7zip since forever and I still use it primarily, but I'd recommend peazip to anybody who wants 7zip but with a better, more convenient GUI (and workflow/behavior). I still think about switching back to peazip (only used it for a few months), but old habits die hard.
I hate that PeaZip does not support passwords with a quotation mark (") in the UI. I haven't reviewed the code, but I am assuming that they are neither passing the password via a variable (linked library) nor via an execve call (less secure), but via some sub-shell which is a common attack vector and bad security practice. But as I said, I haven't reviewed the code.
1. Command to unquarantine in docs is wrong. It should be `xattr -d com.apple.quarantine /Applications/peazip.app` not `xattr -dr com.apple.quarantine /Applications/peazip.app`
2. Not available via homebrew
3. Can't open issues, neither on Github nor sourceforge
LOVE peaZip! What I especially like about it is in my experience it’s been very portable on linux, and the gui has always been portable as well. (it works on Tails - so it’s great for putting onto a USB stick that contains encrypted zip / veracrypt archives for when you need to access those on an air gap d machine.)
I've been using Ark on Linux for some time now, but have always heard people sing PeaZip's praises, curious if anyone has any experience or preference between the two.
> Offer two factor authentication (password + keyfile) for all formats supporting encryption, to increase security against guessing and dictionary based attacks on weak passwords.
uhhh, that’s not how symmetric encryption works. We have salted password-based (PB) KDFs for exactly this purpose.
Encryption probably doesn’t belong in the compression container format.
The quote is correct. It does not say they're not using a KDF or salting, which you seem to read into it? The keyfile is the "something you have" and the password "something you know", so two-factor checks out, even if it's not a time-based token that people expect nowadays (though TOTP is essentially the same but on another device, extracting time-based short codes from the long key to make it convenient to type over). No matter how good your KDF, a weak or reused password can still be crackable, so a key file can make sense even if you use a salted KDF
[+] [-] Dwedit|1 year ago|reply
You can go to a path like "\\?\Harddisk0Partition2\" in 7-zip file manager or PeaZip. On my PC, that happens to be the EFI partition. (Need to run as Admin before it lets you access the EFI partition)
Sysinternals WinObj will let you see all the paths in the NT Object Namespace. To convert an NT Object Namespace path into a standard Windows path, put "\\?\GLOBALROOT\" at the beginning of the path. Windows Explorer and the File Dialogs will refuse to open such paths, but many Win32 applications will accept those paths as command line arguments.
[+] [-] chungy|1 year ago|reply
[+] [-] Qem|1 year ago|reply
[+] [-] theandrewbailey|1 year ago|reply
[+] [-] shawnz|1 year ago|reply
[+] [-] baal80spam|1 year ago|reply
[+] [-] Adj_and_Styles|1 year ago|reply
https://www.nongnu.org/atool/
Edit: just noticed it was mentioned in other reply, but as aunpack, a symlink to atool. I got used to the -x|-l|-a|... style and rarely remember the alternative names.
[+] [-] c0l0|1 year ago|reply
Unfortunately, its lead developer has recently posted[0] that he has to undergo what seems to be complicated, major eye surgery, and that he will probably be unable to continue development :(
[0]: https://old.reddit.com/r/PeaZip/comments/1bn7pu0/communicati...
[+] [-] MaxBarraclough|1 year ago|reply
https://gautiersblog.blogspot.com/2024/03/benchmarking-gener...
[+] [-] stefanos82|1 year ago|reply
[+] [-] bozey07|1 year ago|reply
[0] https://github.com/cheat-engine/cheat-engine
[+] [-] deaddodo|1 year ago|reply
I remember back in my Pascal-loving days, especially after the .NET release of VB, looking at PeaZip+Lazarus and being inspired.
[+] [-] zoom6628|1 year ago|reply
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] exposition|1 year ago|reply
[1] https://github.com/ybirader/pzip
Disclaimer: I’m the author
[+] [-] hgyjnbdet|1 year ago|reply
[+] [-] causality0|1 year ago|reply
[+] [-] jsheard|1 year ago|reply
I'm all for lean software but breaking ASLR by stripping the relocation tables, just to shave a few kilobytes off an executable which is primarily intended to parse untrusted files is just reckless.
[+] [-] Sakos|1 year ago|reply
[+] [-] tux21b|1 year ago|reply
[+] [-] ementally|1 year ago|reply
[+] [-] eviks|1 year ago|reply
[+] [-] canistel|1 year ago|reply
[+] [-] Tijdreiziger|1 year ago|reply
[+] [-] croemer|1 year ago|reply
1. Command to unquarantine in docs is wrong. It should be `xattr -d com.apple.quarantine /Applications/peazip.app` not `xattr -dr com.apple.quarantine /Applications/peazip.app`
2. Not available via homebrew
3. Can't open issues, neither on Github nor sourceforge
[+] [-] victorio|1 year ago|reply
[+] [-] someonehere|1 year ago|reply
[+] [-] sigzero|1 year ago|reply
[+] [-] teo_zero|1 year ago|reply
[+] [-] bobbob1921|1 year ago|reply
[+] [-] synergy20|1 year ago|reply
[+] [-] gattilorenz|1 year ago|reply
[+] [-] aquova|1 year ago|reply
[+] [-] user20180120|1 year ago|reply
Did a quickish search
https://github.com/nakijun/peazip/issues/149
[+] [-] tahoeskibum|1 year ago|reply
[+] [-] seam_carver|1 year ago|reply
[+] [-] jojohohanon|1 year ago|reply
[+] [-] lucifer153|1 year ago|reply
[+] [-] sneak|1 year ago|reply
uhhh, that’s not how symmetric encryption works. We have salted password-based (PB) KDFs for exactly this purpose.
Encryption probably doesn’t belong in the compression container format.
[+] [-] lucb1e|1 year ago|reply
[+] [-] Retr0id|1 year ago|reply
[+] [-] Linda231|1 year ago|reply
[deleted]
[+] [-] lobito14|1 year ago|reply
[deleted]