Merge branch 'master' of https://forge.aztrom.fr/valentin/Hacks
This commit is contained in:
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
CHARSET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"
|
||||
KEY_SIZE = 32
|
||||
FIRST_SEED = 1354320000
|
||||
LAST_SEED = 1356998400
|
||||
DAY_DURATION = 86400
|
||||
BZ2_HEADER = b'\x42\x5a\x68'
|
||||
|
||||
def gen_key(seed):
|
||||
rand = seed
|
||||
key = [0]*KEY_SIZE
|
||||
for i in range(KEY_SIZE):
|
||||
rand = (rand * 214013 + 2531011) & 0xffffffff
|
||||
rand2 = (rand >> 16) & 0x7fff
|
||||
key[i] = CHARSET[rand2 % len(CHARSET)]
|
||||
return key
|
||||
|
||||
def decipher_bz2(data, key):
|
||||
out = bytearray()
|
||||
for i in range(len(data)):
|
||||
if i > 3 and out[0:3] != BZ2_HEADER:
|
||||
return None
|
||||
out.append(data[i] ^ ord(key[i % KEY_SIZE]))
|
||||
return out
|
||||
|
||||
f = open("oDjbNkIoLpaMo.bz2.crypt", mode="rb")
|
||||
data = f.read()
|
||||
f.close()
|
||||
seed = FIRST_SEED
|
||||
print(datetime.fromtimestamp(seed))
|
||||
while seed <= LAST_SEED:
|
||||
out = decipher_bz2(data, gen_key(seed))
|
||||
if out:
|
||||
f = open(f"out-{seed}.bz2", mode="wb")
|
||||
f.write(out)
|
||||
f.close()
|
||||
seed += 1
|
||||
if (seed - FIRST_SEED) % DAY_DURATION == 0:
|
||||
print(datetime.fromtimestamp(seed))
|
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
for f in out-*.bz2 ; do
|
||||
echo "Check file $f"
|
||||
if bunzip2 -c "$f" &> /dev/null ; then
|
||||
echo "$f is a BZ2 file !!!"
|
||||
echo "=> out"
|
||||
bunzip2 -c "$f" > out
|
||||
exit
|
||||
fi
|
||||
done
|
Reference in New Issue
Block a user