0v0

joined 2 years ago
[–] 0v0@sopuli.xyz 5 points 5 months ago (1 children)

You can also run VirtualBox with KVM as a backend.

[–] 0v0@sopuli.xyz 25 points 7 months ago (7 children)

The attack worked, the password is cmF0dGEK.

This was obtained by generating 32 possible plaintexts for the first 10 bytes of system.zip (based on the different values in the headers of ~300 zip files on my system), plus three null bytes for the high bytes of compressed size, file name length and extra field length.

[–] 0v0@sopuli.xyz 20 points 7 months ago (1 children)

The inner zip files are just stored, uncompressed:

Archive: update.zip
Index Encryption Compression CRC32    Uncompressed  Packed size Name
----- ---------- ----------- -------- ------------ ------------ ----------------
    0 ZipCrypto  Store       d1bca061     65761967     65761979 system_lib.zip
    1 ZipCrypto  Deflate     64a3f383         2183          741 config.json
    2 ZipCrypto  Store       3731280f     89300292     89300304 app.zip
    3 ZipCrypto  Store       a2bd64f5    135518964    135518976 app_lib.zip
    4 ZipCrypto  Store       700eb186      5996410      5996422 system.zip

So 12 bytes from the original content.

[–] 0v0@sopuli.xyz 63 points 7 months ago (12 children)

The entries in update.zip are encrypted using the weak ZipCrypto scheme, which is known to be seriously flawed. If you feel motivated, and can guess at least 12 bytes of plaintext for an entry, it is possible to recover the internal state of the generator, which is enough to decipher the data entirely, as well as other entries which were encrypted with the same password. The bkcrack project implements this attack.

Since some of the entries are zip files themselves, it is within the realm of possibility to guess 12 bytes of plaintext. Parts of the zip local file header are pretty static, and you can use some of the values from the local file header of update.zip itself. Still, this would require a bit of luck / inspired guesswork.

[–] 0v0@sopuli.xyz 1 points 8 months ago

Options:

  • Just start it from the terminal with torsocks
  • Use application-specific proxy settings
  • Since torsocks simply uses LD_PRELOAD, you could try to make this apply globally by adding the torsocks library to ld.so.preload. Just put the path returned by torsocks show in /etc/ld.so.preload.
[–] 0v0@sopuli.xyz 2 points 8 months ago (2 children)

Either use the --proxy option of yt-dlp, or use torsocks to transparently torify any application.

[–] 0v0@sopuli.xyz 18 points 9 months ago

singlelogin.re still worked for me recently.

Source

[–] 0v0@sopuli.xyz 10 points 1 year ago
fn foo(x: i32) {
    match x {
        const { 3.pow(3) } => println!("three cubed"),
        _ => {}
    }
}

But it looks like inline_const_pat is still unstable, only inline_const in expression position is now stabilized.

[–] 0v0@sopuli.xyz 10 points 1 year ago (2 children)

It's because it has to work in pattern contexts as well, which are not expressions.

[–] 0v0@sopuli.xyz 7 points 1 year ago

According to Wikipedia:

In March or April 2023, it dimmed to magnitude 12.3. A similar dimming occurred in the year before the 1946 outburst, indicating that it will likely erupt between April and September 2024.

[–] 0v0@sopuli.xyz 12 points 1 year ago

Yes, for example, syncing on a kernel panic could lead to data corruption (which is why we don't do that). For the same reason REISUB is not recommended anymore: The default advice for a locked-up system should be SysRq B.

view more: next ›